小程序版本更新(uni-app)
大约 2 分钟
小程序版本更新(uni-app)
1.需求分析
在小程序更新开发版本之后,用户本地并没有对之前版本的小程序进行删除,那么再进入小程序的时候的版本是不会发生变化的,这是由于发版是异步执行,因此新版本将会覆盖的比较慢,本质是小程序的启动方式分为两种,冷启动与热启动。
冷启动:指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。 热启动:指用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程并不会重新加载启动。
2.案例代码
在App.vue里面写
<script>
export default {
onLaunch () {
const updateManager = uni.getUpdateManager();
updateManager.onCheckForUpdate(function(res) {
// 请求完新版本信息的回调
if (res.hasUpdate) {
updateManager.onUpdateReady(function(res2) {
uni.showModal({
title: '更新提示',
content: '发现新版本,是否重启应用?',
success(res2) {
if (res2.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
}
})
})
}
});
// 当新版本下载失败
updateManager.onUpdateFailed(function(res) {
uni.showModal({
title: '提示',
content: '新版小程序下载失败\n请自行退出程序,手动卸载本程序,再运行',
confirmText: "知道了"
});
})
}
}
</script>
PS: 1、小程序开发版/体验版没有「版本」概念,所以无法在开发版/体验版上测试更版本更新情况 2、本地调试: 在微信小程序开发工具中,添加编译模式,步骤如下: (1)点击普通编译下的【添加编译模式】按钮 (2)勾选底部选项下次编译时模拟更新。 (3)选择新的编译选项,重新加载当前小程序即可。