在项目开发过程中遇到app端自动更新,查阅了相关资料然后把Appcan客户端自动更新PHP版本号的方法整理出来,有需要的小伙伴可以来参考下
在项目开发过程中遇到app端自动更新,查阅了相关资料然后把Appcan客户端自动更新PHP版本号的方法整理出来,具体代码讲解如下。
服务端文件:update.php、version.php、version.xml
update.php 内容:
PHP
news['iphone_filename']; //iphone下载文件
$android_filename=$info->news['android_filename']; //androiad下载文件
$version=$info->news['version']; //版本号
if ($version>$oldver)
{
switch ($platform)
{
case "0"://iphone
echo "";
echo "
version.php 内容:
PHP
version.xml 内容:
PHP
文件名:" + obj.name + "
文件大小:" +
// obj.size + "
版本号:" + obj.version;
updateurl = obj.url;
fileName = obj.name+".apk";
getVersionContent();
// var value = "稍后;更新";
// var mycars = value.split(";");
// uexWindow.confirm('', '当前有新版本,是否更新?', mycars);//弹出提示框,是否确定更新
} else if (obj.result == 1) {
//苹果
//alert("更新地址是:" + obj.url + "
文件名:" + obj.name + "
文件大小:" +
//obj.size + "
版本号:" + obj.version)
;// tips = "当前版本是最新的";alert(tips);
} else if (obj.result == 2) {
;// tips = "未知错误";alert(tips);
} else if (obj.result == 3) {
;// tips = "参数错误";alert(tips);
}
};
//检查是否已经存在sd卡的回调函数(step:3)
uexFileMgr.cbIsFileExistByPath = function(opCode, dataType, data) {
Log('uexFileMgr.cbIsFileExistByPath flag_sdcard='+flag_sdcard+' , data='+data);
if (flag_sdcard == 0) {
if (data == 0) {
Log('sdcard不存在,根据具体情况处理');
} else {
//执行检查更新
uexWidget.checkUpdate();//根据config.xml里面配置的检查更新地址发起http请求
}
flag_sdcard = 1;
}
};
//获取平台版本回调函数,确定是客户端是那个平台的客户端 (step:2)
uexWidgetOne.cbGetPlatform = function(opId, dataType, data) {
Log('uexWidgetOne.cbGetPlatform ');
//获取系统版本信息回调函数
platform = data;
Log('platform= '+platform);
if (data == 0) {
// 是iphone
uexWidget.checkUpdate();// 直接调用检查更新,检查更新地址在config.xml里面有配置
} else if (data == 1) {
// 是android
flag_sdcard = 0;
uexFileMgr.isFileExistByPath('/sdcard/');//先判断是否存在sd卡,再调用checkUpdate来进行更新
} else {
// 是平台
}
};
uexWidgetOne.getPlatform();//获取平台版本 (step:1)
}
function Log(s) {
uexLog.sendLog(s);
}
function getVersionContent(){
var url = web_url+"version.php";
uexXmlHttpMgr.onData = getvSuccess;
uexXmlHttpMgr.open(777, "get", url,"");
uexXmlHttpMgr.send(777);
}
function getvSuccess(opid,status,result){
if (status == -1) {
uexWindow.toast("0","5","连接不上网络^_^哦","3000");
}
if(status==1){
uexXmlHttpMgr.close(777);
uexWindow.closeToast();
if(result=="[]"){uexWindow.toast("0","5","无","2000");}
else{
var con=eval('(' + result + ')')
var value = "稍后;更新";
var mycars = value.split(";");
uexWindow.confirm(con.vtitle, con.vcontent, mycars);//弹出提示框,是否确定更新
}
}
}
最后app 的 config.xml 文件配置更新地址填写为:
APP端更新提示:
弹窗内容根据 version.php 文件内容可以自定义。
以上内容就是本文讲解使用Appcan客户端自动更新PHP版本号的方法,希望对大家有所帮助。