var wgtVer = null;

function plusReady() {
	// Android处理返回键
	plus.key.addEventListener('backbutton', function() {
		if(confirm('确认退出？')) {
			plus.runtime.quit();
		}
	}, false);

	// 获取本地应用资源版本号
	plus.runtime.getProperty(plus.runtime.appid, function(inf) {
		wgtVer = inf.version;
		console.log("当前应用版本：" + wgtVer);
		checkUpdate();
	});
}

if(window.plus) {
	plusReady();
} else {
	document.addEventListener('plusready', plusReady, false);
}


var newVer = null;
var newUrl = null; /*下载页，资源路径*/

function checkUpdate() {
	var serverUrl = localStorage.getItem('$serverUrl');
	if(serverUrl == null || serverUrl == ''){
					
		return false;
	}
	var checkUrl = serverUrl + "/app/loginV2/getVersion";//版本号从服务器获取
		
	plus.nativeUI.showWaiting("检测更新版本...");
	
	var xhr = new XMLHttpRequest();
	xhr.onreadystatechange = function() {
		switch(xhr.readyState) {
			
			//后端接受前端发送过来的数据，此时xhr.readyState = 1
			
			//将数据从后台返回给前端，res.send()发送数据到前端，此时xhr.readyState = 2
			
			//前端接受后台发送过来的数据，接受部分数据时 xhr.readyState = 3
			
			//全部数据接收完毕 xhr.readyState=4
			
			//4完成
			case 4:
				plus.nativeUI.closeWaiting();
				
				if(xhr.status == 200) {
					console.log("检测更新成功：" + xhr.responseText);
					
					var resText = xhr.responseText;
					resText = resText.replace(/\"/g,"");
					
					var resTextSplit =resText.split("||");
					newVer = resTextSplit[0];//新版本号
					newUrl = resTextSplit[1];//新url
					
					if(wgtVer && newVer && (wgtVer != newVer)) {
						if(parseFloat(newVer) > parseFloat(wgtVer)){
							downWgt();
						}else{
							plus.nativeUI.showWaiting("当前版本:" + newVer);
						}
					} else {
						//plus.nativeUI.showWaiting("已是最新版，无需更新");
					}
				} else {
					console.log("检测版本失败！" + xhr.status + "。。。" + xhr.readyState);
					plus.nativeUI.alert("检测版本失败！");
				}
				
				plus.nativeUI.closeWaiting();
				break;
			default:
				break;
		}
	}
	xhr.open('GET', checkUrl);
	xhr.send();
}

//下载
function downWgt() {
	var cfi = confirm("是否下载新的安装包?当前安装版本:"+wgtVer +",新版本:"+newVer);
	if(cfi == true) {
		plus.runtime.openURL(newUrl);//调用浏览器打开网址  然后手工点击安装
		plus.nativeUI.alert("正在通过浏览器下载新安装包,下载完成后请点击安装包进行安装!");
	}
}


function downWgt_20190539() { //放弃了..
	var cfi = confirm("是否下载新的安装包?当前安装版本:"+wgtVer +" 新版本:"+newVer);
	if(cfi == true) {
		var dtask = plus.downloader.createDownload(newUrl, {method:"GET",retry: 0 },
			function(d, status) { /*wode.html可以默认不用改，留着就行了*/
				if(status == 200) {
					//open(d.filename); // 打开下载地址
					//plus.nativeUI.alert(d.filename);
					//plus.runtime.openFile(d.filename);
					//installWgt(d.filename); --尝试几十次,都是安装失败!!!!放弃了!
				} else {
					console.log("打开下载页面失败！");
					plus.nativeUI.alert("打开下载页面失败！");
				}
			}
		);

		//下载事件监控
		dtask.addEventListener("statechanged", function(task, status) {
			if(!dtask) {
				return;
			}
			switch(task.state) {
				case 0:
					//plus.nativeUI.closeWaiting();
					//plus.nativeUI.showWaiting("初始化下载");
					break;
				case 1:
					//plus.nativeUI.closeWaiting();
					//plus.nativeUI.showWaiting("开始下载");
					break;
				case 2:
					//plus.nativeUI.closeWaiting();
					//plus.nativeUI.showWaiting("已连接到服务器");
					break;
				case 3:
					//plus.nativeUI.closeWaiting();
					plus.nativeUI.showWaiting("正在下载，请稍后...");
					break;
				case 4:
					//plus.nativeUI.closeWaiting();				
					//plus.nativeUI.showWaiting("下载完成!");
					break;
			}
		});
		dtask.start();
	} else {
		//plus.runtime.openURL(newUrl);  
	}
}

//安装
function installWgt(path) {
	plus.nativeUI.showWaiting("正在安装新版本");
	
	plus.runtime.install(path,{force:true},function(){
		//plus.nativeUI.closeWaiting();		
	    //console.log("success");  
	    plus.runtime.restart();
	},function(e){  
		plus.nativeUI.closeWaiting();
		plus.nativeUI.alert("安装新版本失败[" + e.code + "]：" + e.message);
	    console.log("failed: "+e.message);  
	});  
}
