使用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选择新的编译选项以加载当前小程序。

形象

这样,我们刚刚添加的代码的执行效果将出现在界面上,如下所示:

形象