|
@@ -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 频率
|
|
@@ -171,7 +186,7 @@ const connect = async () => {
|
|
|
|
|
|
const content = {
|
|
|
musicXmlInfos: formatTimes(),
|
|
|
- subjectId: detailState.subjectId,
|
|
|
+ subjectId: detailState.subjectId ? detailState.subjectId : detailState.isPercussion ? 1 : detailState.subjectId,
|
|
|
detailId: detailState.activeDetail?.id,
|
|
|
examSongId: search.id,
|
|
|
xmlUrl: detailState?.activeDetail?.xmlUrl,
|
|
@@ -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()
|