微信小程序强制热更新
微信小程序分为冷启动和热启动,在更新后,一般需要一个周期,用户端才会重新更新。
官方从小程序基础库版本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、调试的时候如何设置更新检查