搞快点

微信小程序常用代码段

检查小程序更新

https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html

app.js 中添加如下代码

// app.js
App({
  onLaunch: function () {
    this.checkNewVersion()
  },
  checkNewVersion: function () {
    let self = this
    // 检查版本更新
    // 获取小程序更新机制兼容
    if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager()
      updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调
        console.log(res)
        if (res.hasUpdate) {
          updateManager.onUpdateReady(function () {
            wx.showModal({
              title: '更新提示',
              content: '新版本已经准备好,是否重启应用?',
              success: function (res) {
                if (res.confirm) {
                  // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate()
                } else if (res.cancel) {
                  // 如果需要强制更新,则给出二次弹窗
                  wx.showModal({
                    title: '更新提示',
                    content: '本次更新可能会导致旧版本无法正常访问,请使用新版本',
                    showCancel: false, // 不显示取消按钮
                    success: function (res) {
                      if (res.confirm) {
                        // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                        updateManager.applyUpdate()
                      } else if (res.cancel) {
                        // 重新回到版本更新提示
                        self.checkNewVersion()
                      }
                    }
                  })
                }
              }
            })
          })
          updateManager.onUpdateFailed(function () {
            // 新的版本下载失败
            wx.showModal({
              title: '已经有新版本了',
              content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开'
            })
          })
        }
      })
    } else {
      // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
      })
    }
  }
})

微信开发者工具上可以通过「编译模式」下的「下次编译模拟更新」开关来调试

赞(0) 打赏
未经允许不得转载:稻草人 » 微信小程序常用代码段

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址