使用uni app开发小程序。小程序更新后无法与本地用户及时更新的问题的解决方案
微信小程序开发
APP开发
浏览:1160 次

<元字符集=“utf-8”>
1.原因分析
小程序的开发版本更新后,用户不会在本地删除以前版本的小程序,因此再次进入小程序时版本不会更改。这是因为该版本是异步发布的,因此新版本将被缓慢覆盖。本质上,小程序有两种启动模式,冷启动和热启动。
冷启动:指用户第一次打开或小程序被微信主动销毁后再次打开。此时,需要重新加载并启动小程序。
热启动:指用户打开了一个小程序,然后在一定时间内再次打开小程序。此时,无需重新启动,只需将后台小程序切换到前台,此过程将不会重新加载。
2.解决方案
为了在每次更新小程序时提醒用户更新,uni app提供了uni。getUpdateManager()接口来管理小程序更新。
参考地址:
代码为:
onLaunch:函数(){
常量更新管理器=uni.getUpdateManager();
updateManager。onCheckForUpdate(函数(res){
//请求回调新版本信息
if(res.hasUpdate){
updateManager。onUpdateReady(函数(res2){
uni.show模式({
标题:'更新提示',
content:'找到新版本,是否要重新启动App?',

cancelColor:“#eeeeee”,
confirmColor:“#FF0000”,
成功(res2){
如果(res2.confirm){
//新版本已下载。调用applyUpdate应用新版本并重新启动
updateManager.applyUpdate();
}
}
});
});
}
});
updateManager。onUpdateFailed(函数(res){
//新版本下载失败
uni.show模式({
标题:'提示',
内容:“检测到新版本,但下载失败,请检查网络设置”,
成功(res){

如果(res.confirm){
//新版本已下载。调用applyUpdate应用新版本并重新启动
updateManager.applyUpdate();
}
}
});
});
},
3.本地调试
在微信小程序开发工具中,添加如下编译模式:
1.在正常编译下单击[添加编译模式]按钮
形象
2填写新的编译模式值,填写名称,选择启动页面(主页),然后选中底部选项。
形象
3选择新的编译选项以加载当前小程序。
形象
这样,我们刚刚添加的代码的执行效果将出现在界面上,如下所示:
形象