相信大家在使用小程序的时候,都遇到过版本更新吧,会自动弹出一个小程序有新版本的提示,问你是否需要更新新版本并重启,那么这种是怎么实现的呢,下面一起来看看吧。

我翻阅了UniApp的文档后发现有这么一个东西,updateManager这个东西是版本更新管理器对象,用于管理小程序更新。

UniApp自动更新_版本更新

那么根据官方文档可以看到,我们在UniApp中如何实现这种自动更新提示呢?

<script>
	export default {
		onLaunch: function() {
			console.log('App Launch')
			let updateManager = uni.getUpdateManager();
			if (!updateManager) {
				return
			} else {
				//新版本更新
				if (uni.canIUse('getUpdateManager')) {
					//判断当前微信版本是否支持版本更新
					updateManager.onCheckForUpdate(function(res) {
						if (res.hasUpdate) {
							// 请求完新版本信息的回调
							updateManager.onUpdateReady(function() {
								uni.showModal({
									title: '更新提示',
									content: '新版本已经准备好,是否重启应用?',
									success: function(res) {
										if (res.confirm) {
											// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
											updateManager.applyUpdate();
										}
									},
								});
							});
							updateManager.onUpdateFailed(function() {
								uni.showModal({
									// 新的版本下载失败
									title: '已经有新版本了哟~',
									content: '新版本已经上线啦~,请您删除当前小程序,重新搜索(丹丹潮童馆)打开哟~',
								});
							});
						} else {}
					});
				} else {
					uni.showModal({
						// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
						title: '提示',
						content: '当前微信版本过低,部分功能无法使用,请升级到最新微信版本后重试。',
					});
				}

			}
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

这样就实现了小程序的自动更新提示了,有了UniApp的接口后实现起来是不是很简单啊。