Commit 19712671 by 王君

update privacy policy

parent 6424e3f7
<!doctype html> <!DOCTYPE html>
<html> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="UTF-8">
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="format-detection" content="telephone=no,email=no,date=no,address=no"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../css/aui.2.0.css" /> <title>index</title>
<link rel="stylesheet" type="text/css" href="../css/app.css" /> <link rel="stylesheet" type="text/css" href="../css/aui.2.0.css" />
</head> <link rel="stylesheet" type="text/css" href="../css/app.css" />
<style type="text/css"> </head>
html, <body>
body { <script type="text/javascript" src="../script/api.js"></script>
height: 100%;
}
.footbtn {
position: relative;
z-index: 20;
top: 5px;
width: 1rem;
}
.aui-bar-tab-label{
color:#585858;
margin-top: 0.5em;
font-size: 10px !important;
margin-bottom: 0.4em;
}
/*.aui-bar-tab-label{
margin-top: 10px;
}*/
</style>
<body>
<!--广告位开始-->
<!--<div class="" id="launch" onclick="open_win('interact','interact/interact.html',false)">
<div style="width:30px;height: 30px;position: absolute;top: 0;right: 0;z-index: 100;font-size: 26px;color: #f00" id="ctime"></div>
<img style="height: 100%;width: 100%;position: absolute;top: 0;z-index: 99;" src="" />
</div>-->
<!--广告位结束-->
<footer class="aui-bar aui-bar-tab" id="aui-footer">
<div class="aui-bar-tab-item aui-active" tapmode>
<img id="foot-home" class="footbtn" src="../res/btn/foot-home-active.png"/>
<div class="aui-bar-tab-label">
首页
</div>
</div>
<!--<div class="aui-bar-tab-item" tapmode>
<img id="foot-dynamic" class="footbtn" src="../res/btn/foot-dynamic.png" />
<div class="aui-bar-tab-label">
咨询
</div>
</div>-->
<div class="aui-bar-tab-item" tapmode>
<img id="foot-huodong" class="footbtn" src="../res/btn/foot-huodong.png" />
<div class="aui-bar-tab-label">
互动
</div>
</div>
<div class="aui-bar-tab-item" tapmode>
<img id="foot-sheshi" class="footbtn" src="../res/btn/foot-sheshi.png"/>
<div class="aui-bar-tab-label">
设施
</div>
</div>
<div class="aui-bar-tab-item" tapmode>
<img id="foot-my" class="footbtn" src="../res/btn/foot-my.png" />
<div class="aui-bar-tab-label">
我的
</div>
</div>
</footer>
</body>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/zepto.js"></script> <script type="text/javascript" src="../script/zepto.js"></script>
<script type="text/javascript" src="../script/aui-tab.js"></script> <script type="text/javascript" src="../script/aui-tab.js"></script>
<script type="text/javascript" src="../script/common.js"></script> <script type="text/javascript" src="../script/common.js"></script>
<script type="text/javascript" src="../script/constants.js"></script> <script type="text/javascript" src="../script/constants.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var body_h, footer_h, frame_name, bmap, footerid; //启动隐私
var ajpush;
var currPage = 0; //api.closeWidget()关闭应用
$api.setStorage('map_open', false) //
apiready = function() {
// 设置导航栏及其点击回调 var first_run=$api.getStorage('first_run');
var footer_tab = new auiTab({ if(first_run!=500){
element: document.getElementById("aui-footer") api.openWin({
}, function(ret) { name: 'privacy_policy',
if(ret) { url: './privacy_policy.html',
// 切换frame reload:true
toggleTab(ret.index);
}
});
// 切换frame
function toggleTab(index){
console.log($api.getStorage('map_open'))
var maps_open = $api.getStorage('map_open');
if(maps_open === 'true') {
// console.log('我要广播了')
api.sendEvent({
name: 'closemap'
});
} else if(frame_name == 'my') {
api.setFrameAttr({
name: frame_name,
hidden: true
}); });
} else { }else{
api.closeFrame({ api.openWin({
name: frame_name name: 'index_1',
url: './index_1.html',
reload:true
}); });
} }
var footid = '#' + footerid; }
console.log(footid); </script>
var src = '../res/btn/' + footerid + '.png'; </body>
$(footid).attr('src', src) </html>
$('.aui-bar-tab-label').css('color','#585858'); \ No newline at end of file
if(index == 0) {
open_home()
}
/*if(index == 1) {
open_dynamic()
}*/
if(index == 2) {
open_venue()
}
if(index == 1) {
open_interact()
}
if(index == 3) {
open_my()
}
}
apiready = function() {
var safeArea = api.safeArea;
$("#aui-footer").css({'padding-bottom':api.safeArea.bottom + 'px'})
//获取设备型号
getposition(function(ret) {
var token = $api.getStorage('token');
var systemType = api.systemType;
var deviceId = api.deviceId;
var deviceModel = api.deviceModel;
var deviceName = api.deviceName;
var channel = api.channel;
var lon = ret.lon;
var lat = ret.lat;
if(token){
get_data('/api/user/device_statistics', 'post', {
token:token,
lon:lon,
lat:lat,
systemType : systemType,
deviceId : deviceId,
deviceModel:deviceModel,
deviceName:deviceName,
channel:channel
}, function(ret) {
console.log(JSON.stringify(ret))
});
}
})
// 广告位结束
api.setStatusBarStyle({
style: 'light'
});
// bmap = api.require('bMap');
body_h = $api.offset($api.dom('body')).h;
footer_h = $api.offset($api.byId('aui-footer')).h;
// 打开首页HomeFrame
open_home()
$("#foot-home").next('.aui-bar-tab-label').css('color','#3D60F6');
// 如果点击广告,打开广告window
console.log(JSON.stringify(api.pageParam));
if(api.pageParam.from=='launchImageAd'){
openUrl(api.pageParam.url,api.pageParam.content);
}
// 退出键监听
keyback()
// 注册监听事件
jpushInit()
// 缓存未读消息初始化
initIndexMsgCache();
// 监听重新绑定监听事件 -- 修改推送策略和退出登陆后重新绑定
rebindPush();
};
function rebindPush() {
api.addEventListener({
name: 'event_push_rebind'
}, function(ret, err) {
jpushInit();
});
}
function openUrl(url,content){
api.setFullScreen({
fullScreen:false
});
if(content == '活动'){
openWin_activity(url);
}else if(content == '文章'){
openWin_article_detail(url);
}else if(content == '专题'){
openHd_url(url);
}else if(content == '单页'){
open_win(url);
}
}
function keyback() {
//退出事件监听
var keyback_num = 0;
api.addEventListener({
name: 'keyback'
}, function(ret, err) {
if(keyback_num) {
api.closeWidget({
silent: true
})
}
api.toast({
msg: '再按一次退出应用'
});
keyback_num++;
});
}
function jpushInit() {
//极光初始化
ajpush = api.require('ajpush');
//获取设备的标识RegistrationID
ajpush.getRegistrationId(function(ret) {
var registrationId = ret.id;
$api.setStorage('ajpushRegistrationId', registrationId)
console.log(registrationId);
});
ajpush.init(function(ret) {
if(ret && ret.status) {
var stau = ret.status == "1" ? "SUC" : "FAIL";
console.log('JPush-设备绑定:'+ stau);
}
});
//绑定别名 默认接受推送,绑定未登录别名
var tag = Config.getConstant("TAG_PUSH_ALLOW");
console.log(tag);
var alias = Config.getConstant("ALIAS_PUSH_NOLOGIN");
if($api.getStorage('receivepush') && $api.getStorage('receivepush').receivepush == "0") {
tag = Config.getConstant("TAG_PUSH_CLOSE");
}
if($api.getStorage('userinfo') && $api.getStorage('userinfo').uid) {
alias = $api.getStorage('userinfo').uid;
};
ajpush.setAlias({alias:alias},function(ret) {
var statusCode = ret.statusCode;
console.log(JSON.stringify(ret));
});
ajpush.setTags({tags:[tag],sequence:101},function(ret) {
var statusCode = ret.statusCode;
console.log("tags绑定结果:"+JSON.stringify(ret));
});
/*var param = {alias:alias,tags:[tag]};
ajpush.bindAliasAndTags(param,function(ret,err) {
var statusCode = ret.statusCode;
console.log(JSON.stringify(ret),JSON.stringify(err));
});*/
/*ajpush.bindAliasAndTags({
alias:alias,
tags:[tag]
}, function(ret) {
var statusCode = ret.statusCode == "0" ? "SUC" : "FAIL";
console.log('JPush-别名绑定:' + alias + ' == ' + tag + ' == ' + statusCode);
});*/
/**
* 接收前台推送信息 -- 透传消息,不经过通知栏
* 要求必须极光以消息类型推送,如果以通知类型推送,直接走通知栏,不走该回调
*/
ajpush.setListener(function(ret,err) {
console.log("ajpush");
var id = ret.id;
var title = ret.title;
var content = ret.content;
var extra = ret.extra;
console.log('推送抵达:'+JSON.stringify(ret));
// 1023之前老逻辑
/*if(extra && extra.news_id) {
openWin_article_detail(extra.news_id)
}
if(extra && extra.message) {
// openWin('message', './my/message.html')
}*/
// 1023重新定义推送逻辑
if(extra && extra.code) {
var code = extra.code.substring(0,3);
/*
五种推送大类:首页,动态,设施,互动,我的
*/
switch (code) {
case Config.getConstant("TYPE_PUSH_HOME"): // 首页
/*
首页的推送逻辑中,只有首页列表的推送会引起下部导航栏点亮
其余推送发送事件到home_main中,由home_main管理,和首页icon没有级联关系
*/
if(extra.code == Config.getConstant("TYPE_PUSH_HOME_HOT")) {
toggleNewMsgFlag($("#foot-home").parent(),false,code,extra);
} else {
// 向main_frame发送事件,由main_frame控制消息提醒
api.sendEvent({
name: 'event_home_notice',
extra: extra
});
}
break;
case Config.getConstant("TYPE_PUSH_DYNA"): // 动态
toggleNewMsgFlag($("#foot-dynamic").parent(),false,code,extra);
break;
case Config.getConstant("TYPE_PUSH_EQU"): // 设施
toggleNewMsgFlag($("#foot-sheshi").parent(),false,code,extra);
break;
case Config.getConstant("TYPE_PUSH_ACT"): // 互动
toggleNewMsgFlag($("#foot-huodong").parent(),false,code,extra);
break;
case Config.getConstant("TYPE_PUSH_MINE"): // 我的
// 向个人中心设置页面发送事件
api.sendEvent({
name: 'event_my_notice',
extra: extra
});
toggleNewMsgFlag($("#foot-my").parent(),false,code,extra);
break;
default:
break;
}
//发送到通知栏 -- 现在所有透传都发送到通知栏,有变更再调整
api.getPrefs({
key: Config.getConstant("CACHE_SETTING_PUSH")
}, function (ret, err) {
if (ret && ret.value && ret.value == '0') { // 关闭推送
} else { // 允许推送
// api.notification({
// notify: {
// title:"文化随行",
// content: content,
// extra:extra
// }
// }, function(ret, err) {
// var id = ret.id;
// });
}
})
}
});
/**
* 安卓接收推送"通知",点击通知栏后回调
* 暂时推送都从透传走,自定义发送通知到通知栏,这里暂不处理
*/
api.addEventListener({
name: 'appintent'
}, function(ret) {
// alert('Android点击通知栏推送进入:'+JSON.stringify(ret));
if(ret && ret.appParam.ajpush) {
var ajpush = ret.appParam.ajpush;
var id = ajpush.id;
var title = ajpush.title;
var content = ajpush.content;
var extra = ajpush.extra;
// alert(JSON.stringify(extra));
notificationClicked(extra);
}
});
//打开my
api.addEventListener({
name: 'openmy'
}, function(ret, err) {
console.log('我收到广播了openmy')
open_my()
})
/**
* 点击通知栏进入后的回调
*/
api.addEventListener({
name: 'noticeclicked'
}, function(ret, err) {
// 判断是否推送内容
if(ret && ret.value && ret.value.extra) {
// alert(JSON.stringify(ret.value.extra));
// 处理点击回调
notificationClicked(ret.value.extra);
}
});
//监听应用进入后台,通知jpush暂停事件
api.addEventListener({
name: 'pause'
}, function(ret, err) {
onPause();
})
//监听应用恢复到前台,通知jpush恢复事件
api.addEventListener({
name: 'resume'
}, function(ret, err) {
onResume();
})
}
//统计-app恢复
function onResume() {
ajpush.onResume();
console.log('JPush onResume');
}
//统计-app暂停
function onPause() {
ajpush.onPause();
console.log('JPush onPause');
}
function open_home() {
var btnid="#foot-home";
$(btnid).attr('src', '../res/btn/foot-home-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'home',
url: 'home.html',
bounces: false,
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
vScrollBarEnabled: false
})
frame_name = 'home';
footerid = 'foot-home';
toggleNewMsgFlag($("#foot-home").parent(),true,Config.getConstant("TYPE_PUSH_HOME"),null);
}
function open_dynamic() {
var btnid="#foot-dynamic";
$(btnid).attr('src', '../res/btn/foot-dynamic-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'dynamic',
url: 'dynamic.html',
bounces: false,
pageParam:{
from:"index"
},
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
reload: true,
vScrollBarEnabled: false
})
frame_name = 'dynamic';
footerid = 'foot-dynamic';
toggleNewMsgFlag($("#foot-dynamic").parent(),true,Config.getConstant("TYPE_PUSH_DYNA"),null);
}
function open_venue() {
var btnid="#foot-sheshi";
$(btnid).attr('src', '../res/btn/foot-sheshi-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'venue',
url: 'venue.html',
bounces: false,
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
reload: true,
vScrollBarEnabled: false
})
frame_name = 'venue';
footerid = 'foot-sheshi';
toggleNewMsgFlag($("#foot-sheshi").parent(),true,Config.getConstant("TYPE_PUSH_EQU"),null);
}
function open_interact() {
var btnid="#foot-huodong";
$(btnid).attr('src', '../res/btn/foot-huodong-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'interact',
url: 'interact/interact.html',
bounces: false,
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
reload: true,
vScrollBarEnabled: false
})
frame_name = 'activity';
footerid = 'foot-huodong';
// 切换消息未读红点
toggleNewMsgFlag($("#foot-huodong").parent(),true,Config.getConstant("TYPE_PUSH_ACT"),null);
}
function open_my() {
var btnid="#foot-my";
$(btnid).attr('src', '../res/btn/foot-my-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'my',
url: 'my.html',
bounces: false,
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
reload: true,
vScrollBarEnabled: false
})
frame_name = 'my';
footerid = 'foot-my';
toggleNewMsgFlag($("#foot-my").parent(),true,Config.getConstant("TYPE_PUSH_MINE"),null);
}
// function open_actyy() {
// api.closeFrame({
// name: 'home'
// });
// open_interact();
// $('#foot-home').attr('src', '../res/btn/foot-home.png');
// $('#foot-huodong').attr('src', '../res/btn/foot-huodong-active.png');
// footer_tab.setActive(4);
// }
/**
* 点亮提示红点
* 当前消息提示逻辑依据推送实现,为了保证推送之后消息的是否消费状态,缓存到本地
* 只有当用户点击的时候才消费该推送
* @param container 点击的div,红点为其一级子组件
* @param isUserTouch 用户是否点击,如果是用户点击,取消红点点亮,消费本地缓存
* @param moduel 所点模块
* @param data 消息,如果消息不为空,缓存到本地,并点亮;如果为空,从本地尝试读取消息,并依情点亮
*/
function toggleNewMsgFlag(container,isUserTouch,moduel, data) {
if (isUserTouch) { // 用户点击,无条件消费并取消点亮
freshNewMsgFlagUI(container,moduel,false);
} else {
if (data) { // 消息不为空,缓存消息,点亮红点
freshNewMsgFlagUI(container,moduel,true);
} else { // 消息为空,判断缓存
api.getPrefs({
key: moduel
}, function (ret, err) {
if (ret && ret.value && ret.value != '0') { // 读取到缓存,有消息未消费
freshNewMsgFlagUI(container,moduel,true);
} else { // 未读取到缓存,隐藏
freshNewMsgFlagUI(container,moduel,false);
}
})
}
}
}
/**
* 根据本地缓存点亮未读消息
*/
function initIndexMsgCache(){
// 首页
loadCacheMsg($("#foot-home").parent(),Config.getConstant("TYPE_PUSH_HOME"));
// 动态
loadCacheMsg($("#foot-dynamic").parent(),Config.getConstant("TYPE_PUSH_DYNA"));
// 设施
loadCacheMsg($("#foot-sheshi").parent(),Config.getConstant("TYPE_PUSH_EQU"));
// 互动
loadCacheMsg($("#foot-huodong").parent(),Config.getConstant("TYPE_PUSH_ACT"));
// 我的
loadCacheMsg($("#foot-my").parent(),Config.getConstant("TYPE_PUSH_MINE"));
}
function loadCacheMsg(container,moduel){
api.getPrefs({
key: moduel
}, function(ret, err) {
var isOn = ret && ret.value && ret.value == '1' ;
freshNewMsgFlagUI(container,moduel,isOn);
});
}
function freshNewMsgFlagUI(container,moduel,isOn) {
if (isOn) {
// setCache
api.setPrefs({
key: moduel,
value: '1'
});
// freshUI
$(container).append("<div class='msg-new'></div>");
} else {
// setCache
api.setPrefs({
key: moduel,
value: '0'
});
// freshUI
$(container).find('div .msg-new').remove();
}
}
function notificationClicked(extra){
if(extra && extra.code){
// 分情况打开对应的页面 - 首页,动态,设施,互动,我的
var code = extra.code.substring(0,3);
/*
五种推送大类:首页,动态,设施,互动,我的
*/
switch (code) {
case Config.getConstant("TYPE_PUSH_HOME"): // 首页
/*
首页列表类型点击后停留首页frame,其余根据其业务类型进入不同页面
*/
if(extra.code == Config.getConstant("TYPE_PUSH_HOME_HOT")) {
footer_tab.setActive(1);
toggleTab(0);
} else {
var tc = parseInt(extra.code.substring(extra.code.length-1,extra.code.length));
// 10101 - 10106 跳转文章详情
if(((tc >= 1 && tc <= 6)
|| (extra.code == Config.getConstant("TYPE_PUSH_HOME_VOLUNT")))
&& extra.data) {
// 从extra.data.news_id中解析文章id
var newsId = extra.data && extra.data.news_id ? extra.data.news_id : JSON.parse(extra.data).news_id;
if(newsId && newsId != ""){
if(extra.code == Config.getConstant("TYPE_PUSH_HOME_VOLUNT")) {
openWin_volunteer_detail(newsId); // 志愿服务
} else {
openWin_article_detail(newsId); // 文章详情
}
}
} else {
switch (extra.code) {
case Config.getConstant("TYPE_PUSH_HOME_MARKET"): // 文化超市
open_win('wenhuacs','wenhuacs.html',false);
break;
case Config.getConstant("TYPE_PUSH_HOME_ALL"): // 全部
open_win('more','more.html',false);
break;
default:
}
}
// 消费消息并通知页面刷新
api.setPrefs({
key: extra.code,
value: '0'
});
api.sendEvent({
name: 'event_home_notice',
extra: null
});
}
break;
case Config.getConstant("TYPE_PUSH_DYNA"): // 动态
footer_tab.setActive(2);
toggleTab(1);
break;
case Config.getConstant("TYPE_PUSH_EQU"): // 设施
footer_tab.setActive(3);
toggleTab(2);
break;
case Config.getConstant("TYPE_PUSH_ACT"): // 互动
footer_tab.setActive(4);
toggleTab(3);
break;
case Config.getConstant("TYPE_PUSH_MINE"): // 我的
footer_tab.setActive(5);
toggleTab(4);
break;
default:
break;
}
}
}
</script>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
<meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
<link rel="stylesheet" type="text/css" href="../css/aui.2.0.css" />
<link rel="stylesheet" type="text/css" href="../css/app.css" />
</head>
<style type="text/css">
html,
body {
height: 100%;
}
.footbtn {
position: relative;
z-index: 20;
top: 5px;
width: 1rem;
}
.aui-bar-tab-label{
color:#585858;
margin-top: 0.5em;
font-size: 10px !important;
margin-bottom: 0.4em;
}
/*.aui-bar-tab-label{
margin-top: 10px;
}*/
</style>
<body>
<!--广告位开始-->
<!--<div class="" id="launch" onclick="open_win('interact','interact/interact.html',false)">
<div style="width:30px;height: 30px;position: absolute;top: 0;right: 0;z-index: 100;font-size: 26px;color: #f00" id="ctime"></div>
<img style="height: 100%;width: 100%;position: absolute;top: 0;z-index: 99;" src="" />
</div>-->
<!--广告位结束-->
<footer class="aui-bar aui-bar-tab" id="aui-footer">
<div class="aui-bar-tab-item aui-active" tapmode>
<img id="foot-home" class="footbtn" src="../res/btn/foot-home-active.png"/>
<div class="aui-bar-tab-label">
首页
</div>
</div>
<!--<div class="aui-bar-tab-item" tapmode>
<img id="foot-dynamic" class="footbtn" src="../res/btn/foot-dynamic.png" />
<div class="aui-bar-tab-label">
咨询
</div>
</div>-->
<div class="aui-bar-tab-item" tapmode>
<img id="foot-huodong" class="footbtn" src="../res/btn/foot-huodong.png" />
<div class="aui-bar-tab-label">
互动
</div>
</div>
<div class="aui-bar-tab-item" tapmode>
<img id="foot-sheshi" class="footbtn" src="../res/btn/foot-sheshi.png"/>
<div class="aui-bar-tab-label">
设施
</div>
</div>
<div class="aui-bar-tab-item" tapmode>
<img id="foot-my" class="footbtn" src="../res/btn/foot-my.png" />
<div class="aui-bar-tab-label">
我的
</div>
</div>
</footer>
</body>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/zepto.js"></script>
<script type="text/javascript" src="../script/aui-tab.js"></script>
<script type="text/javascript" src="../script/common.js"></script>
<script type="text/javascript" src="../script/constants.js"></script>
<script type="text/javascript">
var body_h, footer_h, frame_name, bmap, footerid;
var ajpush;
var currPage = 0;
$api.setStorage('map_open', false)
// 设置导航栏及其点击回调
var footer_tab = new auiTab({
element: document.getElementById("aui-footer")
}, function(ret) {
if(ret) {
// 切换frame
toggleTab(ret.index);
}
});
// 切换frame
function toggleTab(index){
console.log($api.getStorage('map_open'))
var maps_open = $api.getStorage('map_open');
if(maps_open === 'true') {
// console.log('我要广播了')
api.sendEvent({
name: 'closemap'
});
} else if(frame_name == 'my') {
api.setFrameAttr({
name: frame_name,
hidden: true
});
} else {
api.closeFrame({
name: frame_name
});
}
var footid = '#' + footerid;
console.log(footid);
var src = '../res/btn/' + footerid + '.png';
$(footid).attr('src', src)
$('.aui-bar-tab-label').css('color','#585858');
if(index == 0) {
open_home()
}
/*if(index == 1) {
open_dynamic()
}*/
if(index == 2) {
open_venue()
}
if(index == 1) {
open_interact()
}
if(index == 3) {
open_my()
}
}
apiready = function() {
/*$api.setStorage('first_run',1);
var first_run=$api.getStorage('first_run');
if(first_run!=500){
api.openWin({
name: 'privacy_policy',
url: './privacy_policy.html',//网络路径
reload:true
});
}else{
}*/
var safeArea = api.safeArea;
$("#aui-footer").css({'padding-bottom':api.safeArea.bottom + 'px'})
//获取设备型号
getposition(function(ret) {
var token = $api.getStorage('token');
var systemType = api.systemType;
var deviceId = api.deviceId;
var deviceModel = api.deviceModel;
var deviceName = api.deviceName;
var channel = api.channel;
var lon = ret.lon;
var lat = ret.lat;
if(token){
get_data('/api/user/device_statistics', 'post', {
token:token,
lon:lon,
lat:lat,
systemType : systemType,
deviceId : deviceId,
deviceModel:deviceModel,
deviceName:deviceName,
channel:channel
}, function(ret) {
console.log(JSON.stringify(ret))
});
}
})
// 广告位结束
api.setStatusBarStyle({
style: 'light'
});
// bmap = api.require('bMap');
body_h = $api.offset($api.dom('body')).h;
footer_h = $api.offset($api.byId('aui-footer')).h;
// 打开首页HomeFrame
open_home()
$("#foot-home").next('.aui-bar-tab-label').css('color','#3D60F6');
// 如果点击广告,打开广告window
console.log(JSON.stringify(api.pageParam));
if(api.pageParam.from=='launchImageAd'){
openUrl(api.pageParam.url,api.pageParam.content);
}
// 退出键监听
keyback()
// 注册监听事件
jpushInit()
// 缓存未读消息初始化
initIndexMsgCache();
// 监听重新绑定监听事件 -- 修改推送策略和退出登陆后重新绑定
rebindPush();
};
function rebindPush() {
api.addEventListener({
name: 'event_push_rebind'
}, function(ret, err) {
jpushInit();
});
}
function openUrl(url,content){
api.setFullScreen({
fullScreen:false
});
if(content == '活动'){
openWin_activity(url);
}else if(content == '文章'){
openWin_article_detail(url);
}else if(content == '专题'){
openHd_url(url);
}else if(content == '单页'){
open_win(url);
}
}
function keyback() {
//退出事件监听
var keyback_num = 0;
api.addEventListener({
name: 'keyback'
}, function(ret, err) {
if(keyback_num) {
api.closeWidget({
silent: true
})
}
api.toast({
msg: '再按一次退出应用'
});
keyback_num++;
});
}
function jpushInit() {
//极光初始化
ajpush = api.require('ajpush');
//获取设备的标识RegistrationID
ajpush.getRegistrationId(function(ret) {
var registrationId = ret.id;
$api.setStorage('ajpushRegistrationId', registrationId)
console.log(registrationId);
});
ajpush.init(function(ret) {
if(ret && ret.status) {
var stau = ret.status == "1" ? "SUC" : "FAIL";
console.log('JPush-设备绑定:'+ stau);
}
});
//绑定别名 默认接受推送,绑定未登录别名
var tag = Config.getConstant("TAG_PUSH_ALLOW");
console.log(tag);
var alias = Config.getConstant("ALIAS_PUSH_NOLOGIN");
if($api.getStorage('receivepush') && $api.getStorage('receivepush').receivepush == "0") {
tag = Config.getConstant("TAG_PUSH_CLOSE");
}
if($api.getStorage('userinfo') && $api.getStorage('userinfo').uid) {
alias = $api.getStorage('userinfo').uid;
};
ajpush.setAlias({alias:alias},function(ret) {
var statusCode = ret.statusCode;
console.log(JSON.stringify(ret));
});
ajpush.setTags({tags:[tag],sequence:101},function(ret) {
var statusCode = ret.statusCode;
console.log("tags绑定结果:"+JSON.stringify(ret));
});
/*var param = {alias:alias,tags:[tag]};
ajpush.bindAliasAndTags(param,function(ret,err) {
var statusCode = ret.statusCode;
console.log(JSON.stringify(ret),JSON.stringify(err));
});*/
/*ajpush.bindAliasAndTags({
alias:alias,
tags:[tag]
}, function(ret) {
var statusCode = ret.statusCode == "0" ? "SUC" : "FAIL";
console.log('JPush-别名绑定:' + alias + ' == ' + tag + ' == ' + statusCode);
});*/
/**
* 接收前台推送信息 -- 透传消息,不经过通知栏
* 要求必须极光以消息类型推送,如果以通知类型推送,直接走通知栏,不走该回调
*/
ajpush.setListener(function(ret,err) {
console.log("ajpush");
var id = ret.id;
var title = ret.title;
var content = ret.content;
var extra = ret.extra;
console.log('推送抵达:'+JSON.stringify(ret));
// 1023之前老逻辑
/*if(extra && extra.news_id) {
openWin_article_detail(extra.news_id)
}
if(extra && extra.message) {
// openWin('message', './my/message.html')
}*/
// 1023重新定义推送逻辑
if(extra && extra.code) {
var code = extra.code.substring(0,3);
/*
五种推送大类:首页,动态,设施,互动,我的
*/
switch (code) {
case Config.getConstant("TYPE_PUSH_HOME"): // 首页
/*
首页的推送逻辑中,只有首页列表的推送会引起下部导航栏点亮
其余推送发送事件到home_main中,由home_main管理,和首页icon没有级联关系
*/
if(extra.code == Config.getConstant("TYPE_PUSH_HOME_HOT")) {
toggleNewMsgFlag($("#foot-home").parent(),false,code,extra);
} else {
// 向main_frame发送事件,由main_frame控制消息提醒
api.sendEvent({
name: 'event_home_notice',
extra: extra
});
}
break;
case Config.getConstant("TYPE_PUSH_DYNA"): // 动态
toggleNewMsgFlag($("#foot-dynamic").parent(),false,code,extra);
break;
case Config.getConstant("TYPE_PUSH_EQU"): // 设施
toggleNewMsgFlag($("#foot-sheshi").parent(),false,code,extra);
break;
case Config.getConstant("TYPE_PUSH_ACT"): // 互动
toggleNewMsgFlag($("#foot-huodong").parent(),false,code,extra);
break;
case Config.getConstant("TYPE_PUSH_MINE"): // 我的
// 向个人中心设置页面发送事件
api.sendEvent({
name: 'event_my_notice',
extra: extra
});
toggleNewMsgFlag($("#foot-my").parent(),false,code,extra);
break;
default:
break;
}
//发送到通知栏 -- 现在所有透传都发送到通知栏,有变更再调整
api.getPrefs({
key: Config.getConstant("CACHE_SETTING_PUSH")
}, function (ret, err) {
if (ret && ret.value && ret.value == '0') { // 关闭推送
} else { // 允许推送
// api.notification({
// notify: {
// title:"文化随行",
// content: content,
// extra:extra
// }
// }, function(ret, err) {
// var id = ret.id;
// });
}
})
}
});
/**
* 安卓接收推送"通知",点击通知栏后回调
* 暂时推送都从透传走,自定义发送通知到通知栏,这里暂不处理
*/
api.addEventListener({
name: 'appintent'
}, function(ret) {
// alert('Android点击通知栏推送进入:'+JSON.stringify(ret));
if(ret && ret.appParam.ajpush) {
var ajpush = ret.appParam.ajpush;
var id = ajpush.id;
var title = ajpush.title;
var content = ajpush.content;
var extra = ajpush.extra;
// alert(JSON.stringify(extra));
notificationClicked(extra);
}
});
//打开my
api.addEventListener({
name: 'openmy'
}, function(ret, err) {
console.log('我收到广播了openmy')
open_my()
})
/**
* 点击通知栏进入后的回调
*/
api.addEventListener({
name: 'noticeclicked'
}, function(ret, err) {
// 判断是否推送内容
if(ret && ret.value && ret.value.extra) {
// alert(JSON.stringify(ret.value.extra));
// 处理点击回调
notificationClicked(ret.value.extra);
}
});
//监听应用进入后台,通知jpush暂停事件
api.addEventListener({
name: 'pause'
}, function(ret, err) {
onPause();
})
//监听应用恢复到前台,通知jpush恢复事件
api.addEventListener({
name: 'resume'
}, function(ret, err) {
onResume();
})
}
//统计-app恢复
function onResume() {
ajpush.onResume();
console.log('JPush onResume');
}
//统计-app暂停
function onPause() {
ajpush.onPause();
console.log('JPush onPause');
}
function open_home() {
var btnid="#foot-home";
$(btnid).attr('src', '../res/btn/foot-home-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'home',
url: 'home.html',
bounces: false,
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
vScrollBarEnabled: false
})
frame_name = 'home';
footerid = 'foot-home';
toggleNewMsgFlag($("#foot-home").parent(),true,Config.getConstant("TYPE_PUSH_HOME"),null);
}
function open_dynamic() {
var btnid="#foot-dynamic";
$(btnid).attr('src', '../res/btn/foot-dynamic-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'dynamic',
url: 'dynamic.html',
bounces: false,
pageParam:{
from:"index"
},
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
reload: true,
vScrollBarEnabled: false
})
frame_name = 'dynamic';
footerid = 'foot-dynamic';
toggleNewMsgFlag($("#foot-dynamic").parent(),true,Config.getConstant("TYPE_PUSH_DYNA"),null);
}
function open_venue() {
var btnid="#foot-sheshi";
$(btnid).attr('src', '../res/btn/foot-sheshi-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'venue',
url: 'venue.html',
bounces: false,
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
reload: true,
vScrollBarEnabled: false
})
frame_name = 'venue';
footerid = 'foot-sheshi';
toggleNewMsgFlag($("#foot-sheshi").parent(),true,Config.getConstant("TYPE_PUSH_EQU"),null);
}
function open_interact() {
var btnid="#foot-huodong";
$(btnid).attr('src', '../res/btn/foot-huodong-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'interact',
url: 'interact/interact.html',
bounces: false,
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
reload: true,
vScrollBarEnabled: false
})
frame_name = 'activity';
footerid = 'foot-huodong';
// 切换消息未读红点
toggleNewMsgFlag($("#foot-huodong").parent(),true,Config.getConstant("TYPE_PUSH_ACT"),null);
}
function open_my() {
var btnid="#foot-my";
$(btnid).attr('src', '../res/btn/foot-my-active.png')
$(btnid).next('.aui-bar-tab-label').css('color','#3D60F6');
api.openFrame({
name: 'my',
url: 'my.html',
bounces: false,
rect: {
x: 0,
y: 0,
w: 'auto',
h: body_h - footer_h
},
reload: true,
vScrollBarEnabled: false
})
frame_name = 'my';
footerid = 'foot-my';
toggleNewMsgFlag($("#foot-my").parent(),true,Config.getConstant("TYPE_PUSH_MINE"),null);
}
// function open_actyy() {
// api.closeFrame({
// name: 'home'
// });
// open_interact();
// $('#foot-home').attr('src', '../res/btn/foot-home.png');
// $('#foot-huodong').attr('src', '../res/btn/foot-huodong-active.png');
// footer_tab.setActive(4);
// }
/**
* 点亮提示红点
* 当前消息提示逻辑依据推送实现,为了保证推送之后消息的是否消费状态,缓存到本地
* 只有当用户点击的时候才消费该推送
* @param container 点击的div,红点为其一级子组件
* @param isUserTouch 用户是否点击,如果是用户点击,取消红点点亮,消费本地缓存
* @param moduel 所点模块
* @param data 消息,如果消息不为空,缓存到本地,并点亮;如果为空,从本地尝试读取消息,并依情点亮
*/
function toggleNewMsgFlag(container,isUserTouch,moduel, data) {
if (isUserTouch) { // 用户点击,无条件消费并取消点亮
freshNewMsgFlagUI(container,moduel,false);
} else {
if (data) { // 消息不为空,缓存消息,点亮红点
freshNewMsgFlagUI(container,moduel,true);
} else { // 消息为空,判断缓存
api.getPrefs({
key: moduel
}, function (ret, err) {
if (ret && ret.value && ret.value != '0') { // 读取到缓存,有消息未消费
freshNewMsgFlagUI(container,moduel,true);
} else { // 未读取到缓存,隐藏
freshNewMsgFlagUI(container,moduel,false);
}
})
}
}
}
/**
* 根据本地缓存点亮未读消息
*/
function initIndexMsgCache(){
// 首页
loadCacheMsg($("#foot-home").parent(),Config.getConstant("TYPE_PUSH_HOME"));
// 动态
loadCacheMsg($("#foot-dynamic").parent(),Config.getConstant("TYPE_PUSH_DYNA"));
// 设施
loadCacheMsg($("#foot-sheshi").parent(),Config.getConstant("TYPE_PUSH_EQU"));
// 互动
loadCacheMsg($("#foot-huodong").parent(),Config.getConstant("TYPE_PUSH_ACT"));
// 我的
loadCacheMsg($("#foot-my").parent(),Config.getConstant("TYPE_PUSH_MINE"));
}
function loadCacheMsg(container,moduel){
api.getPrefs({
key: moduel
}, function(ret, err) {
var isOn = ret && ret.value && ret.value == '1' ;
freshNewMsgFlagUI(container,moduel,isOn);
});
}
function freshNewMsgFlagUI(container,moduel,isOn) {
if (isOn) {
// setCache
api.setPrefs({
key: moduel,
value: '1'
});
// freshUI
$(container).append("<div class='msg-new'></div>");
} else {
// setCache
api.setPrefs({
key: moduel,
value: '0'
});
// freshUI
$(container).find('div .msg-new').remove();
}
}
function notificationClicked(extra){
if(extra && extra.code){
// 分情况打开对应的页面 - 首页,动态,设施,互动,我的
var code = extra.code.substring(0,3);
/*
五种推送大类:首页,动态,设施,互动,我的
*/
switch (code) {
case Config.getConstant("TYPE_PUSH_HOME"): // 首页
/*
首页列表类型点击后停留首页frame,其余根据其业务类型进入不同页面
*/
if(extra.code == Config.getConstant("TYPE_PUSH_HOME_HOT")) {
footer_tab.setActive(1);
toggleTab(0);
} else {
var tc = parseInt(extra.code.substring(extra.code.length-1,extra.code.length));
// 10101 - 10106 跳转文章详情
if(((tc >= 1 && tc <= 6)
|| (extra.code == Config.getConstant("TYPE_PUSH_HOME_VOLUNT")))
&& extra.data) {
// 从extra.data.news_id中解析文章id
var newsId = extra.data && extra.data.news_id ? extra.data.news_id : JSON.parse(extra.data).news_id;
if(newsId && newsId != ""){
if(extra.code == Config.getConstant("TYPE_PUSH_HOME_VOLUNT")) {
openWin_volunteer_detail(newsId); // 志愿服务
} else {
openWin_article_detail(newsId); // 文章详情
}
}
} else {
switch (extra.code) {
case Config.getConstant("TYPE_PUSH_HOME_MARKET"): // 文化超市
open_win('wenhuacs','wenhuacs.html',false);
break;
case Config.getConstant("TYPE_PUSH_HOME_ALL"): // 全部
open_win('more','more.html',false);
break;
default:
}
}
// 消费消息并通知页面刷新
api.setPrefs({
key: extra.code,
value: '0'
});
api.sendEvent({
name: 'event_home_notice',
extra: null
});
}
break;
case Config.getConstant("TYPE_PUSH_DYNA"): // 动态
footer_tab.setActive(2);
toggleTab(1);
break;
case Config.getConstant("TYPE_PUSH_EQU"): // 设施
footer_tab.setActive(3);
toggleTab(2);
break;
case Config.getConstant("TYPE_PUSH_ACT"): // 互动
footer_tab.setActive(4);
toggleTab(3);
break;
case Config.getConstant("TYPE_PUSH_MINE"): // 我的
footer_tab.setActive(5);
toggleTab(4);
break;
default:
break;
}
}
}
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>隐私协议</title>
<link rel="stylesheet" type="text/css" href="../css/aui.2.0.css" />
<link rel="stylesheet" type="text/css" href="../css/vant.css">
<style>
body{
padding: 0px;
margin: 0px;
}
#privacy_policy{
/*padding: 1em;*/
}
.content{
overflow-x: hidden;
overflow-y: auto;
padding-left: 1em;
padding-right: 1em;
}
#header{
background-color: #3D60F6;
height: 2em;
}
.buttons{
padding: 1em;
padding-bottom: 2em;
}
.btnitem{
text-align: center;
}
.btnitem .btn{
text-align: center;
margin:0 auto;
}
.btnitem .btn1{
color: #fff;
background-image: linear-gradient(to right,#4AA6FF ,#3764FF);
padding: 0.2em 2.3em;
border-radius: 100px;
font-size: 14px;
}
.btnitem .btn2{
color: #585858;
font-size: 14px;
}
.btnitem1{
margin-bottom: 1em;
}
.loading{
margin-top: 50%;
}
</style>
</head>
<body>
<div id="privacy_policy">
<van-loading v-if="isLoading" size="24px" vertical class="loading">加载中...</van-loading>
<div v-if="!isLoading">
<van-sticky :offset-top="0">
<header id="header"></header>
<van-nav-bar :title="title"/>
</van-sticky>
<van-row>
<van-col span="24" v-html="content" class="content">
</van-col>
</van-row>
<div id="buttons" class="buttons">
<div class="btnitem btnitem1">
<a href="javascript:goto();" class="btn btn1" @click="agree">同意并继续</a>
</div>
<div class="btnitem">
<a href="javascript:goto();" class="btn btn2" @click="disagree">退出应用</a>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="../script/vue.min.js"></script>
<script type="text/javascript" src="../script/vant.min.js"></script>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/common.js"></script>
<script type="text/javascript" src="../script/jquery.min.js"></script>
<script>
apiready = function() {
api.addEventListener({
name:"keyback"
},function(ret,err){
//禁止返回
});
var app = new Vue({
el:"#privacy_policy",
data:{
content:'',
title:'',
isLoading:true,
headerHeight:0
},
methods:{
init(){
//var header = document.querySelector('#header');
//$api.fixStatusBar(header);
//var headerPos = $api.offset(header);
//Vue.set(app,'headerHeight',headerPos.h);
},
back(){
window.history.back();
},
setContent(){
var url = window.config.dev_path+"/api/page/detail?id=16";
$.post(url,{},function(ret){
if(1==ret.status){
Vue.set(app,'content',ret.data.content);
Vue.set(app,'title',ret.data.title);
Vue.set(app,'isLoading',false);
}
},'json');
},
agree(){
//open_home();
$api.setStorage('first_run',500);
api.openFrame({
name: 'index',
url: './index.html',
});
},
disagree(){
api.closeWidget();
}
}
})
app.init();
app.setContent();
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>隐私协议</title>
<link rel="stylesheet" type="text/css" href="../css/aui.2.0.css" />
<script src=""></script>
<style>
body{
padding: 1em;
}
</style>
</head>
<body id="body">
<div id="app">
<div v-html="content"></div>
</div>
<script type="text/javascript" src="../script/vue.min.js"></script>
<script type="text/javascript" src="../script/vant.min.js"></script>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/common.js"></script>
<script type="text/javascript" src="../script/jquery.min.js"></script>
<script>
apiready = function() {
$('body').height(api.winHeight);
var body = $api.byId('body');
var bodyPos = $api.offset(body);
var app = new Vue({
el:"#app",
data:{
content:'',
title:'',
},
methods:{
init:function(){
get_data('/api/page/detail?id=16', 'post', {}, function(ret) {
if(1==ret.status){
Vue.set(app,"content",ret.data.content);
api.refreshHeaderLoadDone();
}
});
},
}
});
app.init();
}
</script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment