小程序(生产环境)为了提高用户体验,因此它在本地做了一个缓存配置,以便下次打开的时候可以快速看到页面内容。但是,随之又出现了一个新的问题:每一次发版之后,并不会及时得到更新,下面的代码就是为了解决此问题应用而生,当然这也是信息官方提供的API,我是一个代码搬运工而已,哈哈!
// 检查版本更新
wx.checkedUpdate = () => {
if (wx.canIUse('getUpdateManager')) {
let updateManager = wx.getUpdateManager();
updateManager.onCheckForUpdate((res) => {
if (res.hasUpdate) {
// 程序检测到当前有新版本了
updateManager.onUpdateReady(() => {
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: (res) => {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
}
})
});
updateManager.onUpdateFailed(() => {
// 新的版本下载失败
wx.showModal({
title: '更新提示',
content: '已有新版本,请您删除当前小程序,重新搜索打开!'
})
});
}
})
} else {
let isTips = wx.getStorageSync('noVerTips');
if (!isTips) {
// 微信低版本提示只会弹出一次
wx.showModal({
title: '提示',
content: '当前微信版本过低,无法检测最新版本,请升级后再试!',
complete: () => {
wx.setStorage({
key: 'noVerTips',
data: true
})
}
});
}
}
}
使用方法:在 app.js 中的 onShow 生命周期中直接调上面的方法即可 wx.checkedUpdate(); 里面的提示语可自行修改,没有任何问题!
发表评论