关于小程序的更新机制
小程序冷启动时如果发现有新版本,将会异步下载新版本的代码包,并同时用客户端本地的包进行启动,即新版本的小程序需要等下一次冷启动才会应用上。 如果需要马上应用最新版本,可以使用 wx.getUpdateManager 进行更新重启。
小程序发布后,若用户不是首次打开小程序,一般会出现不能立即更新到最新版本。
解决办法:就是使用版本更新管理器wx.getUpdateManager(),在每次进入小程序时执行一遍版本检测、更新的代码。
可以在 app.js 的 onLaunch() 方法中进行调用 checkUpdateVersion()
关于开发板如何调试:
微信开发者工具上可以通过「编译模式」下的「下次编译模拟更新」开关来调试
//app.js
App({onLaunch() {this.checkUpdateVersion()},// 版本更新checkUpdateVersion() {const updateManager = wx.getUpdateManager()updateManager.onCheckForUpdate(function (res) {// 请求完新版本信息的回调if(res.hasUpdate) {// 新版本下载成功updateManager.onUpdateReady(function () {wx.showModal({title: '更新提示',content: '新版本已经准备好,请您重启应用,以确保正常使用。',success: function (res) {if (res.confirm) {// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启updateManager.applyUpdate()}}})})// 新版本下载失败updateManager.onUpdateFailed(function () {wx.showModal({title: '更新提示',content: '请您删除当前小程序,到微信 “发现-小程序” 页,重新搜索打开呦~'})})}})}
})