app端与服务器端代码如下,求大佬解答
app端
App({
options: {
debug: false
},
/**
* 当wap2app初始化完成时,会触发 onLaunch
*/
onLaunch: function(options) {
console.log('launch');
},
/**
* 当wap2app启动,或从后台进入前台显示,会触发 onShow
*/
onShow: function() {
console.log('show');
},
/**
* 当wap2app从前台进入后台,会触发 onHide
*/
onHide: function() {
console.log('hide');
},
{
//TODO wap2app其它初始化代码
/************升级检测代码开始********** */
var ua = navigator.userAgent;
//Html5Plus环境,但不是流应用环境
if(ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) {
var url = "http://cine.maxgoo.cn/up.php"//检查更新地址
var req = { //升级检测数据
"appid": plus.runtime.appid,
"version": plus.runtime.version
};
wap2app.ajax.get(url, req, function(rsp) {
if(rsp && rsp.status) {
//需要更新,提示用户
plus.nativeUI.confirm(rsp.note, function(event) {
if(0 == event.index) { //用户点击了“立即更新”按钮
plus.runtime.openURL(rsp.url);
}
}, rsp.title, ["立即更新", "取 消"]);
}
});
}
/************升级检测代码结束********** */
}
});
Page('__W2A__cine.maxgoo.cn', { //首页扩展配置
onShow: function() {
},
onClose: function() {
}
});
服务器端
<?php
$appid = $_GET['appid'];
$version = $_GET['version'];//客户端版本号
$rsp = array('status' => 0);//默认返回值,不需要升级
if (isset($appid) && isset($version)) { if($appid=="__W2A_cine.maxgoo.cn"){//校验appid
if($version !== "1.2"){ $rsp['status'] = 1; $rsp['title'] = "应用更新"; $rsp['note'] = "修复bug1;\n修复bug2;";//升级提示文字,支持换行
$rsp['url'] = "http://www.example.com/wap2app.apk";//应用升级包下载地址
}
}
} exit(json_encode($rsp));
?>
回梦無痕
当然,还要判断一下首页是否被重复打开。
2018-03-05 08:52