其他分享
首页 > 其他分享> > HBuilder webApp热更新(在线升级)的实现

HBuilder webApp热更新(在线升级)的实现

作者:互联网

#####一、制作移动APP资源升级包(wgt文件)
制作wgt文件之前,清先在manifest.json文件中更新版本号,如果项目中的版本号和wgt文件中的版本号相同,则会更新失败,下图是制作wgt文件的方法:

 

 #####二、打开APP,先检查当前是否最新版本

 1 // 检查当前版本,与从后台获取的版本作比较,以此判断是否更新     
 2  plus.runtime.getProperty(plus.runtime.appid,function(inf){
 3      // 当前版本
 4      var wgtVersion = inf.version;
 5       mui.ajax("https:// houtai.com", {
 6           data: { },
 7           dataType: 'json',
 8           type: 'get',
 9           success:function(data){
10               // 如果有新版本,则提示需要更新
11               if( data.version > wgtVersion ){
12                    mui.confirm('检查更新','发现新版本,是否更新',['确定','取消'],function(e){
13                       if(e.index==0){
14                           downloadWgt(); // 下载wgt方法
15                       }else{
16                           return;
17                       }
18                    })
19               }else{
20                   return;
21               }
22           },
23           error:function(err){
24           }
25       });
26   });
27 
28 });               

#####三、如需更新,则下载并安装更新文件(wgt文件)

// 下载wgt方法
function:downloadWgt (){
   var that = this;
    // 更新文件 wgt 文件地址
    var wgtUrl = "http://192.168.0.156/H503A1250.wgt";
    plus.nativeUI.showWaiting("正在更新...");
    plus.downloader.createDownload( wgtUrl, {filename:"_doc/update/"}, function(d,status){
     if ( status == 200 ) {
          console.log("下载wgt成功:"+d.filename);
          that.installWgt(d.filename); // 安装wgt方法
      } else {
          console.log("下载wgt失败!");
          plus.nativeUI.alert("下载wgt失败!");
      }
      plus.nativeUI.closeWaiting();
  }).start();
},
// 安装wgt方法
function:installWgt(path) {
      plus.nativeUI.showWaiting("安装wgt文件...");
      plus.runtime.install(path,{},function(){
          plus.nativeUI.closeWaiting();
          console.log("安装wgt文件成功!");
          plus.nativeUI.alert("应用资源更新完成!",function(){
              plus.runtime.restart();
          });
      },function(e){ 
          plus.nativeUI.closeWaiting();
          console.log("安装wgt文件失败["+e.code+"]:"+e.message);
          plus.nativeUI.alert("安装wgt文件失败["+e.code+"]:"+e.message);
      });
},

 

标签:function,文件,在线,HBuilder,更新,wgt,plus,webApp,nativeUI
来源: https://www.cnblogs.com/hrrtop/p/15397028.html