Explorar o código

feat: 打击乐&节奏练习无跟练功能

TIANYONG hai 1 ano
pai
achega
fed0960737

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/page-instrument/component/mode-type-mode/icon/index.json


+ 2 - 1
src/page-instrument/component/mode-type-mode/index.tsx

@@ -85,8 +85,9 @@ export default defineComponent({
 						/>
 						<img
 							id="modeType-1"
+							style={{ cursor: state.isPercussion ? "not-allowed" : "pointer" }}
 							onClick={() => headTopData.handleChangeModeType("follow")}
-							src={icons.icon_2}
+							src={state.isPercussion ? icons.icon_5 : icons.icon_2}
 						/>
 						<img
 							id="modeType-2"

+ 1 - 0
src/page-instrument/header-top/index.tsx

@@ -36,6 +36,7 @@ export const headTopData = reactive({
   /** 切换模式 */
   handleChangeModeType(value: "practise" | "follow" | "evaluating") {
     if (value === 'evaluating' && !state.enableEvaluation) return
+    if (value === 'follow' && state.isPercussion) return
     // 跟练模式,光标只有音符模式,无节拍模式
     if (value === 'follow' && metronomeData.cursorMode === 2) {
       metronomeData.cursorMode = 1

+ 3 - 2
src/state.ts

@@ -804,11 +804,12 @@ const setState = (data: any, index: number) => {
   // console.log("🚀 ~ state.subjectId:", state.subjectId, state.track as any , state.subjectId)
   // 是否打击乐
   /**
-   * 是否打击乐&节奏练习
+   * 是否打击乐:AMPLITUDE & 节奏练习:DECIBELS
    * evaluationStandard:("评测标准 节奏 AMPLITUDE 音准 FREQUENCY 分贝 DECIBELS")
+   * 打击乐&节奏练习,没有跟练模式
    */
   // state.isPercussion = isRhythmicExercises();
-  state.isPercussion = data.evaluationStandard === "AMPLITUDE";
+  state.isPercussion = data.evaluationStandard === "AMPLITUDE" || data.evaluationStandard === "DECIBELS";
   // 设置是否特殊曲谱, 是特殊曲谱取反(不理解之前的思考逻辑), 使用后台设置的速度
   state.isSpecialBookCategory = !classids.includes(data.musicCategoryId);
 

+ 11 - 7
src/view/evaluating/index.tsx

@@ -43,6 +43,7 @@ import { browser } from "/src/utils";
 import { getAudioCurrentTime, toggleMutePlayAudio } from "../audio-list";
 import { handleStartTick } from "../tick";
 import AbnormalPop from "../abnormal-pop";
+import { storeData } from "../../store";
 
 const browserInfo = browser();
 
@@ -89,15 +90,18 @@ export const handleStartEvaluat = async () => {
 	if (state.modeType === "evaluating") {
 		handleCancelEvaluat();
 	} else {
-		// 评测前先检查APP端的websocket状态
-		const res = await api_checkSocketStatus();
-		if (res?.content?.status === "connected") {
-			handleStopPlay();
+		if (state.platform !== 'PC') {
+			// 评测前先检查APP端的websocket状态
+			const res = await api_checkSocketStatus();
+			if (res?.content?.status === "connected") {
+				handleStopPlay();
+			} else {
+				// socket未连接
+				// evaluatingData.socketErrorPop = true
+			}
 		} else {
-			// socket未连接
-			// evaluatingData.socketErrorPop = true
+			handleStopPlay();
 		}
-		
 	}
 	state.modeType = state.modeType === "evaluating" ? "practise" : "evaluating";
 	if (state.modeType !== "evaluating") {

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio