关于微信小程序更新机制

338 阅读1分钟

前言

微信小程序采取的是异步更新,当小程序新版本发布后,可能一部分用户不会马上收到最新版本的小程序。

更新方案

  • 定时 check 新版本
  • 通过强制更新的api

官方详细介绍更新机制链接

定时 check 新版本

从6.6.3 及以上版本的客户端会自动的去 check 新版本,并下载下来,然后下次 冷启动的时候进行同步更新。属于微信内部自动更新,不需要开发者操作。(微信官方:新版本发布后保证24小时内新版本都能覆盖)

通过强制更新的api

在基础库 1.9.90 开始,微信提供wx.getUpdateManager 这个接口,获取当前更新管理器。
通过onUpdateReady进行回调 ,也就是最新的小程序版本已经下载完成,新版小程序已经准备好了的时候,执行强制更新applyUpdate, 如下:

// 检查是否更新
const checkUpdate = () => {
    const updateManager = getUpdateManager();
    // 在新版小程序已经准备好了的时候,进行强制更新。
    updateManager.onUpdateReady(function () {
        showModal({
          title: '更新提示',
          content: '新版本已经准备好,是否重启应用?',
          success: function (res) {
            if (res.confirm) {
              // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
              updateManager.applyUpdate()
            }
          }
        })
      })
}