1、获取版本号
源码:
mounted() {
var that = this;
if(window.plus){
// 在这里调用h5+ API
that.getVersion();
} else {// 兼容老版本的plusready事件
document.addEventListener('plusready',function () {
// 在这里调用h5+ API
that.getVersion();
},false);
}
},
getVersion() {
var that = this;
// 获取本地应用资源版本号
plus.runtime.getProperty(plus.runtime.appid,function(inf){
var wgtVer = inf.version; // 当前版本号
var ua = navigator.userAgent.toLowerCase();
var client;
if (/iphone|ipad|ipod/.test(ua)) {
client = 2;
} else if(/android/.test(ua)) {
client = 1;
}
that.$axios.get(that.apiUrl.api.appDownload+'?client_category='+client+'&version_number='+wgtVer)
.then(res=>{
if (res.data.code==0) {
console.log(JSON.stringify(res.data));
if (res.data.L==null) {
console.log('已经是最新版本');
} else {
if (res.data.L[0].update_status==1) { // 弱更新
plus.nativeUI.confirm( res.data.L[0].update_description, function(e){
if(e.index == 0){
var wgtUrl = res.data.L[0].apk_url;
if (client==1) {
plus.nativeUI.showWaiting('正在下载更新...');
plus.downloader.createDownload(wgtUrl, {}, function (d, status) {
if (status == 200) {
var path = d.filename;//下载apk
plus.runtime.install(path,{},function() {
plus.nativeUI.alert('更新完成',function(){
plus.runtime.restart();
});
},function(e) {
console.log("安装wgt文件失败["+e.code+"]:"+e.message);
plus.nativeUI.alert('版本更新失败:'+"["+e.code+"]:"+e.message);
}); // 自动安装apk文件
} else {
plus.nativeUI.alert('检测到新版本' + status);
that.getVersion();
}
plus.nativeUI.closeWaiting();
}).start();
} else {
window.location.href = wgtUrl;
}
}else{
// console.log('取消1');
}
}, '检测到新版本', ['确定','取消'] );
} else if (res.data.L[0].update_status==2) { // 强更新
plus.nativeUI.confirm( res.data.L[0].update_description, function(e){
if(e.index == 0){
var wgtUrl = res.data.L[0].apk_url;
if (client==1) {
plus.nativeUI.showWaiting('正在下载更新...');
plus.downloader.createDownload(wgtUrl, {}, function (d, status) {
if (status == 200) {
var path = d.filename;//下载apk
plus.runtime.install(path,{},function() {
plus.nativeUI.alert('更新完成',function(){
plus.runtime.restart();
});
},function(e) {
console.log("安装wgt文件失败["+e.code+"]:"+e.message);
plus.nativeUI.alert('版本更新失败:'+"["+e.code+"]:"+e.message);
}); // 自动安装apk文件
} else {
plus.nativeUI.alert('版本更新失败:' + status);
that.getVersion();
}
plus.nativeUI.closeWaiting();
}).start();
} else {
window.location.href = wgtUrl;
}
}else{
// console.log('取消2');
}
}, '检测到新版本', ['确定'] );
}
}
} else {
plus.nativeUI.toast(res.data.msg);
}
})
.catch(error=>{
plus.nativeUI.toast('更新失败,请重试!');
})
});
},