uni-app 实现APP的版本更新

Posted Hedy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app 实现APP的版本更新相关的知识,希望对你有一定的参考价值。

在index.vue 中的onload方法里面或者app.vue中的onLaunch中添加如下部分:

update() {
	var _this = this;
	uni.request({
	url: `${this.$store.state.apiBaseUrl}/users/versions`,
	method: ‘POST‘,
	success: result => {
		if (result.data.code == 1) { 
			plus.runtime.getProperty(plus.runtime.appid, function(inf) {
				if(inf.version != result.data.data.versions){
					uni.showModal({
						title: "发现新版本",
						content: "确认下载更新",
						success: (res) => {
							if (res.confirm == true) {//当用户确定更新,执行更新
								_this.doUpData();
							} 
						}
					})
				}
			});
		}
	},
	})
},

doUpData() {
	uni.showLoading({
		title: ‘更新中……‘
	})
	uni.downloadFile({//执行下载
		url: ‘https://dianqi7niu.win2017.cn/hmm.apk‘,
		success: downloadResult => {//下载成功
			uni.hideLoading();
			if (downloadResult.statusCode == 200) {
				uni.showModal({
					title: ‘‘,
					content: ‘更新成功,确定现在重启吗?‘,
					confirmText: ‘重启‘,
					confirmColor: ‘#EE8F57‘,
					success: function(res) {
						if (res.confirm == true) {
							plus.runtime.install(//安装
								downloadResult.tempFilePath, {
									force: true
								},
								function(res) {
									utils.showToast(‘更新成功,重启中‘);
									plus.runtime.restart();
								}
							);
						}
					}
				});
			}
		}
	});
}

  

 

以上是关于uni-app 实现APP的版本更新的主要内容,如果未能解决你的问题,请参考以下文章

使用uni-app开发小程序,关于小程序更新后与用户本地不会及时更新解决办法

跨平台应用开发进阶(三十一) :uni-app实现覆盖原生控件导航栏和tabbar全屏弹窗

在uni-app中引入和使用uViewUI

uni-app父子组件传递数据(更新中)

Android集成Uni-App离线打包

uni-app技术分享| uni-app转小程序-实时消息