Browse Source

fix: #9099 bug修复

TIANYONG 1 year ago
parent
commit
026a235895

+ 14 - 1
src/pages/detail/CheckDelayPopup/index.module.less

@@ -116,6 +116,8 @@
     left: 50%;
     top: 50%;
     transform: translate(-50%,100%);
+    animation: showBtnBox .5s linear both;;
+    animation-delay: 0.5s;
     .delayBox {
         width: 4.68rem;
         position: relative;
@@ -160,7 +162,7 @@
         .dbBtn {
             position: absolute;
             right: 0.21rem;
-            bottom: 0.23rem;
+            bottom: 0.28rem;
             width: 1.21rem;
             height: 0.35rem;
             cursor: pointer;
@@ -168,6 +170,17 @@
         }
     }
 }
+
+@keyframes showBtnBox {
+    0% {
+        opacity: 0;
+    }
+
+    100% {
+        opacity: 1;
+    }
+}
+
 .heartbeat {
     animation: heartbeat 1.5s ease-in-out infinite both;
 }

+ 1 - 1
src/pages/detail/CheckDelayPopup/index.tsx

@@ -64,7 +64,7 @@ export default defineComponent({
 				<Vue3Lottie class={styles.delayAdorn} animationData={step3} style={{ display: props.delayData.step === 4 ? '' : 'none' }}></Vue3Lottie>
 				<Vue3Lottie class={styles.delayAdorn} animationData={step4} style={{ display: props.delayData.step === 5 ? '' : 'none' }}></Vue3Lottie>
 				<Vue3Lottie class={styles.delayAdorn} animationData={step5} style={{ display: props.delayData.step >= 6 ? '' : 'none' }}></Vue3Lottie>
-				<div class={styles.delayBody}>
+				<div class={styles.delayBody} >
 					<div class={styles.delayBox}>
 						<div class={styles.dbTop}>
 							<img class={styles.topIcon} src={props.delayData.step <= 3 ? step_top_icon_1 : props.delayData.step === 4 ? step_top_icon_2 : props.delayData.step === 5 ? step_top_icon_3 : 

+ 23 - 17
src/subpages/colexiu/buttons/evaluating.tsx

@@ -153,7 +153,6 @@ const delayData =  reactive({
     delayData.time = await getDeviceDelay();
     // 没有设备延迟数据,显示检测组件,并持续检测耳机状态
     if (!delayData.time || delayData.isForce) {
-      delayData.open = (runtime.delayCheckFirst && searchParams.evaluatingRecord || !SettingState.sett.tuning) ? false : true
       delayData.count = 0;
       checkWiredStatus();
       if (runtime.delayCheckFirst && searchParams.evaluatingRecord) {
@@ -216,6 +215,10 @@ const delayData =  reactive({
 				postMessage({
 					api: "endTune"
 				})
+        // 提前关闭或者返回,需要重置step状态
+        if (delayData.open === false) {
+          delayData.step = 1
+        }
 			} else if (state === 'finishTune') {
         delayData.step = 6
 				// 效音完成
@@ -886,6 +889,7 @@ export default defineComponent({
   setup(props, { expose }) {
     onMounted(async () => {
       console.log('进入评测模块')
+      delayData.open = (runtime.delayCheckFirst && searchParams.evaluatingRecord || !SettingState.sett.tuning) ? false : true
       if (!SettingState.eva.mute) {
         RuntimeUtils.changeAllMode();
       } else {
@@ -946,7 +950,7 @@ export default defineComponent({
           <Evaluating data={endResult.value} />
 
           <Transition name="finish">
-            {startButtonShow.value && (
+            {startButtonShow.value && !delayData.open && (
               <div
                 style={{
                   backgroundImage: `url(${iconEvaluatingStart})`,
@@ -977,21 +981,23 @@ export default defineComponent({
           )}
 
         {/* 延迟检测窗口 */}
-				<Popup 
-					teleport="body"
-					class="popup-scale" 
-					transition="van-scale" 
-					overlay={false}
-					show={delayData.open}
-					onClose={() => handleCheckDelayEnd()}
-				>
-					<CheckDelayPopup 
-						delayData={delayData}
-						onStartCheckDelay={() => handleStartCheckDelay()}
-						onClose={() => handleStopCheckDelay()} 
-            onBack={() => handleDelayBack()}
-					/>
-				</Popup>
+        <Transition>
+          <Popup 
+            teleport="body"
+            class="popup-scale" 
+            transition="van-scale"
+            overlay={false}
+            show={delayData.open}
+            onClose={() => handleCheckDelayEnd()}
+          >
+            <CheckDelayPopup 
+              delayData={delayData}
+              onStartCheckDelay={() => handleStartCheckDelay()}
+              onClose={() => handleStopCheckDelay()} 
+              onBack={() => handleDelayBack()}
+            />
+          </Popup>
+        </Transition>
         </Teleport>
       )
     }