1.uniapp 微信小程序如何解决旧版本缓存问题
在小程序发布新版本后,小程序端是异步更新,新版本覆盖较慢。如果用户之前已经打开过小程序,通过 热启动 再进入小程序时,可能访问的还是旧版本,需要一段时间时间才会覆盖会存在缓存问题
冷启动
:指用户首次打开或小程序被微信主动销毁后再次打开,此时小程序需要重新加载启动。
热启动
:指用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程并不会重新加载启动。
onLaunch: function() {
// #ifdef MP
this.mpUpdate()
// #endif
}
methods: {
mpUpdate() {
const updateManager = uni.getUpdateManager() // 小程序版本更新管理器
updateManager.onCheckForUpdate(res => { // 检测新版本后的回调
if(res.hasUpdate) { // 如果有新版本提醒并进行强制升级
uni.showModal({
content: '更新到最新版本',
showCancel: false,
confirmText: '确定',
success: res => {
if (res.confirm) {
updateManager.onUpdateReady(res => { // 新版本下载完成的回调
updateManager.applyUpdate() // 强制当前小程序应用上新版本并重启
})
updateManager.onUpdateFailed(res => { // 新版本下载失败的回调
// 新版本下载失败,提示用户删除后通过冷启动重新打开
uni.showModal({
content: '下载失败,请删除当前小程序后重新打开',
showCancel: false,
confirmText: '知道了'
})
})
}
}
})
}
})
}
}