参考官方文档
问题:小程序发布后(全量发布),若用户不是首次打开小程序,可能会出现不能立即更新到最新版本的情况。
解决:可以使用版本更新管理器wx.getUpdateManager(),在每次进入小程序时执行一遍版本检测、更新的代码。
全部代码如下,和官方文档的示例差不多,/app.js
//app.js
App({
onLaunch() {
this.update()
},
// 版本更新
update() {
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
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: '检测到了新版本,但是下载失败了~'
})
})
}
})
}
})