生活随笔
收集整理的這篇文章主要介紹了
hbuilder热更新
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前端代碼:
// 獲取當(dāng)前應(yīng)用的版本號
?
var wgtVer=null;
function plusReady(){// ......// 獲取本地應(yīng)用資源版本號plus.runtime.getProperty(plus.runtime.appid,function(inf){wgtVer=inf.version;console.log("當(dāng)前應(yīng)用版本:"+wgtVer);checkUpdate();?});
}
if(window.plus){plusReady();
}else{document.addEventListener('plusready',plusReady,false);
}?
// 發(fā)起ajax請求檢測是否有新版本
var checkUrl="http://ptest.liby.com.cn/MessageTransfer.php?c=message&m=getupdatetwo";
function checkUpdate(){
// ? ? plus.nativeUI.showWaiting("檢測更新...");var xhr=new XMLHttpRequest();xhr.onreadystatechange=function(){switch(xhr.readyState){case 4:plus.nativeUI.closeWaiting();if(xhr.status==200){console.log("檢測更新成功:"+xhr.responseText);var newVer=xhr.responseText;newVer = JSON.parse(newVer);if(wgtVer&&newVer&&(wgtVer.substring(0,3) < newVer.versionName.substring(0,3))){if(window.confirm('檢測到更新,是否更新?')){downWgt(newVer.apk);? // 下載升級包}}else{// plus.nativeUI.alert("無新版本可更新!");}}else{console.log("檢測更新失敗!");// plus.nativeUI.alert("檢測更新失敗!");}break;default:break;}}xhr.open('GET',checkUrl);xhr.send();
}// 下載wgt文件
// var wgtUrl="http://demo.dcloud.net.cn/test/update/H5EF3C469.wgt";
function downWgt(wgtUrl){
// console.log(wgtUrl);return;plus.nativeUI.showWaiting("下載更新文件...");plus.downloader.createDownload( wgtUrl, {filename:"_doc/update/"}, function(d,status){if ( status == 200 ) {?console.log("下載更新文件成功:"+d.filename);installWgt(d.filename); // 安裝wgt包} else {console.log("下載失敗!");plus.nativeUI.alert("下載失敗!");}plus.nativeUI.closeWaiting();}).start();
}// 更新應(yīng)用資源
function installWgt(path){plus.nativeUI.showWaiting("安裝更新文件...");plus.runtime.install(path,{},function(){plus.nativeUI.closeWaiting();console.log("安裝更新文件成功!");plus.nativeUI.alert("應(yīng)用資源更新完成!",function(){plus.runtime.restart();});},function(e){plus.nativeUI.closeWaiting();console.log("安裝更新文件失敗["+e.code+"]:"+e.message);plus.nativeUI.alert("安裝更新文件失敗["+e.code+"]:"+e.message);if(e.code == 10){alert('請清除臨時目錄');}});}php代碼:public function getupdatetwo(){$arr = array('versionCode' => 102,'versionName' => '1.8.0','msg' => '有新版本可供更新.\n 1.界面美化 \n 2.性能優(yōu)化','apk' => 'http://cloud-dev.playxs.com/static/app/H50488D36.wgt',//存放在服務(wù)器的升級資源包);echo trim(json_encode($arr));}
?
總結(jié)
以上是生活随笔為你收集整理的hbuilder热更新的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。