Prechádzať zdrojové kódy

feat: 一行谱页面修改

TIANYONG 1 rok pred
rodič
commit
0783415fdf

+ 24 - 0
src/helpers/communication.ts

@@ -504,4 +504,28 @@ export const api_cancelDelayCheck = (callback: any) => {
 /** 监听延迟检测成功的回调 */
 export const api_finishDelayCheck = (callback: any) => {
 	listenerMessage("finishDelayCheck", callback);
+};
+
+/** 监听APP播放进度 */
+export const simple_playProgress = (callback: any) => {
+	listenerMessage("api_playProgress", callback);
+};
+/** 卸载播放 */
+export const simple_remove_playProgress = (callback: any) => {
+	removeListenerMessage("api_playProgress", callback);
+};
+
+/** 监听APP播放开始 */
+export const simple_play = (callback: any) => {
+	listenerMessage("api_play", callback);
+};
+
+/** 监听APP播放暂停 */
+export const simple_paused = (callback: any) => {
+	listenerMessage("api_paused", callback);
+};
+
+/** 监听APP拖动进度 */
+export const simple_updateProgress = (callback: any) => {
+	listenerMessage("api_updateProgress", callback);
 };

+ 14 - 7
src/page-instrument/simple-detail/index.tsx

@@ -8,7 +8,7 @@ import store from "store";
 import { formateTimes } from "../../helpers/formateMusic";
 import { setCustomGradual, setCustomNoteRealValue } from "/src/helpers/customMusicScore"
 import { initSmoothAnimation, smoothAnimationState, destroySmoothAnimation, moveSmoothAnimationByPlayTime } from "../view-detail/smoothAnimation";
-import { api_playProgress, api_cloudLoading } from "/src/helpers/communication";
+import { api_playProgress, api_cloudLoading, simple_playProgress, simple_remove_playProgress, simple_play, simple_paused, simple_updateProgress } from "/src/helpers/communication";
 
 export default defineComponent({
 	name: "simple-detail",
@@ -54,21 +54,28 @@ export default defineComponent({
 		};
 		// 监听评测曲谱音频播放进度,返回
 		const progress = (res: any) => {
-			detailData.currentTime = res?.currentTime || res?.content?.currentTime;
-			detailData.totalTime = res?.totalDuration || res?.content?.totalDuration;
-			const time = detailData.currentTime / 1000;
-			if (res?.content?.totalDuration > 1000 && detailData.currentTime >= detailData.totalTime) {
-				// 播放结束
+			const currentTime = res?.currentTime || res?.content?.currentTime;
+			if (currentTime) {
+				if (currentTime < detailData.currentTime) {
+					state.activeNoteIndex = 0
+				}
+				detailData.currentTime = currentTime
 			}
+			
 		};
 
+		const simplePlay = () => {
+			state.playState = 'play';
+			setStep();
+		}
 		onMounted(async () => {
 			const id = query.id || '';
 			state.isSimplePage = true;
 			await getMusicDetail(id, 'open');
 			detailData.isLoading = false;
 			state.isSingleLine = true;
-			api_playProgress(progress);
+			simple_playProgress(progress);
+			simple_play(simplePlay);
 			window.addEventListener("message", communicateCb);
 		});
 

+ 1 - 1
src/utils/baseApi.ts

@@ -10,7 +10,7 @@ import request from "./request";
 /** 获取内容平台的曲谱详情 */
 export const getMusicSheetDetail = (sysMusicScoreId: string, type?: string) => {
   const url = type === 'open' ? `/open/musicSheet/cbsDetail/${sysMusicScoreId}` : `/musicSheet/cbsDetail/${sysMusicScoreId}`;
-  return request.get(url);
+  return request.get(url, { noToken: type === 'open' ? true : false });
 };
 
 /** 生成图片 */

+ 1 - 1
src/utils/request.ts

@@ -51,7 +51,7 @@ request.interceptors.request.use(
 		const Authorization = getToken();
 		const authHeaders: any = {};
 		// 内容平台的接口不需要传token,需要传签名
-		if (Authorization && !options.isContentCenter) {
+		if (Authorization && !options.isContentCenter && !options.noToken) {
 			authHeaders.Authorization = Authorization;
 		}
 		return {