| 
					
				 | 
			
			
				@@ -23,6 +23,7 @@ import useDrag from "/src/hooks/useDrag"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import Dragbom from "/src/hooks/useDrag/dragbom"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import useDragGuidance from "/src/hooks/useDrag/useDragGuidance"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { FINER_INSTRUMENT_POINT } from "./fingeringPoint"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useClickAway } from "@vant/use"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: "viewFigner", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -232,6 +233,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 切换当前模式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const onChangeFingeringModel = (e: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (playAction.listenLock) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (playAction.showAnswerLoading) return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -785,6 +787,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 音符切换 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const noteChangeShow = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (playStatus.action) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (playAction.listenLock) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         playAction.resetAction = true; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -816,7 +819,9 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 开始播放音阶 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const onGamutPlayOrPause = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onGamutPlayOrPause = async (e:Event) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       playAction.resetAction = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (playStatus.gamut) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         playStatus.gamut = false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -881,7 +886,9 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       userAnswer: {} as any, // 用户答的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       timer: null as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const onActionPlay = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onActionPlay = async (e:Event) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       playAction.resetAction = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (playAction.listenLock) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (playAction.showAnswerLoading) return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -954,7 +961,9 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 显示答案 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const onShowAnswer = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onShowAnswer = async (e:Event) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (playAction.listenLock) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       playAction.showAnswerLoading = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       scrollAnswer(playAction.standardAnswer.realKey); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1258,6 +1267,11 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       tnoteShowBoxClass = "tnoteShowBoxClass_drag"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       tnoteShowBoxDragData = useDrag([`${tnoteShowBoxClass} .dragTopBox`, `${tnoteShowBoxClass} .dragbomBox`], tnoteShowBoxClass, toRef(data, "tnoteShow"), storeData.user.id as string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const moreFunDom = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const isMoreFunShow = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    useClickAway(moreFunDom, () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const relationship = fingerData.subject?.relationship?.[data.realKey] || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const rs: number[] = Array.isArray(relationship[1]) ? relationship[fingerData.relationshipIndex] : relationship; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1502,6 +1516,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       class={styles.noteBtn} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       onClick={(e: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         scrollNoteBox("left"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     > 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1517,7 +1532,10 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   {!!data.tones.length && data.fingeringMode === "scaleMode" && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     <> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       {fingerData.fingeringInfo.name == "hulusi-flute" ? ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <div id="finger-note-1" class={[styles.note, styles.btnGrToggleBtn]} onClick={() => (data.tnoteShow = true)}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        <div id="finger-note-1" class={[styles.note, styles.btnGrToggleBtn]} onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          data.tnoteShow = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           <img draggable={false} src={noteImg} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           <div class={styles.nameBox}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                             <div class={styles.name}>全按作</div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1532,7 +1550,10 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       ) : ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        <div id="finger-note-1" class={[styles.note, styles.btnGrToggleBtn]} onClick={() => (data.tnoteShow = true)}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        <div id="finger-note-1" class={[styles.note, styles.btnGrToggleBtn]} onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          data.tnoteShow = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           <img draggable={false} src={noteImg} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                             <div class={styles.name}> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1582,6 +1603,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                             onTouchstart={(e: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                               e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                               e.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                              isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                               isTouch = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                               startNotePress(note, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                             }} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1630,6 +1652,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       class={styles.noteBtn} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       onClick={(e: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         scrollNoteBox("right"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     > 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1643,14 +1666,15 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                <div class={styles.moreFun}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                <div ref={moreFunDom} class={styles.moreFun} onClick={()=>{ isMoreFunShow.value = !isMoreFunShow.value }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   更多功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  <div class={styles.btnBox}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  <div class={[styles.btnBox, isMoreFunShow.value ? styles.isMoreFunShow : ""]} > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     <div class={styles.btnCon}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                       <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         class={[styles.btnGr]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         onClick={(e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           // 播放音阶时不能切换 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           if (playStatus.gamut) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1672,6 +1696,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           class={styles.btnGr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           onClick={(e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                             e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                             data.viewIndex++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                             if (data.viewIndex > data.viewTotal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                               if (["pan-flute", "ocarina", "whistling"].includes(data.subject)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1692,6 +1717,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         class={styles.btnGr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         onClick={(e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          isMoreFunShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           resetElement(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           data.tipShow = !data.tipShow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           onResize(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1708,9 +1734,6 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               {data.fingeringMode !== "scaleMode" && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   class={styles.optionBtns} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  onClick={(e: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    e.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   <Button class={[styles.oBtn, styles.gamut, playStatus.action && styles.disabled]} round onClick={onGamutPlayOrPause}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     {playStatus.gamut ? "暂停" : "播放音阶"} 
			 |