小程序版本更新(uni-app)

本文介绍了小程序在用户未删除旧版本时,新版本更新不生效的原因,主要涉及到小程序的冷启动和热启动概念。同时,提供了在App.vue中检查和处理更新的代码示例,包括在更新可用时提示用户重启应用,以及更新失败的处理策略。此外,还分享了如何在本地模拟小程序版本更新的调试方法。
摘要由CSDN通过智能技术生成

1.需求分析

在小程序更新开发版本之后,用户本地并没有对之前版本的小程序进行删除,那么再进入小程序的时候的版本是不会发生变化的,这是由于发版是异步执行,因此新版本将会覆盖的比较慢,本质是小程序的启动方式分为两种,冷启动与热启动。

冷启动:指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。
热启动:指用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程并不会重新加载启动。

2.案例代码

在App.vue里面写

<script>
	export default {
		onLaunch () {
			const updateManager = uni.getUpdateManager();
			updateManager.onCheckForUpdate(function(res) {
				// 请求完新版本信息的回调
				if (res.hasUpdate) {
					updateManager.onUpdateReady(function(res2) {
						uni.showModal({
							title: '更新提示',
							content: '发现新版本,是否重启应用?',
							success(res2) {
								if (res2.confirm) {
										// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
									updateManager.applyUpdate();
								}
							}
						})
					})
				}
			});
			// 当新版本下载失败
			updateManager.onUpdateFailed(function(res) {
				uni.showModal({
					title: '提示',
					content: '新版小程序下载失败\n请自行退出程序,手动卸载本程序,再运行',
					confirmText: "知道了"
				});
			})
		}
	}
</script>

PS:
1、小程序开发版/体验版没有「版本」概念,所以无法在开发版/体验版上测试更版本更新情况
2、本地调试:
在微信小程序开发工具中,添加编译模式,步骤如下:
(1)点击普通编译下的【添加编译模式】按钮
(2)勾选底部选项下次编译时模拟更新。
(3)选择新的编译选项,重新加载当前小程序即可。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你好!机器人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值