一、提供一个查询最新版本的接口 返回值中需要有版本号和下载地址
二、查询接口判断是否需要更新
$.ajax({
type: 'POST',
url: "http://getLatestVersion",
contentType: "application/json; charset=utf-8",
success: function(data) {
removeLoading();
if(data != null && data.data.data != null){
var lastVersion = data.data.data;
if(lastVersion.versionCode > appVersionCode) {
//自动强制更新app 如果不想强制可以弹框让用户选择
DownloadFile(lastVersion.url);
}
}
},
});
三、下载更新
function DownloadFile(url){
var d = plus.downloader.createDownload(url, {}, function(f, s) {
plus.runtime.install(f.filename, {force:true}, function() {
plus.runtime.quit();
},function(err){
alert(JSON.stringify(err));
mui.toast("安装升级失败");
});
}, function() {
alert("下载失败");
});
//显示更新进度的标签 自定义
d.addEventListener('statechanged', function(download, status) {
$("#updateApp_Rate").show();
if (download.state == 3 && status == 200) {
var percent = Math.round((download.downloadedSize / download.totalSize) * 100);
$("#updateApp_Rate").html("更新进度: "+percent + "%");
} else if (download.state == 4) {}
}, false);
$("#updateApp_Rate").hide();
d.start();
}