Browse Source

Merge branch 'online' into iteration-20240111

lex 1 year ago
parent
commit
5022617682

File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-05c12068.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-0a15b5d5.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-46585d79.css


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-legacy-d008d3f3.js


+ 3 - 3
dist/index.html

@@ -26,8 +26,8 @@
   <script src="./flexible.js"></script>
   <script src="./abc2svg/xml2abc.js"></script>
   <script src="./abc2svg/jquery-1.11.1.min.js"></script>
-  <script type="module" crossorigin src="./assets/index-05c12068.js"></script>
-  <link rel="stylesheet" href="./assets/index-f91a9f6f.css">
+  <script type="module" crossorigin src="./assets/index-0a15b5d5.js"></script>
+  <link rel="stylesheet" href="./assets/index-46585d79.css">
   <script type="module">import.meta.url;import("_").catch(()=>1);async function* g(){};if(location.protocol!="file:"){window.__vite_is_modern_browser=true}</script>
   <script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy chunks, syntax error above and the same error below should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script>
 </head>
@@ -37,7 +37,7 @@
   
   <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
   <script nomodule crossorigin id="vite-legacy-polyfill" src="./assets/polyfills-legacy-a19b005e.js"></script>
-  <script nomodule crossorigin id="vite-legacy-entry" data-src="./assets/index-legacy-7ad55665.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
+  <script nomodule crossorigin id="vite-legacy-entry" data-src="./assets/index-legacy-d008d3f3.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
 </body>
 
 </html>

+ 3 - 0
src/pc/api.ts

@@ -32,6 +32,9 @@ export const api_musicSheetCreationUpdate = (data: any) => {
 export const api_subjectList = () => {
   return request.post(`/subject/list`);
 };
+export const api_musicalInstrumentList = (data: any) => {
+  return request.post(`/musicalInstrument/list`, { data, requestType: "json" });
+};
 
 /** 导入xml */
 export const api_xmlToAbc = (data: any) => {

+ 15 - 6
src/pc/component/upload-to-resources/index.tsx

@@ -1,6 +1,6 @@
 import { defineComponent, nextTick, onMounted, onUnmounted, reactive, ref, watch } from "vue";
 import ABCJS, { AbcElem, AbcVisualParams, ClickListenerAnalysis, ClickListenerDrag, NoteTimingEvent, SynthObjectController } from "abcjs";
-import { api_musicSheetCreationWav2mp3, api_musicSheetCreationSaveMusic, api_subjectList, api_musicSheetCreationUpdate } from "../../api";
+import { api_musicSheetCreationWav2mp3, api_musicSheetCreationSaveMusic, api_musicalInstrumentList, api_musicSheetCreationUpdate } from "../../api";
 import { NButton, NForm, NFormItem, NIcon, NModal, NProgress, NSelect, NSpace, useMessage } from "naive-ui";
 import styles from "./index.module.less";
 import { Close } from "@vicons/ionicons5";
@@ -36,6 +36,7 @@ export default defineComponent({
     });
     const froms = reactive({
       subjectId: null,
+      cbsMusicalInstrumentIds: null as any,
       isPublic: 0,
       mp3: "",
       musicImg: "",
@@ -43,7 +44,7 @@ export default defineComponent({
       musicJianSvg: "",
     });
     const getSubjects = async () => {
-      const { data } = await api_subjectList();
+      const { data } = await api_musicalInstrumentList({ page: 1 });
       model.subjects = data.map((item: any) => {
         return {
           label: item.name,
@@ -109,6 +110,11 @@ export default defineComponent({
         // console.log(props.item, model.subjects);
         const subjectId = model.subjects.length > 0 ? model.subjects[0].value : null;
         froms.subjectId = props.item.subjectId ?? subjectId;
+        const cbsMusicalInstrumentIds = model.subjects.length > 0 ? model.subjects[0] : null;
+        const cbsM = props.item.cbsMusicalInstrumentIds ?? cbsMusicalInstrumentIds;
+        froms.cbsMusicalInstrumentIds = cbsM ? Number(cbsM) : null;
+
+        console.log(froms.cbsMusicalInstrumentIds, "froms.cbsMusicalInstrumentIds");
       }
     );
 
@@ -120,8 +126,10 @@ export default defineComponent({
         musicSheetCategoriesId: "",
         audioType: "MP3",
         mp3Type: "MP3",
+        composer: props.item.creator,
         xmlFileUrl: str.url + "?t=" + new Date().getTime(),
         musicSubject: froms.subjectId,
+        cbsMusicalInstrumentIds: froms.cbsMusicalInstrumentIds,
         showFingering: 1,
         canEvaluate: 1,
         notation: 1,
@@ -233,7 +241,8 @@ export default defineComponent({
 
       await api_musicSheetCreationUpdate({
         id: props.item.id,
-        subjectId: froms.subjectId,
+        cbsMusicalInstrumentIds: froms.cbsMusicalInstrumentIds,
+        // subjectId: froms.subjectId,
         // filePath: props.item.filePath,
       });
 
@@ -280,8 +289,8 @@ export default defineComponent({
             </div>
             <NForm ref={fromRef} model={froms} class={styles.form} labelPlacement="left" showRequireMark={false}>
               <NFormItem
-                label="可用声部"
-                path="subjectId"
+                label="可用乐器"
+                path="cbsMusicalInstrumentIds"
                 rule={{
                   required: true,
                   type: "number",
@@ -289,7 +298,7 @@ export default defineComponent({
                   trigger: "change",
                 }}
               >
-                <NSelect to="body" disabled={model.saveLoading} placeholder="请选择素材可用乐器" options={model.subjects} v-model:value={froms.subjectId}></NSelect>
+                <NSelect to="body" disabled={model.saveLoading} placeholder="请选择素材可用乐器" options={model.subjects} v-model:value={froms.cbsMusicalInstrumentIds}></NSelect>
               </NFormItem>
               {/* <NFormItem label="是否公开">
 								<NSpace class={styles.checkbox} wrapItem={false}>

+ 11 - 6
src/pc/home/index.tsx

@@ -113,7 +113,7 @@ export default defineComponent({
       musicId: Date.now().toString(),
       musicName: "" as any, // 曲谱名称
       creator: "", // 创建者
-      subjectId: "", // 声部
+      cbsMusicalInstrumentIds: "", // 乐器
       speed: "",
       music: "",
       playState: false, // 播放状态
@@ -1469,7 +1469,7 @@ export default defineComponent({
         data.musicId = res.data.id || "";
         data.musicName = res.data.name || "";
         data.creator = res.data.creator || "";
-        data.subjectId = res.data.subjectId || "";
+        data.cbsMusicalInstrumentIds = res.data.cbsMusicalInstrumentIds || "";
         let abc = "" as any;
         try {
           abc = JSON.parse(res.data.creationData);
@@ -1550,7 +1550,7 @@ export default defineComponent({
             }),
             creationData: JSON.stringify(cleanDeep(abcData.abc)),
             id: query.id,
-            subjectId: data.subjectId,
+            cbsMusicalInstrumentIds: data.cbsMusicalInstrumentIds,
             // filePath: saveWav ? wavUrl : null,
             coverImg: pngUrl,
           });
@@ -1564,7 +1564,7 @@ export default defineComponent({
               showCreator: true,
             }),
             creationData: JSON.stringify(cleanDeep(abcData.abc)),
-            subjectId: data.subjectId,
+            cbsMusicalInstrumentIds: data.cbsMusicalInstrumentIds,
             // filePath: saveWav ? wavUrl : null,
             coverImg: pngUrl,
           });
@@ -1598,7 +1598,7 @@ export default defineComponent({
       const query = getQuery();
       const abc = decodeUrl(query.config);
       console.log("🚀 ~ abc:", abc);
-      data.subjectId = abc.subjectId || "";
+      data.cbsMusicalInstrumentIds = abc.cbsMusicalInstrumentIds || "";
       abcData.abc.celf = abc.celf ?? "K:treble";
       abcData.abc.key = abc.key ?? "K:C";
       abcData.abc.meter = abc.meter ?? "M:4/4";
@@ -2047,7 +2047,12 @@ export default defineComponent({
       // 由于没有保存wav文件这里需要在保存一次
       // await handleSaveMusic();
       const query = getQuery();
-      const res = await api_musicSheetCreationDetail(query.id);
+      // 判断是否有id,如果没有则先保存
+      if (!query.id) {
+        await handleSaveMusic(true);
+      }
+      const query2 = getQuery();
+      const res = await api_musicSheetCreationDetail(query2.id);
       if (res.data) {
         if (res.data.uploadStatus !== "YES") {
           data.item = { ...res.data, visualObj: abcData.visualObj, subjectCode: abcData.abc.subjectCode };

+ 2 - 2
vite.config.ts

@@ -48,8 +48,8 @@ export default defineConfig({
     // https: true,
     proxy: {
       "^/edu-app/.*": {
-        target: "https://test.lexiaoya.cn",
-        // target: "https://dev.kt.colexiu.com",
+        // target: "https://test.lexiaoya.cn",
+        target: "https://dev.kt.colexiu.com",
         changeOrigin: true,
         // rewrite: (path) => path.replace(/^\/edu-app/, ""),
       },

Some files were not shown because too many files changed in this diff