当前位置:首页 > 前端 > 正文内容

微信小程序强制热更新

Z先生6年前 (2020-05-26)前端2244

微信小程序分为冷启动和热启动,在更新后,一般需要一个周期,用户端才会重新更新。

官方从小程序基础库版本1.9.90开始支持强制更新

异步更新 + 强制更新方案介绍

从基础库 1.9.90 开始,我们提供了 wx.getUpdateManager 接口,使用该接口,可以获知是否有新版本小程序、新版本是否下载好以及应用新版本的能力。

当小程序冷启动时,会自动向微信后台请求新版本信息,如果有新版本,会马上触发新版本的下载。开发者可以通过 wx.getUpdateManager,获知当前更新的状态。

wx.getUpdateManager 接口会返回一个 UpdateManager 实例,UpdateManager 包含了三个回调:

1. onCheckForUpdate:当小程序向后台请求完新版本信息,会通知这个版本告知检查结果
2. onUpdateReady:当新版本下载完成,会回调这个事件
3. onUpdateFailed: 当新版本下载失败,会回调这个事件

具体示例:

// wx.getUpdateManager 在 1.9.90 才可用,请注意兼容
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
 // 请求完新版本信息的回调
 console.log(res.hasUpdate)
})
updateManager.onUpdateReady(function () {
 wx.showModal({
   title:'更新提示',
   content:'新版本已经准备好,是否马上重启小程序?',
   success:function (res) {
     if (res.confirm) {
       // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
       updateManager.applyUpdate()
     }
   }
 })
})
updateManager.onUpdateFailed(function () {
 // 新的版本下载失败
})


其他相关问题:

1、小程序库如何设置最低版本?

登录小程序管理后台,进入“设置->基本设置->基础库最低版本设置”进行配置。

在配置前,开发者可查看近30天内访问小程序的用户的基础库版本占比,以帮助开发者了解当前用户使用的情况。


2、调试的时候如何设置更新检查


分享给朋友:

相关文章

【原创】api接口模拟器(NodeJS版)

最近遇到一个项目,内网的APP,后端数据和前段开发属于异地,没法直接做接口数据测试。因此用NodeJs简单写了个API模拟器,只要将响应的数据放在对应目录下json.json文件中即可。请求地址全静态...

uniapp无缝滚动核心代码

1、页面代码核心代码<scroll-view class="scoll-warp">     <view&nb...

npm删除掉所有模块并重新安装的方法

1、删除目录:node_modules2、运行清理命令npm cache clean -f3、安装npm install...

微信html链接小程序原始写法(暂未测试)

微信html链接小程序原始写法(暂未测试)

无意间发现了微信的这个链接,这几天比较忙,暂时还没有测试,等空了再测试一下。<a class="weapp_text_link"   &nbs...

写给即将寿终正寝的Flash,即html5 Flash解决方案

写给即将寿终正寝的Flash,即html5 Flash解决方案

Adobe的Flash将于2020年12月31日正式终止。Adobe公司最近宣布,将会正式宣布停止对Flash的支持,这也变相宣布了Flash的死亡,Flash Player将于2020年12月31日...

记vue/uniapp本地调试以及部署代理服务器设置哪些事

接触vue差不多也一年有余,很多概念性的东西都不懂,逐步已经习惯了npm来安装,之前其他同事做的一些项目,npm自己拿过来也踩了很多坑,比如换个环境再npm就跑不起来了等等之类的,遇到最多的就是scs...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。
请先 登录 再评论,若不是会员请先 注册