在app.js文件中配置:
...
onShow: function() {
console.log('show');
var ua = navigator.userAgent;
if(ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) {
var server = "http://xxxx.com/update"; //检查更新地址
var req = { //升级检测数据
"versionCode":plus.runtime.versionCode,
};
//注释部分是wap2app封装请求
wap2app.ajax.post(server, req, function(rsp) {
if(rsp.code == 200000 && rsp.data != 'none'){
plus.nativeUI.alert("新版本可用", function(event) {
var dtask = plus.downloader.createDownload(
rsp.data,
{},
function(d, status) {
console.log('下载完成!');
if (status == 200) {
plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename), {}, e => e, function(error) {
console.log('安装失败-01!');
})
} else {
console.log('更新失败-02!');
}
});
//设置检查更新进度显示
try {
dtask.start(); // 开启下载的任务
var prg = 0;
var showLoading = plus.nativeUI.showWaiting("正在下载"); //创建一个showWaiting对象
dtask.addEventListener('statechanged', function(
task,
status
) {
// 给下载任务设置一个监听 并根据状态 做操作
switch (task.state) {
case 1:
showLoading.setTitle("正在下载");
break;
case 2:
showLoading.setTitle("已连接到服务器");
break;
case 3:
prg = parseInt(
(parseFloat(task.downloadedSize) /
parseFloat(task.totalSize)) *
100
);
showLoading.setTitle(" 正在下载" + prg + "% ");
break;
case 4:
plus.nativeUI.closeWaiting();
//下载完成
break;
}
});
} catch (err) {
plus.nativeUI.closeWaiting();
console.log('更新失败-03')
}
}, "提示", "立即更新");
}
});
}
},
...