Ver Fonte

fix: 延迟检测bug修复

TIANYONG há 1 ano atrás
pai
commit
ad1e5c06a6

+ 1 - 0
src/page-instrument/evaluat-model/index.tsx

@@ -401,6 +401,7 @@ export default defineComponent({
     // 监听APP延迟成功的回调
     const handleFinishDelayCheck = async (res?: IPostMessage) => {
       console.log("监听延迟检测成功", res);
+      evaluatingData.socketErrorPop = false;
       if (res?.content) {
         evaluatingData.checkEnd = true;
         checkEarphoneStatus();

+ 7 - 3
src/page-instrument/simple-detail/index.tsx

@@ -1,5 +1,5 @@
-import { defineComponent, onMounted, onUnmounted, reactive } from "vue";
-import state, { getMusicDetail, handleSetSpeed, addNoteBBox, getNote, gotoNext } from "/src/state";
+import { defineComponent, onMounted, onUnmounted, reactive, nextTick } from "vue";
+import state, { getMusicDetail, handleSetSpeed, addNoteBBox, getNote, gotoNext, fillWordColor } from "/src/state";
 import MusicScore from "../../view/music-score";
 import styles from "./index.module.less";
 import { getQuery } from "/src/utils/queryString";
@@ -101,7 +101,11 @@ export default defineComponent({
 			setCustomGradual();
 			setCustomNoteRealValue();
 			state.times = formateTimes(osmd);
-			console.log("🚀 ~ state.times:", state.times, state.subjectId, state);
+			console.log("🚀 ~ state.times:", state.times, state);
+			nextTick(() => {
+				state.activeMeasureIndex = state.times[0].MeasureNumberXML;
+				fillWordColor();
+			})
 			// 音符添加位置信息bbox
 			addNoteBBox(state.times);
 			// 一行谱创建 动画

+ 6 - 2
src/state.ts

@@ -1359,7 +1359,11 @@ const setState = (data: any, index: number) => {
   // 声部code
   const subjectCode = data.subjectCodes ? data.subjectCodes.split(',')?.[0] : '';
   // 乐器code
-  let musicalCode = data.musicalInstrumentIdCodes ? data.musicalInstrumentIdCodes.split(',')?.[0] : '';
+  // let musicalCode = data.musicalInstrumentIdCodes ? data.musicalInstrumentIdCodes.split(',')?.[0] : '';
+  /**
+   * 单曲,指法根据用户当前的乐器来显示,如果没有则取musicSheetSoundList第一个track
+   */
+  let musicalCode = !storeData.user?.instrumentId ? data.musicSheetSoundList?.[0]?.track || '' : data.musicSheetSoundList?.find((item: any) => item?.musicalInstrumentId === storeData.user?.instrumentId)?.track || '';
   const pitchSubject = musicalInstrumentCodeInfo.find((n) => n.code.toLocaleLowerCase() === subjectCode.toLocaleLowerCase())
   const pitchMusical = musicalInstrumentCodeInfo.find((n) => n.code.toLocaleLowerCase() === musicalCode.toLocaleLowerCase())
   state.subjectCodeId = pitchSubject ? pitchSubject.id : 0
@@ -1613,7 +1617,7 @@ export const addNoteBBox = (list: any[]) => {
 }
 
 // 给歌词和音符添加动态颜色
-const fillWordColor = () => {
+export const fillWordColor = () => {
   // console.log('当前音符',state.activeNoteIndex)
   state.times.forEach((item: any, idx: number) => {
     const svgEl = document.getElementById(`vf-${state.times[idx]?.svgElement?.attrs?.id}`)

+ 1 - 0
src/view/evaluating/index.tsx

@@ -626,6 +626,7 @@ const handleAccompanyError = (res?: IPostMessage) => {
         }
         // 关闭节拍器
         closeTick();
+        api_closeDelayCheck({});
         evaluatingData.socketErrorStatus = 0;
         evaluatingData.socketErrorPop = type === "socketError" ? true : false;
         evaluatingData.isErrorState = true;

+ 6 - 0
src/view/music-score/index.module.less

@@ -40,6 +40,12 @@
             stroke: #FFC121;
         }
     }
+    .vf-stave {
+        path {
+            fill: rgba(255,255,255,0.5);
+            stroke: rgba(255,255,255,0.5);
+        }
+    }
     .vf-custom-rect {
         position: relative;
         // stroke: grey;

+ 1 - 1
src/view/music-score/index.tsx

@@ -95,7 +95,7 @@ export default defineComponent({
 				// pageBackgroundColor: '#609FCF',
 				renderSingleHorizontalStaffline: state.isSingleLine ? true : false,
 				autoGenerateMultipleRestMeasuresFromRestMeasures: state.isSingleLine ? false : true, // 连续休止小节是否合并显示
-				drawLyrics: (state.playType === 'sing' && state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
+				drawLyrics: (state.playType === 'sing' && !state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
 				// darkMode: true, // 暗黑模式
 				// pageFormat: 'A4_P',
 				// autoBeam: true,