mui -检测用户手机app上的版本-自动更新
//获取版本号提示更新 var btn = ["确定升级", "取消"]; //获取app系统更新[是否手动点击获取更新] function appUpdate(ismanual) { console.log('appUpdate'); var banbenid=1; mui.plusReady(function () { plus.runtime.getProperty(plus.runtime.appid, function (inf) { ver = inf.version; console.log('手机版本ver:' + ver); var client; var ua = navigator.userAgent.toLowerCase(); if (/iphone|ipad|ipod/.test(ua)) { //苹果手机 mui.ajax(url+"/front_get_bybneben.do?id="+banbenid,{ type: "GET", async:false, dataType: "jsonp", success: function (data) { //console.log('data:' + JSON.stringify(data)); var resultCount = data.list.banben; //console.log(resultCount); if (resultCount > ver) { var _msg = "发现新版本:V" + resultCount; //plus.nativeUI.alert("发现新版本:V" + normItem); mui.confirm(_msg, '升级确认', btn, function (e) { if (e.index == 0) { //执行升级操作 document.location.href = 'http://******/HibuddyApp.apk'; //上新APPStore下载地址 }else if(e.index == 1){ plus.runtime.quit(); } }); return; } if (ismanual) { mui.toast('当前版本号已是最新'); } return; } }); } else if (/android/.test(ua)) { mui.ajax(url+"/front_get_bybneben.do?id="+banbenid,{ type: "GET", async:false, dataType: "jsonp", success: function (data) { // console.log('data:' + JSON.stringify(data)); var json_data = jQuery.parseJSON(data); var resultCount = json_data.list.banben; console.log(resultCount); /* if (resultCount > ver) { var _msg = "发现新版本:V" + resultCount; //plus.nativeUI.alert("发现新版本:V" + normItem); mui.confirm(_msg, '升级确认', btn, function (e) { if (e.index == 0) { //执行升级操作 document.location.href = 'http://*****/HibuddyApp.apk'; //上新APPStore下载地址 }else if(e.index == 1){ plus.runtime.quit(); } }); return; } if (ismanual) { mui.toast('当前版本号已是最新'); } return; },*/ var apkUrl = "http://114*****uddy/HibuddyApp.apk"; if (resultCount > ver) { //mui.toast("发现新版本:V" + data.Data);//获取远程数据库中上新andriod版本号 var _msg="发现新版本:V" + resultCount; mui.confirm(_msg, '升级确认', btn, function (e) { if (e.index == 0) { //执行升级操作 plus.nativeUI.toast("正在准备环境,请稍后!"); var dtask = plus.downloader.createDownload(apkUrl, {}, function (d, status) { if (status == 200) { var path = d.filename;//下载apk plus.runtime.install(path); // 自动安装apk文件 } else { plus.nativeUI.alert('版本更新失败:' + status); } }); dtask.start(); }else if(e.index == 1){ plus.runtime.quit(); } }); } else { console.log('当前版本号已是最新'); if (ismanual) { mui.toast('当前版本号已是最新'); } return; } }, error: function (xhr, type, errerThrown) { if (ismanual) { mui.toast('网络异常,请稍候再试'); } } }); } }); }); }
ajax访问的是从后台数据库传来的一个版本号(这个版本号是开发者自己手动输入上去)每次升级,需要自己改动版本号
而手机上的版本号是开发者平台打包时,配置的必填项;
需要在数据库见一个存放版本号的表
查询出来的版本号与手机版本号相对比