【微信小程序】检测版本是否更新

关于销毁

当用户点击了右上角的胶囊按钮关闭小程序,或者滑动屏幕返回手机主页面(离开微信),这时候小程序并没有直接销毁,而是进入了后台。当再次进入微信或者再次打开小程序,又会从后台进入前台。
只有当小程序进入后台一定时间(也就是时间过长),或者系统资源占用过高,才会被真正的销毁。

冷启动 & 热启动

冷启动:小程序首次打开或者销毁后再次被打开。
热启动:是指从后台切换到前台,或者小程序在后台运行,重新打开小程序。

下载更新

小程序冷启动时如果发现有新版本,将会异步下载新版本的代码包,
如果需要马上应用最新版本,可以使用 wx.getUpdateManager API 进行处理。

// app.js

App({

  /**
   * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
   */
  onLaunch: function () {
    // 检查是否需要更新
    this.checkForUpdates();
  },

  /**
   * 当小程序启动,或从后台进入前台显示,会触发 onShow
   */
  onShow: function (options) {

  },

  /**
   * 当小程序从前台进入后台,会触发 onHide
   */
  onHide: function () {

  },

  checkForUpdates: function () {
    if (!wx.canIUse(getUpdateManager)) {
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低,请升级到最新微信版本后重试。',
        showCancel: false,
      });
      return;
    }

    const updateManager = wx.getUpdateManager();
    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好,是否重启应用?',
        showCancel: false,
        success: function (res) {
          if (res.confirm) {
            // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate();
          }
        }
      });
    });
    updateManager.onUpdateFailed(function () {
      // 新版本下载失败
      wx.showModal({
     	title: '已经有新版本喽~',
      	content: '请您删除当前小程序,到微信 “发现-小程序” 页,重新搜索打开哦~',
      	showCancel: false,
 	  });
    });
  },
});

tip:微信后台有设置“最低基础库版本”,低于最低基础库版本的少数用户可能存在基础库缓存问题,应根据【微信官方文档】基础库版本分布的映射关系,对这部分用户提示更新。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值