|  | @@ -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()
 |