阅读 462

小程序-实现版本自动更新

2020.09.17

新版本发布之后,希望旧版本的小程序能够自动更新

通过wx.getUpdateManager()获取版本状态,返回UpdateManager对象,用来管理更新。

获取全局唯一的版本更新管理器,用于管理小程序更新。关于小程序的更新机制,可以查看运行机制文档。

通过wx.canIUse判断小程序的API,回调,参数,组件等是否在当前版本可用。wx.canIUse('getUpdateManager')

onLaunch: function (options) {
  this.checkUpdateVersion();//检查新版本
},

/**
 * 检测当前的小程序
 * 版本自动更新
 */
checkUpdateVersion() {
  console.log('checkUpdateVersion')
  //判断微信版本是否 兼容小程序更新机制API的使用
  if (wx.canIUse('getUpdateManager')) {
    //创建 UpdateManager 实例
    const updateManager = wx.getUpdateManager();
    //检测版本更新
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      if (res.hasUpdate) {
        //监听小程序有版本更新事件
        updateManager.onUpdateReady(function () {
          //TODO 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 ( 此处进行了自动更新操作)
          updateManager.applyUpdate();
        })
        updateManager.onUpdateFailed(function () {
          // 新版本下载失败
          wx.showModal({
            title: '已经有新版本喽~',
            content: '请您删除当前小程序,重新搜索打开哦~',
          })
        })
      }
    })
  } else {
    //TODO 此时微信版本太低(一般而言版本都是支持的)
    wx.showModal({
      title: '溫馨提示',
      content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
    })
  }
}
复制代码
文章分类
前端
文章标签