瀏覽代碼

feat:老师端云教练修改

TIANYONG 1 年之前
父節點
當前提交
ea4770803b

+ 3 - 0
src/page-instrument/component/the-comfirm/index.module.less

@@ -6,6 +6,9 @@
     background-color: #fff;
     border-radius: 18px;
     min-width: 244px;
+    &.pcFraction {
+        border-radius: 16PX;
+    }
 }
 
 .title {

+ 3 - 1
src/page-instrument/component/the-comfirm/index.tsx

@@ -3,6 +3,7 @@ import styles from "./index.module.less";
 import icon_title from '../../evaluat-model/evaluat-audio/icon_title.svg'
 import icon_cancel from '../../evaluat-model/evaluat-audio/icon_cancel.svg'
 import icon_confirm from '../../evaluat-model/evaluat-audio/icon_confirm.svg'
+import state, { IPlatform } from "/src/state";
 
 export default defineComponent({
 	name: "evaluat-audio",
@@ -15,7 +16,8 @@ export default defineComponent({
 	emits: ["close"],
 	setup(props, { emit }) {
 		return () => (
-			<div class={styles.fraction}>
+			<div class={[styles.fraction, state.platform === IPlatform.PC && styles.pcFraction]}>
+				{ state.platform === IPlatform.PC && <div class={'top_drag'}></div> }
 				<div class={styles.title}>
 					<img src={icon_title} />
 				</div>

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

@@ -142,6 +142,17 @@
             }
         }          
     }     
+    &.pcBtn {
+        .arrowIcon {
+            top: initial;
+            bottom: 68PX;
+            transform: translateX(-8PX) rotate(180deg);
+        }
+        .botton-tips {
+            top: initial;
+            bottom: 76PX;
+        }
+    }
 }
 
 .setBtn {

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

@@ -304,7 +304,9 @@ export default defineComponent({
         if (res?.data.data) {
           state.playBtnDirection = res.data.data === 'right' ? 'right' : 'left';
           if (state.fingeringInfo.direction === "vertical" && state.setting.displayFingering) {
-            state.playBtnDirection = 'left';
+            state.musicScoreBtnDirection = state.playBtnDirection === 'right' ? 'left' : 'right';
+          } else {
+            state.musicScoreBtnDirection = state.playBtnDirection;
           }
         }
       }
@@ -423,7 +425,7 @@ export default defineComponent({
             {/* 一行谱模式,暂不支持节拍指针 */}
             {
               !state.isSingleLine ? 
-              <div class={[styles.btn]} onClick={() => {
+              <div class={[styles.btn, state.platform === IPlatform.PC ? styles.pcBtn : ""]} onClick={() => {
                 // 切换光标模式
                 let mode = metronomeData.cursorMode
                 if (['follow'].includes(state.modeType)) {
@@ -552,7 +554,7 @@ export default defineComponent({
         <div
           id="studnetT-7"
           style={{ display: playBtn.value.display ? "" : "none" }}
-          class={[styles.btn, styles.playBtn, playBtn.value.disabled && styles.disabled, state.platform === IPlatform.PC && state.playBtnDirection === 'left' ? styles.playLeftButton : state.platform === IPlatform.PC && state.playBtnDirection === 'right' ? styles.playRightButton : '', state.platform === IPlatform.PC && !state.attendHideMenu && styles.playButtonHide]}
+          class={[styles.btn, styles.playBtn, playBtn.value.disabled && styles.disabled, state.platform === IPlatform.PC && state.musicScoreBtnDirection === 'left' ? styles.playLeftButton : state.platform === IPlatform.PC && state.musicScoreBtnDirection === 'right' ? styles.playRightButton : '', state.platform === IPlatform.PC && !state.attendHideMenu && styles.playButtonHide]}
           onClick={() => togglePlay()}
         >
           <div class={styles.btnWrap}>
@@ -566,7 +568,8 @@ export default defineComponent({
         <div
           id="tips-step-9"
           style={{ display: resetBtn.value.display ? "" : "none" }}
-          class={[styles.btn, styles.resetBtn, resetBtn.value.disabled && styles.disabled, state.platform === IPlatform.PC && state.playBtnDirection === 'left' ? styles.pauseLeftButton : state.platform === IPlatform.PC && state.playBtnDirection === 'right' ? styles.pauseRightButton : '', state.platform === IPlatform.PC && !state.attendHideMenu && styles.playButtonHide]}
+          class={[styles.btn, styles.resetBtn, resetBtn.value.disabled && styles.disabled, 
+            state.platform === IPlatform.PC && state.musicScoreBtnDirection === 'left' ? styles.pauseLeftButton : state.platform === IPlatform.PC && state.musicScoreBtnDirection === 'right' ? styles.pauseRightButton : '', state.platform === IPlatform.PC && !state.attendHideMenu && styles.playButtonHide]}
           onClick={() => handleResetPlay()}
         >
           <img class={styles.iconBtn} src={headImg(state.platform === IPlatform.PC ? "pc_icon_resetbtn.png" : "icon_resetbtn.svg")} />

+ 14 - 2
src/page-instrument/header-top/music-type/index.tsx

@@ -10,6 +10,7 @@ import { musicRenderTypeKey, resetRenderMusicScore } from "/src/view/music-score
 import useDrag from "/src/view/plugins/useDrag/index";
 import Dragbom from "/src/view/plugins/useDrag/dragbom";
 import { storeData } from "/src/store";
+import { setGuidance } from "../../custom-plugins/guide-page/api";
 
 export default defineComponent({
 	name: "musicType",
@@ -42,7 +43,18 @@ export default defineComponent({
 			musicTypeData.show = false
 		}
 
-		const parentClassName = "settingBoxClass_drag";
+		// 完成拖动弹窗引导页
+		const handleGuide = async () => {
+			state.guideInfo.teacherDrag = true;
+			try{
+					const res = await setGuidance({guideTag:'guideInfo',guideValue:JSON.stringify(state.guideInfo)})
+			}catch(e){
+				console.log(e)
+			}   
+			musicTypeData.show = false;
+	  	}
+
+		const parentClassName = "transBoxClass_drag";
 		const userId = storeData.user?.id ? String(storeData.user?.id) : '';
 		const positionInfo = state.platform !== IPlatform.PC ? {
 		  styleDrag: { value: null }
@@ -72,7 +84,7 @@ export default defineComponent({
 						<div>固定调</div>
 					</div>
 				</div>
-				<Popup teleport="body" closeOnClickOverlay={false} defaultStyle={false} v-model:show={musicTypeData.show}>
+				<Popup teleport="body" closeOnClickOverlay={false} defaultStyle={false} v-model:show={musicTypeData.show} class="transBoxClass_drag" style={positionInfo.styleDrag.value}>
 					<TheComfirm tip="设置成功,是否立即重新加载?" onClose={handleResult} />
 					{ state.platform === IPlatform.PC && <Dragbom showGuide={headData.showGragGuide} onGuideDone={handleGuide}  /> }
 				</Popup>

+ 40 - 13
src/page-instrument/view-detail/index.tsx

@@ -198,7 +198,9 @@ export default defineComponent({
       // api_cloudLoading();
       state.playBtnDirection = query.imagePos === 'right' ? 'right' : 'left';
       if (state.fingeringInfo.direction === "vertical" && state.setting.displayFingering) {
-        state.playBtnDirection = 'left';
+        state.musicScoreBtnDirection = state.playBtnDirection === 'right' ? 'left' : 'right';
+      } else {
+        state.musicScoreBtnDirection = state.playBtnDirection;
       }
       state.musicRendered = true;
 
@@ -221,18 +223,37 @@ export default defineComponent({
             },
           };
         } else {
-          return {
-            container: {
-              paddingRight: state.fingeringInfo.width,
-            },
-            fingerBox: {
-              position: "absolute",
-              width: state.fingeringInfo.width,
-              height: "100%",
-              right: 0,
-              top: 0,
-            },
-          };
+          console.log('指法',state.playBtnDirection,state.platform)
+          // 老师端,竖向指法,需要根据功能按钮方向进行设置
+          if (state.platform === IPlatform.PC) {
+            return {
+              container: {
+                paddingRight: state.playBtnDirection === "left" ? "initial" : state.fingeringInfo.width,
+                paddingLeft: state.playBtnDirection === "left" ? state.fingeringInfo.width : "initial",
+              },
+              fingerBox: {
+                position: "absolute",
+                width: state.fingeringInfo.width,
+                height: "100%",
+                right: state.playBtnDirection === "left" ? "initial" : 0,
+                left: state.playBtnDirection === "left" ? 0 : "initial",
+                top: 0,
+              },
+            };
+          } else {
+            return {
+              container: {
+                paddingRight: state.fingeringInfo.width,
+              },
+              fingerBox: {
+                position: "absolute",
+                width: state.fingeringInfo.width,
+                height: "100%",
+                right: 0,
+                top: 0,
+              },
+            };
+          }
         }
       }
       return {
@@ -246,6 +267,12 @@ export default defineComponent({
       () => state.setting.displayFingering,
       () => {
         if (state.fingeringInfo.direction === "vertical") {
+          
+          if (state.setting.displayFingering) {
+            state.musicScoreBtnDirection = state.playBtnDirection === 'left' ? 'right' : 'left'
+          } else {
+            state.musicScoreBtnDirection = state.playBtnDirection
+          }
           nextTick(() => {
             resetMusicScore();
           });

+ 4 - 2
src/state.ts

@@ -461,8 +461,10 @@ const state = reactive({
   isEvxml: false,
   noTimes: [] as any,
   attendHideMenu: true,
-  /** 老师端:播放、暂停、重播按钮布局方向 */
+  /** 老师端:功能按钮布局方向 */
   playBtnDirection: "left" as "left" | "right",
+  /** 云教练按钮方向,如果有指法并且是竖向的指法,为了防止播放按钮把指法挡住,此时云教练播放按钮方向应该取反 */
+  musicScoreBtnDirection: "right" as "left" | "right",
   /** 引导页信息 */
   guideInfo: null as any,
 });
@@ -1179,8 +1181,8 @@ const setState = (data: any, index: number) => {
   state.platform = query.platform?.toLocaleUpperCase() || "";
   if (state.platform === IPlatform.PC) {
     state.zoom = query.zoom || 1.5;
+    state.enableEvaluation = false;
   }
-
   /**
    * 默认渲染什么谱面类型 & 能否转谱逻辑
    * 渲染类型:首先取url参数musicRenderType,没有该参数则取musicalInstruments字段匹配的当前分轨的defaultScore,没有匹配到则取默认值('firstTone')