最近开发小程序时候碰上了一个问题,当发布新版本小程序后,需要用户能赶紧用上最新的,避免出问题。查了一下官方文档,总结出几个情况如下:
(黄花菜都凉了)
(对于使用频率高的小程序没P用)
(本次不生效,下次冷启动才生效)
这里科普一下什么是冷启动和热启动
通过查询文档和网上冲浪,最终解决方案是在app.js的onShow生命周期里检查是否有新版本,如果有的话,就异步下载,下载完毕弹窗提示用户更新,代码如下:
const updateManager = uni.getUpdateManager() onShow() { // 请求完新版本信息的回调 updateManager.onCheckForUpdate(res => { if (res.hasUpdate) { // 新版本下载成功 updateManager.onUpdateReady(() => { uni.showModal({ title: '更新提示', content: '新版本已经准备好,点击确定重启小程序', success(res) { if (res.confirm) { // 新的版本已经下载好,强制更新 updateManager.applyUpdate() } } }) }) } }) // 新版本下载失败 updateManager.onUpdateFailed(res => { console.error(res) }) }
版本
概念,所以无法在开发版/体验版上测试更版本更新情况编译模式
中勾选下次编译模拟更新
开关来调试如果看了觉得有帮助的,我是@上进的鹏多多,欢迎 点赞 关注 评论;END
PS:在本页按F12,在console中输入document.querySelectorAll('.diggit')[0].click(),有惊喜哦
公众号
往期文章
个人主页