Browse Source

feat: 开始评测异常流程处理

TIANYONG 1 year ago
parent
commit
c8f04e8c8a
2 changed files with 34 additions and 11 deletions
  1. 21 2
      src/page-instrument/evaluat-model/index.tsx
  2. 13 9
      src/view/evaluating/index.tsx

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

@@ -7,7 +7,7 @@ import state, { handleRessetState, resetPlaybackToStart, musicalInstrumentCodeIn
 import { storeData } from "/src/store";
 import { browser } from "/src/utils";
 import { getNoteByMeasuresSlursStart } from "/src/helpers/formateMusic";
-import { Icon, Popup, showToast } from "vant";
+import { Icon, Popup, showToast, closeToast, showLoadingToast } from "vant";
 import EvaluatResult from "./evaluat-result";
 import EvaluatAudio from "./evaluat-audio";
 import { api_getDeviceDelay, api_openAdjustRecording, api_proxyServiceMessage, api_videoUpdate, getEarphone, api_back } from "/src/helpers/communication";
@@ -313,12 +313,31 @@ export default defineComponent({
     };
 
     const startBtnHandle = async () => {
+      // 如果是异常状态,先等待500ms再执行后续流程
+      if (evaluatingData.isErrorState && !state.setting.soundEffect) {
+        // console.log('异常流程1')
+        showLoadingToast({
+          message: "处理中",
+          duration: 1000,
+          overlay: true,
+          overlayClass: styles.scoreMode,
+        });
+        await new Promise<void>((resolve) => {
+          setTimeout(() => {
+            closeToast();
+            evaluatingData.isErrorState =false
+            // console.log('异常流程2')
+            resolve()
+          }, 1000);
+        })
+      }
+      // console.log('异常流程3')
       // 检测APP端socket状态
       const res: any = await startCheckDelay();
       if (res?.checked) {
         handleConnect();
         handleStartBegin(calculateInfo.firstNoteTime);
-        if (evaluatingData.isErrorState = true) {
+        if (evaluatingData.isErrorState) {
           evaluatingData.isErrorState = false;
           evaluatingData.resulstMode = false;
         }

+ 13 - 9
src/view/evaluating/index.tsx

@@ -505,18 +505,22 @@ export const handleCancelEvaluat = (cancelType?: string) => {
 	/**
 	 * 异常状态是取消评测(cancelEvaluating),正常结束时结束评测(endEvaluating)
 	 */
-	if (cancelType === "cancel") {
-		// 取消评测
-		cancelEvaluating();
-	} else {
-		endEvaluating({
-			musicScoreId: state.examSongId,
-		});
-	}
+	// if (cancelType === "cancel") {
+	// 	// 取消评测
+	// 	cancelEvaluating();
+	// } else {
+	// 	endEvaluating({
+	// 		musicScoreId: state.examSongId,
+	// 	});
+	// }
+	
+	cancelEvaluating();
 	// 停止播放
 	handleStopPlay();
 	console.log('评测结束2')
-
+	endEvaluating({
+		musicScoreId: state.examSongId,
+	});
 	// 如果开启了摄像头, 结束录制视频
 	if (state.setting.camera) {
 		console.log("结束录制视频");