Преглед изворни кода

bugfix:处理旧安卓系统返回等问题

leo пре 1 година
родитељ
комит
91ef8baf5b

+ 0 - 1
pages/claimCloudPhone/chooseCloudPhone.vue

@@ -30,7 +30,6 @@
           @input="search"
         />
       </cloudMobilePhonePopup>
-      <!-- <v-btn @click="$router.push('/claimCloudPhone/detail')">点击跳转</v-btn> -->
     </div>
   </layout>
 </template>

+ 19 - 14
pages/claimCloudPhone/components/bargainingAssistance.vue

@@ -186,7 +186,7 @@
       <div class="bargaining-success">
         <div class="bargaining-success-title">恭喜您,砍价成功</div>
         <div class="bargaining-success-tips">
-          您的云手机【获取云手机名称】发放成功/续费成功
+          您的云手机【{{ info.diskName }}】发放成功/续费成功
         </div>
         <div class="bargaining-success-btn">
           <div @click="claimTheNextOne">免费领下一台云机</div>
@@ -356,14 +356,6 @@ export default {
 
     setTimeout(() => {
       this.bargainingStatus(true);
-      switch (+this.type) {
-        case 3: // 成功,领取下一台云机界面
-          this.successfulBargainingVisible = true;
-          break;
-        case 4: // 失败,领取下一台云机界面
-          this.expireVisible = true;
-          break;
-      }
     });
   },
   computed: {
@@ -501,6 +493,16 @@ export default {
             if (Object.keys(this.inviteeData).length) {
               return;
             }
+
+            switch (+this.type) {
+              case 3: // 成功,领取下一台云机界面
+                this.successfulBargainingVisible = true;
+                break;
+              case 4: // 失败,领取下一台云机界面
+                this.expireVisible = true;
+                break;
+            }
+
             const data = await this.getSystemTime();
             this.systemTime = data.data;
             if (this.info.bargainingStatus === 0) {
@@ -517,10 +519,13 @@ export default {
                 (this.$userAgent.isSzx || this.$userAgent.isSzxBrowser) &&
                 this.$userAgent.isAndroid
               ) {
-                window.native.webBackStatus(true);
-                window.appGoBackCallback = () => {
-                  this.exitVisible = true;
-                };
+                // 旧版本做兼容,如果有的情况下的话就显示
+                if (window.native.webBackStatus) {
+                  window.native.webBackStatus(true);
+                  window.appGoBackCallback = () => {
+                    this.exitVisible = true;
+                  };
+                }
               }
               // 对微信做拦截
               if (this.$userAgent.isWx) {
@@ -583,7 +588,7 @@ export default {
               (this.$userAgent.isSzx || this.$userAgent.isSzxBrowser) &&
               this.$userAgent.isAndroid
             ) {
-              window.native.webBackStatus(false);
+              window.native.webBackStatus && window.native.webBackStatus(false);
             }
             this.$router.replace('/claimCloudPhone/chooseCloudPhone?exit=1');
           }

+ 16 - 1
pages/claimCloudPhone/components/setMealItem.vue

@@ -81,7 +81,22 @@ export default {
   methods: {
     add(data) {
       if (this.type) {
-        this.$router.push('/claimCloudPhone/1?menuRuleId=' + data.id);
+        this.$axios
+          .$get('activity/v5/assist/bargaining/current/bargainingStatus')
+          .then((res) => {
+            if (res.success) {
+              if (!res.data.bargainingStatus) {
+                this.$router.push('/claimCloudPhone/1?menuRuleId=' + data.id);
+              } else {
+                setTimeout(() => {
+                  this.$toast('已参加正在砍价活动,请退出后重新进入');
+                })
+              }
+            }
+          })
+          .finally(() => {
+            this.$toast.clear();
+          });
         return;
       }
       this.$emit('buy', data);

+ 2 - 2
pages/claimCloudPhone/mixins/common.js

@@ -39,9 +39,9 @@ export default {
             const isWx = this.$userAgent.isWx;
             if (isApp) {
                 if (isAndroid) {
-                    window.native.backClick();
+                    window.native.backClick && window.native.backClick();
                 } else {
-                    window.webkit.messageHandlers.appGoBack.postMessage({})
+                    window.webkit.messageHandlers.appGoBack && window.webkit.messageHandlers.appGoBack.postMessage({})
                 }
             } else {
                 if (isWx) {