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