| 
					
				 | 
			
			
				@@ -20,7 +20,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="beatWrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="dot" ref="dotDom" @mousedown="handleDotMousedown"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          class="dot" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ref="dotDom" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @mousedown="handleDotMousedown" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @touchstart="handleDotTouchstart" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="round"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <canvas 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ref="mycanvasDom" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -310,12 +315,10 @@ function speedToScalc(speed: number) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function scalcToSpeed(scalc: number) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return Math.round((scalc * 150) / 100 + 50); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const handleclickCanvas = (e: MouseEvent) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handleclickCanvas = (clickX: number, clickY: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const circle = mycanvasDom.value!.getBoundingClientRect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const centerX = circle.left + circle.width / 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const centerY = circle.top + circle.height / 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const clickX = e.clientX; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const clickY = e.clientY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const angle = Math.atan2(clickY - centerY, clickX - centerX); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const percentage = (angle * (180 / Math.PI) + 180) / 360; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const scalc = Math.round(percentage * 100) - 25; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -323,14 +326,26 @@ const handleclickCanvas = (e: MouseEvent) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function handleDotMousedown() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function onMouseup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    mycanvasDom.value!.removeEventListener('mousemove', onMousemove); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    document.removeEventListener('mousemove', onMousemove); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     document.removeEventListener('mouseup', onMouseup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mycanvasDom.value!.addEventListener('mousemove', onMousemove); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  document.addEventListener('mousemove', onMousemove); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   document.addEventListener('mouseup', onMouseup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function handleDotTouchstart() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function onTouchend() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    document.removeEventListener('touchmove', onTouchmove); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    document.removeEventListener('touchend', onTouchend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  document.addEventListener('touchmove', onTouchmove); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  document.addEventListener('touchend', onTouchend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function onMousemove(e: MouseEvent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  handleclickCanvas(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  handleclickCanvas(e.clientX, e.clientY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function onTouchmove(e: TouchEvent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const touche = e.touches[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  handleclickCanvas(touche.clientX, touche.clientY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 根据百分比画圆 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function getCircleBar(steps: number) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -804,9 +819,9 @@ defineExpose({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   .v-binder-follower-container 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   .n-base-select-menu.n-select-menu { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   --n-border-radius: 10Px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .n-scrollbar-rail.n-scrollbar-rail--vertical{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .n-scrollbar-rail.n-scrollbar-rail--vertical { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     right: 3Px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    --n-scrollbar-width:3Px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    --n-scrollbar-width: 3Px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     opacity: 0.4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |