小程序版本更新后,用户看到的还是旧版,这段代码放在生命周期onShow里面检测有时候不出来。
onShow: function() {
console.log('热更新')
if (wx.canIUse("getUpdateManager")) {
const updateManager = wx.getUpdateManager();
updateManager.onCheckForUpdate(function(res) {
console.log("onCheckForUpdate====11111", res);
// 请求完新版本信息的回调
if (res.hasUpdate) {
console.log("res.hasUpdate====");
}
});
updateManager.onUpdateReady(function(res) {
console.log(111, res);
wx.showModal({
title: "版本更新",
content: "新版本已经准备好,确定重启应用?",
showCancel: false,
success: function(res) {
console.log("success====", res);
// res: {errMsg: "showModal: ok", cancel: false, confirm: true}
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
}
});
});
updateManager.onUpdateFailed(function() {
// 新的版本下载失败
wx.showModal({
title: "已经有新版本了哟~",
content: "新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~"
});
});
}
},
参考以下帖子:
https://developers.weixin.qq.com/community/develop/doc/000a4636f2c3083d62d7598e15b000