受欢迎的博客标签

微信小程序云开发-线上发布检查清单(3)-微信小程序版本自动更新知识点及更新方法

Published

微信小程序版本自动更新知识点及更新方法

https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechanism.html

https://www.jianshu.com/p/4f5e3faaf483

1.1 场景:

新项目发布之后,用户使用依然是老版本,这是因为在微信中有旧版本的缓存。要想用户用上新版本,只能通过提示用户在发现-小程序入口中将旧版小程序删除,然后重新搜索小程序。

需要注意的是,你在你的项目中加了如上代码通过审核并发布后,依然需要进行最上方操作,即删除小程序重新搜索,因为你新版本的小程序还未在用户手机中,即用户手机中的小程序仍是旧版小程序,onLoad()事件中并没有你新添加的如上代码。

删除过一次后,以后提交审核发布,就可以实现自动更新了.

必要性:紧急情况下小程序有问题后立即更新解决问题。

1.2

程序的更新机制是异步的,所以说部分用户不会马上应用上新版本。

小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」。

      热启动:

     假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;

      冷启动:

       冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。

小程序的异步更新发生在冷启动过程,当发现新版本后,会异步下载新版本的代码包,但不会马上应用上最新版本,需要等小程序下一次冷启动,才会应用上新版本。

2.本地测试设置

come from:https://github.com/EastWorld/wechat-app-mall

App({
  onLaunch: function() {
    WXAPI.init(CONFIG.subDomain)
    const that = this;
    // 检测新版本
    const updateManager = wx.getUpdateManager()
    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好,是否重启应用?',
        success(res) {
          if (res.confirm) {
            // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })

小程序官方的更新机制的几种方法及优缺点说明

https://wenku.baidu.com/view/62857b1cff4733687e21af45b307e87101f6f8bf.html