-
zhangwei
2024-10-11 a1a7c2aed860d1a1bb1ac377a69cdeacb7609cb9
src/App.vue
@@ -14,11 +14,14 @@
         //       url: '/pages/index/index'
         //    });
         // }
         let token = this.$db.get('userToken')
         if (token) {
            this.$store.dispatch('getUserInfo')
         }
         // #ifdef MP-WEIXIN
         this.autoUpdate();
         // #endif
         console.log('App Launch')
      },
      onShow: async function() {
@@ -28,6 +31,75 @@
      },
      onHide: function() {
         console.log('App Hide')
      },
      methods: {
         // #ifdef MP-WEIXIN
         //微信小程序检测更新措施,方式更新功能后,要等待24小时内才刷新的问题。
         autoUpdate() {
            var self = this
            // 获取小程序更新机制兼容
            if (wx.canIUse('getUpdateManager')) {
               //console.log("进入小程序自动更新检测");
               const updateManager = wx.getUpdateManager()
               //1. 检查小程序是否有新版本发布
               updateManager.onCheckForUpdate(function(res) {
                  //console.log("进入小程序检测是否需要自动更新");
                  //console.log(res);
                  // 请求完新版本信息的回调
                  if (res.hasUpdate) {
                     //检测到新版本,需要更新,给出提示
                     wx.showModal({
                        title: '更新提示',
                        content: '检测到新版本,是否下载新版本并重启小程序?',
                        success: function(res) {
                           if (res.confirm) {
                              //2. 用户确定下载更新小程序,小程序下载及更新静默进行
                              self.downLoadAndUpdate(updateManager)
                           } else if (res.cancel) {
                              //用户点击取消按钮,需要强制更新,二次弹窗
                              wx.showModal({
                                 title: '温馨提示~',
                                 content: '本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~',
                                 showCancel: false,
                                 confirmText: "确定更新",
                                 success: function(res) {
                                    if (res.confirm) {
                                       //下载新版本,并重新应用
                                       self.downLoadAndUpdate(updateManager)
                                    }
                                 }
                              })
                           }
                        }
                     })
                  }
               })
            } else {
               // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
               wx.showModal({
                  title: '提示',
                  content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
               })
            }
         },
         downLoadAndUpdate(updateManager) {
            var self = this
            wx.showLoading();
            //静默下载更新小程序新版本
            updateManager.onUpdateReady(function() {
               wx.hideLoading()
               //新的版本已经下载好,调用 applyUpdate 应用新版本并重启
               updateManager.applyUpdate()
            })
            updateManager.onUpdateFailed(function() {
               // 新的版本下载失败
               wx.showModal({
                  title: '已经有新版本了哟~',
                  content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
               })
            })
         },
         // #endif
      }
   }
</script>