前言
微信小程序采取的是异步更新,当小程序新版本发布后,可能一部分用户不会马上收到最新版本的小程序。
更新方案
- 定时 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()
}
}
})
})
}