Browse Source

Merge branch 'feature-tianyong-newVersion' of http://git.dayaedu.com/liushengqiang/music-score into kt-dev

TIANYONG 1 year ago
parent
commit
4cb22e5a02

+ 15 - 0
src/page-instrument/header-top/settting/index.module.less

@@ -158,4 +158,19 @@
             }
         }
     }
+}
+
+.slider {
+    width: 60%;
+    margin-right: 20px;
+
+    .sliderBtn {
+        width: 40px;
+        color: #fff;
+        font-size: 12px;
+        line-height: 20px;
+        text-align: center;
+        background-color: var(--van-primary-color);
+        border-radius: 20px;
+    }
 }

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

@@ -2,8 +2,9 @@ import { defineComponent, reactive } from "vue";
 import styles from "./index.module.less"
 import { headImg } from "../image";
 import { headTopData } from "../index"
-import { Switch, showToast, Field, Popup } from "vant";
+import { Switch, showToast, Field, Popup, Slider } from "vant";
 import state, { refreshMusicSvg } from "/src/state"
+import { api_closeCamera, api_openCamera, api_savePicture } from "/src/helpers/communication";
 import { smoothAnimationState} from "/src/page-instrument/view-detail/smoothAnimation"
 import Recommendation from "../../custom-plugins/helper-model/recommendation";
 import { resetRenderMusicScore } from "/src/view/music-score";
@@ -55,8 +56,34 @@ export default defineComponent({
                         </div>   
                         <div class={styles.cellBox}>
                             <div class={styles.tit}>摄像头</div>
-                            <Switch v-model={state.setting.camera}></Switch>
-                        </div>                                              
+                            <Switch 
+                                v-model={state.setting.camera}
+                                onChange={ async (value) => {
+                                    if (value) {
+                                        const res = await api_openCamera();
+                                        // 没有授权
+                                        if (res?.content?.reson) {
+                                            state.setting.camera = false
+                                        }
+                                    } else {
+                                        api_closeCamera();
+                                    }
+                                }}                                
+                            ></Switch>
+                        </div>   
+                        <div class={styles.cellBox} style={{ display: state.setting.camera ? "" : "none" }}>
+                            <div class={styles.tit}>透明度</div>
+                            <Slider
+                                class={styles.slider}
+                                min={0}
+                                max={100}
+                                v-model:modelValue={state.setting.cameraOpacity}
+                            >
+                                {{
+                                    button: () => <div class={styles.sliderBtn}>{state.setting.cameraOpacity}</div>,
+                                }}
+                            </Slider>
+                        </div>                                                                     
                         <div class={styles.cellBox}>
                             <div class={styles.tit}>标准音高</div>
                             <div class={styles.frequency}>

+ 10 - 9
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, simple_playProgress, simple_remove_playProgress, simple_play, simple_paused, simple_updateProgress, simple_musicPage } from "/src/helpers/communication";
+import { api_cloudLoading, simple_musicPage } from "/src/helpers/communication";
 
 export default defineComponent({
 	name: "simple-detail",
@@ -18,14 +18,14 @@ export default defineComponent({
 		const detailData = reactive({
 			isLoading: true,
 			currentTime: 0, // 当前播放的时间
-			totalTime: 60000, // 音视频总时长
+			totalTime: 0, // 音视频总时长
 		});
 
 		const communicateCb = (res: any) => {
 			// console.log('h5消息',res)
 			// 开始播放
 			if (res?.data?.api === "api_play") {
-				console.log('开始播放')
+				console.log('h5开始播放')
 				state.playState = 'play';
 				setStep();
 			}
@@ -38,22 +38,24 @@ export default defineComponent({
 			if (res?.data?.api === "api_updateProgress") {
 				console.log('拖动的进度')
 				if (state.playState === 'paused') {
-					detailData.currentTime = res?.data?.data ? res?.data?.data : detailData.currentTime;
+					detailData.currentTime = res?.data?.content?.currentTime ? res?.data?.content?.currentTime : detailData.currentTime;
 					handlePlaying();
 				}
 			}
 			// 播放进度
 			if (res?.data?.api === "api_playProgress") {
-				if (res?.data.data) {
-					if (res?.data.data < detailData.currentTime) {
+				// console.log('h5播放进度',res)
+				if (res?.data?.content?.currentTime) {
+					if (res?.data?.content?.currentTime < detailData.currentTime) {
 						state.activeNoteIndex = 0
 					}
-					detailData.currentTime = res?.data.data
+					detailData.currentTime = res?.data?.content?.currentTime
 				}
 			}
 		};
 		// 监听评测曲谱音频播放进度,返回
 		const progress = (res: any) => {
+			console.log('app播放进度',res)
 			const currentTime = res?.currentTime || res?.content?.currentTime;
 			if (currentTime) {
 				if (currentTime < detailData.currentTime) {
@@ -65,6 +67,7 @@ export default defineComponent({
 		};
 
 		const simplePlay = () => {
+			console.log('app开始播放')
 			state.playState = 'play';
 			setStep();
 		}
@@ -74,8 +77,6 @@ export default defineComponent({
 			await getMusicDetail(id, 'open');
 			detailData.isLoading = false;
 			state.isSingleLine = true;
-			simple_playProgress(progress);
-			simple_play(simplePlay);
 			window.addEventListener("message", communicateCb);
 		});