首页 > 热点 > 微信 > 正文

微信小程序版本自动更新的方法

2024-07-22 01:18:12
字体:
来源:转载
供稿:网友

公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了以下优化..

知识点1: 当用户点击左上角关闭,或者按了设备Home 键离开微信,小程序并没有直接销毁,而是进入了后台;
当再次进入微信或再次打开小程序,又会从后台进入前台,只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

知识点2: 小程序的启动分为"冷启动" 和 "热启动".

热启动是指: 小程序打开后,在一段时间内(目前:5分钟)再次被打开,此时会将后台的小程序切换到前台。

冷启动是指: 小程序首次打开或销毁后再次被打开

知识点3: 更新版本

冷启动时, 如果发现有新版本,将会异步下载新版本的代码包,并同时用客户端本地的包进行启动,即新版本的小程序需要等下一次冷启动才会应用上。

如果要马上应用最新版本,使用wx.getUpdateManager API 进行处理。

代码如下:

// 在app.js里写下以下代码 onLaunch () {  if (wx.canIUse('getUpdateManager')) {   const updateManager = wx.getUpdateManager()   updateManager.onCheckForUpdate(function (res) {    console.log('onCheckForUpdate====', res)    // 请求完新版本信息的回调    if (res.hasUpdate) {     console.log('res.hasUpdate====')     updateManager.onUpdateReady(function () {      wx.showModal({       title: '更新提示',       content: '新版本已经准备好,是否重启应用?',       success: function (res) {        console.log('success====', res)        // res: {errMsg: "showModal: ok", cancel: false, confirm: true}        if (res.confirm) {         // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启         updateManager.applyUpdate()        }       }      })     })     updateManager.onUpdateFailed(function () {      // 新的版本下载失败      wx.showModal({       title: '已经有新版本了哟~',       content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'      })     })    }   })  } }

知识点4: 小程序重新初始化时会触发onLaunch事件.  onLaunch事件会触发在页面onShow事件之前.获取小程序更新版本可以写在onLaunch里.

知识点5:

在开发和体验版无法测试版本更新

需要在开发者工具里,编译时选择"模拟更新编译"

(部分开发者工具版本, 每次update编译时都需要重新勾选此选项)

点击确定,重新编译.

页面会弹窗显示:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表