H5app自动更新思路和实现

1.在服务器需要一个json或html文件,json最好。

[javascript]   view plain  copy
  1. {  
  2.     "state""yes",//是否自动更新  
  3.     "mark""1.0.6",//版本号  
  4.     "url""http:\/\/XXXXXXXX\/APPobject\/mmm.apk"//更新的应用下载地址  
  5. }  

2.自动更新函数

t是你当前正在运行的APP的版本号

[javascript]   view plain  copy
  1. //检查自动更新  
  2. function svn(t) {  
  3.     var xhr_svn = new plus.net.XMLHttpRequest();  
  4.     xhr_svn.onreadystatechange = function() {  
  5.         if (xhr_svn.readyState == 4) {  
  6.             if (xhr_svn.status == 200) {  
  7.                 var res = JSON.parse(xhr_svn.responseText);  
  8.                 if (res.state == 'yes') {  
  9.                     if (res.mark != t) {  
  10.                         var upr;  
  11.                         plus.nativeUI.confirm( "有新版本发布了,是否件更新?"function(e){  
  12.                             upr=(e.index==0)?"Y":"N";  
  13. //                          console.log(upr);  
  14.                             if(upr=="Y"){  
  15.                             var wt = plus.nativeUI.showWaiting('下载更新中,请勿关闭');  
  16.                             var url = res.url; // 下载文件地址  
  17.                             var dtask = plus.downloader.createDownload(url, {}, function(d, status) {  
  18.                                 if (status == 200) { // 下载成功  
  19.                                     var path = d.filename;  
  20.                                     console.log(d.filename);  
  21.                                     plus.runtime.install(path);  
  22.                                 } else { //下载失败  
  23.                                     alert("Download failed: " + status);  
  24.                                 }  
  25.                             });  
  26.                             dtask.start();  
  27.                             }else{  
  28.                                   
  29.                             }  
  30.                         }, "XXX系统", ["确认","取消"] );  
  31.                           
  32.                           
  33.                     } else {  
  34.                         console.log('最新');  
  35.                     }  
  36.                 }  
  37.             } else {  
  38.                 plus.nativeUI.toast( "网络连接错误!");  
  39.             }  
  40.         }  
  41.     }  
  42.     xhr_svn.open("GET""http:/XXX/APPobject/imes/update.json");//这里的地址是上面json文件的地址  
  43.     xhr_svn.send();  
  44.   
  45. }  
3.调用方法:在每次系统打开运行的时候执行上面的函数就可以

svn(版本号);


感谢以上博主的总结和梳理,非常受用

你可能感兴趣的:(H5app自动更新思路和实现)