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: '***', //下载地址
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();
}
);
}
}
});
}
}
});
}

[转自:https://www.cnblogs.com/yeziyou/p/13391349.html](https://www.cnblogs.com/yeziyou/p/13391349.html)
原文地址:https://www.cnblogs.com/dreamsails/p/14308177.html