我们需要去官网了解两个小程序的概念:
小程序运行机制:https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html
小程序更新机制:https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechanism.html
冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。
热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。
const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 console.log(res.hasUpdate) }) updateManager.onUpdateReady(function () { wx.showModal({ title: ‘更新提示‘, content: ‘新版本已经准备好,是否重启应用?‘, success(res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate() } } }) }) updateManager.onUpdateFailed(function () { // 新版本下载失败 })
转:https://www.jianshu.com/p/1bfb924eabf9
看了上面的有些问题,为什么不直接在收到回调以后,就调用更新?
然而,有个兄弟是这样做的。
/** * 版本更新机制兼容低版本代码 */ checkUpdate(){ // 判断当前微信版本是否支持检测更新接口,注:(基础库版本大于v1.9.90才可以使用getUpdateManager接口所以要做低版本兼容处理) if (wx.canIUse(‘getUpdateManager‘)) { const updateManager = wx.getUpdateManager(); // 请求完新版本信息的回调 updateManager.onCheckForUpdate(function (res) { // 如有新版本则进行静默下载更新并提示 if(res.hasUpdate){ // 新版本下载成功 updateManager.onUpdateReady(function () { wx.showModal({ title: ‘更新提示‘, content: ‘发现版本更新,已经准备好请重启应用~‘, showCancel:false, success(res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate(); } } }) }); // 新版本下载失败 updateManager.onUpdateFailed(function () { wx.showModal({ title: ‘更新提示‘, content: ‘新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~‘, showCancel:false }) }) } }); }else{ // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 wx.showModal({ title: ‘提示‘, content: ‘当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。‘, success(res) { if (res.confirm) { // 使用此接口可直接跳转至微信客户端更新下载页面 wx.updateWeChatApp(); } } }) } }
转:https://blog.csdn.net/qq_33794744/article/details/108343829
微信小程序发布新版本的小程序之后,从发现-小程序中启动,还是看的到旧版本。[转]
原文:https://www.cnblogs.com/jiduoduo/p/15196127.html