相信很多人在做微信小程序强制更新时都会遇到,模拟器勾选了模拟更新,并且成功实现了新版本更新提示,但在线上版本小程序并没有弹出这个弹窗的问题。
image
贴出逻辑代码:
if (wx.canIUse('getUpdateManager')) {
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: '新版本已经上线啦~,请您删除当前小程序,重新搜索进入哟~',
})
})
}
})
} else {
wx.showModal({// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
}
这样的代码网上其实有很多了,大致也都类似 ,但网上大多数都教你在app.js中的onLaunch里写,但实际上是错误的,应该写在app.js 中的onShow里面,这样就没问题了。
大家快去试试把!
网友评论