无语无泪
无语无泪
  • 发布:2017-03-28 10:23
  • 更新:2017-03-28 10:23
  • 阅读:3681

app中判断自动升级的一个主要逻辑

分类:HTML5+

1.在服务器需要一个json或html文件,json最好。
{
"state": "yes",//是否自动更新
"mark": "1.0.6",//版本号
"url": "http:\/\/XXXXXXXX\/APPobject\/mmm.wgt"//更新的应用下载地址
}
2.自动更新函数
t是你当前正在运行的APP的版本号

//检查自动更新
function svn(t) {
var xhr_svn = new plus.net.XMLHttpRequest();
xhr_svn.onreadystatechange = function() {
if (xhr_svn.readyState == 4) {
if (xhr_svn.status == 200) {
var res = JSON.parse(xhr_svn.responseText);
if (res.state == 'yes') {
if (res.mark != t) {
var upr;
plus.nativeUI.confirm( "有新版本发布了,是否件更新?", function(e){
upr=(e.index==0)?"Y":"N";
// console.log(upr);
if(upr=="Y"){
var wt = plus.nativeUI.showWaiting('下载更新中,请勿关闭');
var url = res.url; // 下载文件地址
var dtask = plus.downloader.createDownload(url, {}, function(d, status) {
if (status == 200) { // 下载成功
var path = d.filename;
console.log(d.filename);
plus.runtime.install(path);
} else { //下载失败
alert("Download failed: " + status);
}
});
dtask.start();
}else{

                        }     
                    }, "XXX系统", ["确认","取消"] );     

                } else {     
                    console.log('最新');     
                }     
            }     
        } else {     
            plus.nativeUI.toast( "网络连接错误!");     
        }     
    }     
}     
xhr_svn.open("GET", "http:/XXX/APPobject/imes/update.json");//这里的地址是上面json文件的地址     
xhr_svn.send();     

}
3.调用方法:在每次系统打开运行的时候执行上面的函数就可以

0 关注 分享

要回复文章请先登录注册

gewu851755259

gewu851755259

请问大神!第三步每次系统打开运行的时候调用是怎么做到的,我的首页会经常被重复创建,每创建一次就会弹出更新提示框,想加个变量判断也找不到合适的存储方法。
2017-08-23 10:29
无语无泪

无语无泪 (作者)

赞一个!
2017-03-28 10:25