小程序版本更新管理器wx.getUpdateManager()

1,599 阅读1分钟

前言

在小程序做版本更新时,我们常常遇到问题,小程序无法自动更新至最新版本,这时候需要用户删除小程序,再重新进入,这种用户体验非常糟糕,在此,记录解决小程序部署之后无法自动更新至最新版本

代码改造

app.js文件 的onLaunch

onLaunch(options) {
    // 拦截器
    const updateManager = wx.getUpdateManager();
    if (updateManager) {
      updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调
        console.log('更新版本', res.hasUpdate);
        if (res.hasUpdate) {
          updateManager.onUpdateReady(function () {
            wx.showModal({
              title: '更新提示',
              content: '新版本已经准备好,是否重启应用?',
              success: function (res) {
                if (res.confirm) {
                  // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate();
                }
              }
            });
          });
          updateManager.onUpdateFailed(function () {
            // 新版本下载失败
            wx.showModal({
              title: '更新提示',
              content:
                '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
            });
          });
        }
      });
    }
  }

Tips

  1. 微信开发者工具上可以通过「编译模式」下的「下次编译模拟更新」开关来调试
  2. 小程序开发版/体验版没有「版本」概念,所以无法在开发版/体验版上测试更版本更新情况

参考文档:developers.weixin.qq.com/miniprogram…

\