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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。