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();
								}
							);
						}
					}
				});
			}
		}
	});
}