uni-app APP开发升级功能
plus.runtime.getProperty(plus.runtime.appid, function(inf) {//如果接口没有参数需求,可以跳过第一步的获取版本号直接在当前运行。if (res.confirm == true) {//当用户确定更新,执行更新方法。//获取版本号由于本人plus.runtime.version获取异常使用这样的。content: "确认下载更新",...
//获取权限及访问后端接口是否更新
async update() {
var _this = this;
plus.runtime.getProperty(plus.runtime.appid, function(inf) {
_this.versions=inf.version
}); //获取版本号 由于本人plus.runtime.version 获取异常使用这样的
setTimeout(async ()=>{
let data={
type:'android',
version:this.versions
}
var banbenData = await this.$http.version(data); //请求后端更新接口
plus.runtime.getProperty(plus.runtime.appid, function(inf) { //如果接口没有参数需求,可以跳过第一步的获取版本号直接在当前运行
console.log(inf,'inf')
if(inf.version != banbenData.data.versions){
uni.showModal({
title: "发现新版本",
content: "确认下载更新",
success: (res) => {
if (res.confirm == true) {//当用户确定更新,执行更新方法
_this.doUpData(banbenData.data.url);
}
}
})
}
});
},1000)
},
//正在更新
doUpData(url) {
uni.showLoading({
title: '更新中……'
});
uni.downloadFile({
//执行下载
url: 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();
}
);
}
}
});
}
}
});
},
更多推荐
所有评论(0)