小程序之版本更新

版本更新代码如下

// 版本更新提示
update(){
	if (uni.canIUse('getUpdateManager')) {
	  const updateManager = uni.getUpdateManager();
	  updateManager.onCheckForUpdate(function (res) {
	    // 请求完新版本信息的回调
	  	if(res.hasUpdate){
	  		updateManager.onUpdateReady(function (res) {
	  		  uni.showModal({
	  		    title: '更新提示',
	  		    content: '新版本已经准备好,为了获得更好的体验,建议立即更新'
	  		    success(res) {
	  		      if (res.confirm) {
	  		        // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
	  		        updateManager.applyUpdate();
	  		      }
	  		    }
	  		  });
	  		});
	  		
	  		updateManager.onUpdateFailed(function () {
	  			// 新的版本下载失败
	  			uni.showModal({
	  				title: '已经有新版本了哟~',
	  				content: '新版本更新失败,为了获得更好的体验,请您前往发现--小程序中删除当前小程序,重新搜索打开哟~'
	  			})
	  		})
	  	}
	  });
	} else {
	  // can't use getUpdateManager
	  uni.showModal({
			title: '提示',
			content: '当前微信版本过低,无法使用新功能,请升级到最新微信版本后重试。'
	   })
	}
	
}

版本跟新代码应该写在那个钩子函数里面?

1. 写在onLaunch里面
https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechanism.html
由于小程序具有缓存机制, 即使退出小程序,在一定时间内进入小程序,走热处理(即不进入onLaunch),只有当缓存过大, 或者发布24小时内未进入小程序, 进入小程序将会进行冷启动(全局调用一次onLaunch),这时就会更新版本, 但是对于一直用的老用户来说,可能不能立马就能更新

2. 写在onShow里面
每次进入小程序,都会调用onShow. 由于要求提交版本后要老用户也要立刻看到更新状态, 将版本更新提示写入onShow也可以实现版本更新提示

版本更新提示只有线上版本才有, 体验版本无法看到, 可以通过微信开发者工具测试:
https://blog.csdn.net/weixin_44852765/article/details/113114519

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值