Parcourir la source

feat: 完整评测作业可以保存作品

TIANYONG il y a 8 mois
Parent
commit
c7487d07a6

+ 1 - 1
osmd-extended

@@ -1 +1 @@
-Subproject commit ad1bac53432a9f047fe939e070897e7a5897c25a
+Subproject commit 171236fa9c896ba1de9b84e327a226410947760d

+ 1 - 0
src/helpers/formateMusic.ts

@@ -370,6 +370,7 @@ export const onlyVisible = (xml: string, partIndex: number): string => {
 	const parts: any = xmlParse.getElementsByTagName("part");
 	// const firstTimeInfo = parts[0]?.getElementsByTagName('metronome')[0]?.parentElement?.parentElement?.cloneNode(true)
 	const firstMeasures = [...parts[0]?.getElementsByTagName("measure")];
+	state.totalMeasureNumber = firstMeasures.length || [...parts[1]?.getElementsByTagName("measure")]?.length
 	const metronomes = [...parts[0]?.getElementsByTagName("metronome")];
 	const words = [...parts[0]?.getElementsByTagName("words")];
 	const codas = [...parts[0]?.getElementsByTagName("coda")];

+ 1 - 0
src/page-instrument/custom-plugins/work-ealuating/index.tsx

@@ -52,6 +52,7 @@ export default defineComponent({
 				evaluatingWorkData.end = Number(trainingContent.practiceChapterEnd);
 				evaluatingWorkData.score = Number(trainingContent.trainingTimes);
 				state.userChooseEndIndex = evaluatingWorkData.end
+				state.isFullEvaluatWork = (evaluatingWorkData.end - evaluatingWorkData.start) + 1 === state.totalMeasureNumber;
 				// 设置小节
 				setSection(evaluatingWorkData.start, evaluatingWorkData.end, evaluatingWorkData.evaluateSpeed);
 			}

+ 2 - 2
src/page-instrument/evaluat-model/evaluat-result/index.tsx

@@ -85,8 +85,8 @@ export default defineComponent({
     const noSaveTips = computed(() => {
       let tipContent = '';
       const rate = state.basePlayRate * state.originAudioPlayRate; // 播放倍率
-      if (query.workRecord || state.section.length === 2 || state.isAppPlay || rate != 1 || !state.accompany) {
-        tipContent = query.workRecord ? '评测作业暂不支持保存作品噢~' : (!state.accompany || state.isAppPlay) ? '该曲目暂不支持保存作品噢~' : state.section.length === 2 ? '选段后暂不支持保存作品噢~' : rate != 1 ? '调速后暂不支持保存作品噢~' : '';
+      if ((query.workRecord && !state.isFullEvaluatWork) || state.section.length === 2 || state.isAppPlay || rate != 1 || !state.accompany) {
+        tipContent = query.workRecord ? '完整评测整首曲目才能保存作品哦!' : (!state.accompany || state.isAppPlay) ? '该曲目暂不支持保存作品噢~' : state.section.length === 2 ? '选段后暂不支持保存作品噢~' : rate != 1 ? '调速后暂不支持保存作品噢~' : '';
       }
       return tipContent
     })

+ 2 - 0
src/state.ts

@@ -586,6 +586,8 @@ const state = reactive({
   isWorkDone: false,
   /** xml的第一个measure标签的number */
   firstMeasureNumber: 1,
+  totalMeasureNumber: 0, // xml一轨总共的小节数
+  isFullEvaluatWork: false, // 是否是完整评测作业,完整评测作业可以保存作品
 });
 const browserInfo = browser();
 let offset_duration = 0;

+ 2 - 2
vite.config.ts

@@ -76,8 +76,8 @@ export default defineConfig({
         // target: "https://kt.colexiu.com",
         // target: "https://test.lexiaoya.cn",
         // target: "https://kt.colexiu.com",
-        target: "https://test.resource.colexiu.com", // 内容平台开发环境,内容平台开发,需在url链接上加上isCbs=true
-        //target: "https://test.kt.colexiu.com",
+        // target: "https://test.resource.colexiu.com", // 内容平台开发环境,内容平台开发,需在url链接上加上isCbs=true
+        target: "https://test.kt.colexiu.com",
         // target: "https://mec.colexiu.com",
         changeOrigin: true,
         rewrite: (path) => path.replace(/^\/instrument/, ""),