Browse Source

fix: 最近练习接口问题修复

TIANYONG 1 year ago
parent
commit
905c8c5070

+ 7 - 2
src/helpers/metronome.ts

@@ -176,13 +176,18 @@ class Metronome {
 	};
 	// 播放
 	playAudio = () => {
-		if (!metronomeData.initPlayerState) return;
+		if (!metronomeData.initPlayerState || state.playState === 'paused') return;
 		const beatVolume = state.setting.beatVolume / 100
 		// this.source = metronomeData.activeMetro?.index === 0 ? this.source1 : this.source2;
 		// this.source.volume(metronomeData.disable || state.playState === 'paused' ? 0 : beatVolume);
 		// Audio 播放音频
 		this.source = metronomeData.activeMetro?.index === 0 ? audioData.tick : audioData.tock;
-		this.source.volume = metronomeData.disable || state.playState === 'paused' ? 0 : beatVolume;
+		this.source.volume = metronomeData.disable ? 0 : beatVolume;
+		if (this.source.volume <= 0) {
+			this.source.muted = true
+		} else {
+			this.source.muted = false
+		}
 		this.source.play();
 	};
 

+ 10 - 1
src/page-instrument/component/the-music-list/list.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, onMounted, reactive } from "vue";
+import { defineComponent, onMounted, reactive, watch } from "vue";
 import styles from "./index.module.less";
 import { api_musicSheetPage } from "../../api";
 import state, { togglePlay } from "/src/state";
@@ -26,8 +26,10 @@ export default defineComponent({
 			list: [] as any[],
 			finished: false,
 			loading: false,
+			hasNext: true,
 		});
 		const getList = async () => {
+			if (!data.hasNext) return
 			data.loading = true;
 			try {
 				const res = await api_musicSheetPage({
@@ -37,12 +39,19 @@ export default defineComponent({
 					data.list = [...data.list, ...res.data.rows];
 				}
 				data.finished = res.data?.rows?.length < forms.rows;
+				data.hasNext = res.data?.total > data.list.length
 			} catch (error) {
 				console.log(error);
 			}
 
 			data.loading = false;
 		};
+		watch(
+			() => props.recentFlag,
+			() => {
+				data.hasNext = true
+			}
+		);
 		onMounted(() => {
 			getList();
 		});

+ 4 - 3
src/page-instrument/header-top/index.tsx

@@ -164,9 +164,10 @@ export default defineComponent({
       if (headTopData.modeType !== "show" || state.modeType === "follow") return { display: false, disabled: false };
       // 评测开始 禁用
       if (state.modeType === "evaluating") return { display: false, disabled: true };
-      // 原声, 伴奏 少一个,就不能切换
-      if (!state.music || !state.accompany) return { display: true, disabled: true };
-
+      if (!state.isAppPlay) {
+        // 原声, 伴奏 少一个,就不能切换
+        if (!state.music || !state.accompany) return { display: true, disabled: true };
+      }
       return {
         disabled: false,
         display: true,