Selaa lähdekoodia

feat: 评测传参新增'evaluationCriteria'字段

TIANYONG 1 vuosi sitten
vanhempi
commit
382b32e2bc
1 muutettua tiedostoa jossa 17 lisäystä ja 1 poistoa
  1. 17 1
      src/subpages/colexiu/buttons/evaluating.tsx

+ 17 - 1
src/subpages/colexiu/buttons/evaluating.tsx

@@ -1,7 +1,7 @@
 import { Button, Toast } from 'vant'
 import { defineComponent, onBeforeUnmount, onMounted, Ref, ref, Teleport, Transition } from 'vue'
 import '@dotlottie/player-component'
-import detailState from '/src/pages/detail/state'
+import detailState, { isRhythmicExercises } from '/src/pages/detail/state'
 import SettingState from '/src/pages/detail/setting-state'
 import {
   IPostMessage,
@@ -45,6 +45,21 @@ const endResult = ref(null)
 const browserInfo = browser()
 const scoreList: any[] = []
 
+// frequency 频率, amplitude 振幅, decibels 分贝
+type TCriteria = "frequency" | "amplitude" | "decibels";
+/** 获取评测标准 */
+const getEvaluationCriteria = () => {
+	let criteria: TCriteria = "frequency";
+	// 声部打击乐
+	if ([23, 113, 121].includes(detailState.subjectId)) {
+		criteria = "amplitude";
+	} else if (isRhythmicExercises()) {
+		// 分类为节奏练习
+		criteria = "decibels";
+	}
+	return criteria;
+};
+
 /**
  * 默认按照442计算的音符频率,此处转化为按照设置进行调整
  * @param num 频率
@@ -188,6 +203,7 @@ const connect = async () => {
     heardLevel: SettingState.eva.difficulty,
     // beatLength: Math.round((RuntimeUtils.getFixTime(detailState.times[0].beatSpeed) * 1000) / rate),
     beatLength: actualBeatLength,
+    evaluationCriteria: getEvaluationCriteria(),
   }
   // console.log("🚀 ~ content:", content, rate)
   const clientType = useClientType()