H5app自動更新思路與實現

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

{
	"state": "yes",//是否自動更新
	"mark": "1.0.6",//版本號
	"url": "http:\/\/XXXXXXXX\/APPobject\/mmm.apk"//更新的應用下載地址
}

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.調用方法:在每次系統打開運行的時候執行上面的函數就可以

svn(版本號);



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章