|
@@ -20,26 +20,30 @@ export default defineComponent({
|
|
|
step: -1,
|
|
|
tips: ["左边红灯表示吹奏的音过低", "吹奏时请保持中间绿灯亮起", "右边红灯表示吹奏的音过高"],
|
|
|
time: 1,
|
|
|
+ isFinsh: false,
|
|
|
});
|
|
|
watch(
|
|
|
() => evaluatingData.soundEffectFrequency,
|
|
|
() => {
|
|
|
// console.log('吹奏',evaluatingData.soundEffectFrequency , scoreData.frequency)
|
|
|
const trend =
|
|
|
- Math.abs(evaluatingData.soundEffectFrequency - scoreData.frequency) <= 10
|
|
|
+ scoreData.min <= evaluatingData.soundEffectFrequency &&
|
|
|
+ evaluatingData.soundEffectFrequency <= scoreData.max
|
|
|
? 1
|
|
|
: evaluatingData.soundEffectFrequency > scoreData.frequency
|
|
|
? 2
|
|
|
: 0;
|
|
|
soundEffectData.step = trend;
|
|
|
-
|
|
|
- // console.log("🚀 ~ trend:", trend)
|
|
|
+
|
|
|
if (trend !== 1) {
|
|
|
soundEffectData.time = Date.now();
|
|
|
}
|
|
|
// 持续时间达到3秒钟,效音成功
|
|
|
if (Date.now() - soundEffectData.time > 2000) {
|
|
|
- emit("close");
|
|
|
+ soundEffectData.isFinsh = true;
|
|
|
+ setTimeout(() => {
|
|
|
+ emit("close");
|
|
|
+ }, 1000);
|
|
|
}
|
|
|
}
|
|
|
);
|
|
@@ -80,12 +84,27 @@ export default defineComponent({
|
|
|
<div class={styles.scoreContent}>
|
|
|
<img src={scoreData.src} />
|
|
|
</div>
|
|
|
- <div class={styles.tips}>{soundEffectData.tips[soundEffectData.step]}</div>
|
|
|
- <div class={styles.steps}>
|
|
|
- <img src={soundEffectData.step === 0 ? DotErrorIcon : DotIcon} />
|
|
|
- <img src={soundEffectData.step === 1 ? DotActiveIcon : DotIcon} />
|
|
|
- <img src={soundEffectData.step === 2 ? DotErrorIcon : DotIcon} />
|
|
|
+ <div class={styles.des}>
|
|
|
+ 请演奏{" "}
|
|
|
+ <span style={{ color: "var(--van-primary-color)" }}>
|
|
|
+ {scoreData.text}【 {scoreData.name} 】
|
|
|
+ </span>
|
|
|
+ 直到绿灯全部亮起
|
|
|
</div>
|
|
|
+ <div class={styles.tips}>{soundEffectData.tips[soundEffectData.step]}</div>
|
|
|
+ {soundEffectData.isFinsh ? (
|
|
|
+ <div class={styles.steps}>
|
|
|
+ <img src={DotActiveIcon} />
|
|
|
+ <img src={DotActiveIcon} />
|
|
|
+ <img src={DotActiveIcon} />
|
|
|
+ </div>
|
|
|
+ ) : (
|
|
|
+ <div class={styles.steps}>
|
|
|
+ <img src={soundEffectData.step === 0 ? DotErrorIcon : DotIcon} />
|
|
|
+ <img src={soundEffectData.step === 1 ? DotActiveIcon : DotIcon} />
|
|
|
+ <img src={soundEffectData.step === 2 ? DotErrorIcon : DotIcon} />
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|