Merge branch 'dev' into dev_lww

# Conflicts:
#	Application/Admin/Controller/FileController.class.php
#	Application/Admin/Controller/GameController.class.php
#	Application/Admin/View/Game/edit.html
#	Application/Home/Controller/HomeController.class.php
#	Application/Home/View/default/Home/landingPage.html
#	Public/Home/css/index2.css
master
liuweiwen 5 years ago
commit e30f2f9601

@ -584,4 +584,16 @@ function getAllGame()
{
$list = M("game", 'tab_')->field('relation_game_name as game_name')->group('relation_game_name')->select();
return $list;
}
/**
* 中间加密 替换字符串的子串
*/
function encryptStr($str) {
$length = strlen($str);
$stars_str = "";
for ($x=0; $x<=$length-6; $x++) {
$stars_str = $stars_str."*";
}
return substr_replace($str, $stars_str, 3, $length-6);
}

@ -0,0 +1,73 @@
<?php
namespace Admin\Controller;
class BehaviorLogController extends ThinkController
{
public function game()
{
$params = I('get.');
$ignoreData = ['p', 'row', 'timestart', 'timeend', 'promote_id'];
$map = [];
// if (isset($params['user_account'])) {
// $map['user_account'] = $params['user_account'];
// }
// if (isset($params['extend'])) {
// $map['extend'] = $params['extend'];
// }
// if (isset($params['game_name'])) {
// $map['game_name'] = $params['game_name'];
// }
// if (isset($params['server_name'])) {
// $map['server_name'] = $params['server_name'];
// }
// if (isset($params['sdk_version'])) {
// $map['sdk_version'] = $params['sdk_version'];
// }
// if (isset($params['user_nickname'])) {
// $map['user_nickname'] = $params['user_nickname'];
// }
// if (isset($params['game_player_id'])) {
// $map['game_player_id'] = $params['game_player_id'];
// }
foreach ($params as $k => $v) {
if (!in_array($k, $ignoreData)) {
$map[$k] = $v;
}
}
$p = $params['p'] ? $params['p'] : 1;
$row = $params['row'] ? $params['row'] : 10;
$startDate = empty($params['timestart']) ? date('Y-m-d', strtotime('-6 day', time())) : $params['timestart'];
$endDate = empty($params['timeend']) ? date('Y-m-d') : $params['timeend'];
$startTime = strtotime($startDate);
$endTime = strtotime($endDate) + 86399;
$map['create_time'] = array('BETWEEN', [$startTime, $endTime]);
if ($promoteId = I('promote_id')) {
if ($promoteId == 0) {
$map['promote_id'] = 0;
} else {
$promoteMap['chain'] = ['like', "%/$promoteId/%"];
$promoteIds = M('Promote', 'tab_')->where($promoteMap)->getField('id', true);
if(empty($promoteIds)) {
$promoteIds[] = $promoteIds;
}
$map['promote_id'] = ['in', $promoteIds];
}
}
$data = M('pay_info', 'tab_')->where($map)->order('id DESC')->page($p, $row)->select();
$count = M('pay_info', 'tab_')->where($map)->count();
$page = set_pagination($count, $row);
if ($page) {
$this->assign('_page', $page);
}
$this->assign('startDate', $startDate);
$this->assign('endDate', $endDate);
$this->assign('data', $data);
$this->display('index');
}
}

@ -89,7 +89,6 @@ class FileController extends AdminController
if (strpos(I('type'),'video') !== false) {
$uploader->set('path', './Uploads/Video');
}
// var_dump($_POST);
// exit;
//用于断点续传,验证指定分块是否已经存在,避免重复上传
@ -113,8 +112,6 @@ class FileController extends AdminController
}
if (($path = $uploader->upload('file', $_POST)) !== false) {
die($path);
} else {
die($uploader->getError());
}
}

@ -347,7 +347,8 @@ class GameController extends ThinkController
$phone['dow_icon'] = $sibling['dow_icon'];
$phone['back_map'] = $sibling['back_map'];
$phone['flooring_page_video'] = $sibling['flooring_page_video'];
$saveRes = M('Game', 'tab_')->data($phone)->where(array('id' => $another['id']))->save();
$phone['supersign_status'] = $sibling['supersign_status'];
M('Game', 'tab_')->data($phone)->where(array('id' => $another['id']))->save();
//同时修改代充游戏折扣
$set_fidel['status'] = 1;
$set_fidel['game_id'] = $id;

@ -190,25 +190,25 @@ class MemberController extends ThinkController
// ->select();
if($_REQUEST['promote_id'] && $_REQUEST['promote_id'] > -1){
$data = $usermodel->table('(' . $sql1 . ') as a ')->field('a.id,a.device_number,a.age_status,a.account,a.balance,a.gold_coin,a.alipay,a.promote_id,a.register_type,a.promote_account,a.register_time,a.lock_status,a.register_way,a.register_type,a.register_ip,a.login_time,IFNULL(sum(ss.pay_amount),0) as recharge_total,check_status')
->join('left join tab_spend as ss on ss.user_id=a.id AND ss.pay_status = 1'.$spendprom)
->join($game_map ? "tab_user_play on tab_user_play.user_id = a.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = a.id $game_play_map" : false)
->page($page, $row)
->having($havs)
->group('a.id')
->order($order)
->select();
->join('left join tab_spend as ss on ss.user_id=a.id AND ss.pay_status = 1'.$spendprom)
->join($game_map ? "tab_user_play on tab_user_play.user_id = a.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = a.id $game_play_map" : false)
->page($page, $row)
->having($havs)
->group('a.id')
->order($order)
->select();
// echo $data;die();
}else{
$data = $usermodel->table('(' . $sql1 . ') as a ')->field('a.id,a.device_number,a.age_status,a.account,a.balance,a.gold_coin,a.alipay,a.promote_id,a.register_type,a.promote_account,a.register_time,a.lock_status,a.register_way,a.register_type,a.register_ip,a.login_time,IFNULL(sum(ss.pay_amount),0) as recharge_total,check_status')
->join('left join tab_spend as ss on ss.user_id=a.id AND ss.pay_status = 1')
->join($game_map ? "tab_user_play on tab_user_play.user_id = a.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = a.id $game_play_map" : false)
->page($page, $row)
->having($havs)
->group('a.id')
->order($order)
->select();
->join('left join tab_spend as ss on ss.user_id=a.id AND ss.pay_status = 1')
->join($game_map ? "tab_user_play on tab_user_play.user_id = a.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = a.id $game_play_map" : false)
->page($page, $row)
->having($havs)
->group('a.id')
->order($order)
->select();
}
//计数
@ -220,8 +220,8 @@ class MemberController extends ThinkController
->group('tab_user.id')
->where($hav)
->having($havs)->select(false);
$allcountsql = str_replace("tab_user.promote_id","ss.promote_id",$sql);
$allcountsql = str_replace("tab_user.promote_id","ss.promote_id",$sql);
//获取总额
$allcount = M()->field('count(a.id) as count,sum(a.recharge_total) recharge_total')->table('(' . $allcountsql . ') as a')->select();
$this->assign('history_count', $allcount[0]['recharge_total']?:0);
@ -229,13 +229,13 @@ class MemberController extends ThinkController
//替换为新表
if($_REQUEST['promote_id'] && $_REQUEST['promote_id'] > -1){
$sql = M('user', 'tab_')->field('tab_user.id,IFNULL(sum(ss.pay_amount),0) AS recharge_total')
->join('left join tab_spend as ss on ss.user_id=tab_user.id AND ss.pay_status = 1'.$spendprom)
->join($game_map ? "tab_user_play on tab_user_play.user_id = tab_user.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = tab_user.id $game_play_map" : false)
->where($map)
->group('tab_user.id')
->where($hav)
->having($havs)->select(false);
->join('left join tab_spend as ss on ss.user_id=tab_user.id AND ss.pay_status = 1'.$spendprom)
->join($game_map ? "tab_user_play on tab_user_play.user_id = tab_user.id $game_map" : false)
->join($game_play_map ? "tab_user_play_info on tab_user_play_info.user_id = tab_user.id $game_play_map" : false)
->where($map)
->group('tab_user.id')
->where($hav)
->having($havs)->select(false);
}
$jcount = M('User', 'tab_')->field('count(a.id) as count,sum(a.recharge_total) recharge_total')->table('(' . $sql . ') as a')->select();
@ -494,9 +494,9 @@ class MemberController extends ThinkController
$this->error('请填写正确的名字');
}
if (!empty($data['idcard']) && !preg_match('/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/', $data['idcard'])) {
/* if (!empty($data['idcard']) && !preg_match('/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/', $data['idcard'])) {
$this->error('请输入正确的身份证号码');
}
}*/
$res = $member->updateInfo($data);
if ($res !== false) {
@ -712,6 +712,30 @@ class MemberController extends ThinkController
}
}
public function changepidcard()
{
if (preg_match('/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/', $_POST['idcard'])) {
//重复判断
$where['idcard'] = $_POST['idcard'];
/*$user = M('User', 'tab_')->where($where)->field('id,account')->find();
if ($user) {
$this->ajaxReturn(array("status" => 0, "msg" => "该身份证号码已被" . $user['account'] . "(" . $user['id'] . ")绑定"));
}*/
$map['id'] = $_POST['id'];
$pro = M("User", "tab_")
->where($map)
->setField('idcard', $_POST['idcard']);
if ($pro !== false) {
$this->ajaxReturn(array("status" => 1, "msg" => "身份证号码修改成功"));
} else {
$this->ajaxReturn(array("status" => 0, "msg" => "身份证号码修改失败"));
}
} else {
$this->ajaxReturn(array("status" => 0, "msg" => "请输入正确的身份证号码"));
}
}
public function denglu($p = 1)
{
$map['user_id'] = $_REQUEST['id'];

@ -0,0 +1,464 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css"/>
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
</style>
<!-- 标题栏 -->
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">游戏充值预下单</h3>
<p class="description_text">说明:玩家点击游戏内道具购买时生成一条新订单</p>
</div>
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<div class="input-list">
<input type="text" name="{$model['search_key']|default='user_account'}" placeholder="玩家账号" class=""
value="{:I('user_account')}">
</div>
<div class="input-list">
<input type="text" name="extend" class="" value="{:I('extend')}" placeholder="CP订单号">
</div>
<div class="input-list">
<input type="text" readonly id="time-start" name="timestart" class="" value="{$startDate}"
placeholder="充值开始时间"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time-end" name="timeend" class="" value="{$endDate}"
placeholder="充值结束时间"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="game_name" name="game_name" class="select_gallery" >
<option value="">游戏名称</option>
<volist name=":getAllGame()" id="vo">
<option value="{$vo.game_name}" <?php echo $vo.relation_game_name == I('game_name') ? 'selected':''; ?> >{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="sdk_version" name="sdk_version" class="select_gallery" >
<option value="">设备类型</option>
<option value="1" <?php echo I('sdk_version') == 1 ? "selected" : ''?>>安卓</option>
<option value="2" <?php echo I('sdk_version') == 2 ? "selected" : ''?>>苹果</option>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="server_name" name="server_name" class="select_gallery" style="width:120px;">
<option value="">区服名称</option>
</select>
</div>
<div class="input-list">
<input type="text" name="game_player_name" class="" value="{:I('user_nickname')}" placeholder="角色名称">
</div>
<div class="input-list">
<input type="text" name="game_player_id" class="" value="{:I('game_player_id')}" placeholder="角色ID">
</div>
<br>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="promote_level" style="color:#444" class="select_gallery" id="promote_level">
<option value="">请选择推广员等级</option>
<option value="1" <?php if ($_POST['promote_level'] == 1):?>selected<?php endif;?>>会长</option>
<option value="2" <?php if ($_POST['promote_level'] == 2):?>selected<?php endif;?>>部门长</option>
<option value="3" <?php if ($_POST['promote_level'] == 3):?>selected<?php endif;?>>组长</option>
<option value="4" <?php if ($_POST['promote_level'] == 4):?>selected<?php endif;?>>组员</option>
</select>
-
</div>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="promote_id" style="color:#444" class="select_gallery" id="promote_id">
<option value="">请选择推广员</option>
</select>
</div>
<input type="hidden" name="" value="" class="sortBy">
<div class="input-list search_item">
<a class="sch-btn" href="javascript:;" id="search"
url="{:U('BehaviorLog/game','model='.$model['name'] . '&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list zdata_list">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>CP订单号</th>
<th>充值时间</th>
<th>玩家账号</th>
<th>游戏名称</th>
<th>游戏区服</th>
<th>所属推广员</th>
<th>角色ID</th>
<th>角色名称</th>
<th>订单金额</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name="data">
<td colspan="9" class="text-center">aOh! 暂时还没有内容!</td>
<else/>
<volist name="data" id="vo">
<tr>
<td>{$vo.extend}</td>
<td>{:set_show_time($vo['create_time'])}</td>
<td>{$vo.user_account}</td>
<td>{$vo.game_name}</td>
<td>{$vo.server_name}</td>
<td>{$vo.promote_account}</td>
<td>{$vo.game_player_id}</td>
<td>{$vo.game_player_name}</td>
<td>{$vo.price}</td>
</tr>
</volist>
</empty>
<!-- <tr class="data_summary">
<td>汇总</td>
<td colspan="6">
当页充值:{:null_to_0(array_sum(array_column(array_status2value('pay_status','',$list_data),'pay_amount')))}
今日充值:{$ttotal}
昨日充值:{$ytotal}
累计充值:{$total}(此处只汇总充值成功的订单)
</td>
<td colspan="99" style="color: #a9a9a9;">
今日充值:今日平台所有推广员的累计充值(包括官方渠道)/
昨日充值:昨日平台所有推广员的累计充值(包括官方渠道)
</td>
</tr> -->
</tbody>
</table>
</div>
</div>
<div class="page">
<!-- <a class="sch-btn" href="{:U('Export/expUser',array_merge(array('id'=>7,'xlsname'=>'游戏订单_游戏充值'),I('get.')))}">导出</a> -->
{$_page|default=''}
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="Spend/lists">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '
<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">
';
</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script>
<volist name = ":I('get.')" id = "vo">
Think.setValue('{$key}', "{$vo}");
</volist>
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('BehaviorLog/game')}');
$(function () {
//搜索功能
$("#search").click(function () {
var sdate = Date.parse($('#time-start').val()) / 1000;
var edate = Date.parse($('#time-end').val()) / 1000;
if (sdate > edate) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
if ((edate - sdate) > 2592000) {
layer.msg('时间间隔不能超过31天请重新选择日期');
return false;
}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g, '');
query = query.replace(/^&/g, '');
if (url.indexOf('?') > 0) {
url += '&' + query;
} else {
url += '?' + query;
}
window.location.href = url;
});
$(".paixu").click(function () {
var that = $(this);
$data_order = that.attr('data-order');
$order_type = '{$userarpu_order}';
if ($order_type == '' || $order_type == '4') {
$(".sortBy").attr('name', 'data_order');
val = '3,' + $data_order;
$(".sortBy").attr('value', val);
$("#search").click();
} else if ($order_type == '3') {
$(".sortBy").attr('name', 'data_order');
val = '4,' + $data_order;
$(".sortBy").attr('value', val);
$("#search").click();
}
});
//回车自动提交
$('.jssearch').find('input').keyup(function (event) {
if (event.keyCode === 13) {
$("#search").click();
}
});
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
showMeridian:true,
pickDate:true,
minView: 2,
autoclose: true,
pickTime:true,
todayBtn:true,
}).on('change',function(ev){
var val = new Date($.trim($(this).val())).getTime();
var end = new Date($.trim($('#time-end').val())).getTime();
if (val>end) {
layer.msg('开始时间大于结束时间!');$(this).val('');
}
return false;
});
$("#time-end").datetimepicker({
format:"yyyy-mm-dd",
language: "zh-CN",
showMeridian:true,
minView:2,
autoclose:true,
todayBtn:true,
}).on('change',function(ev){
var val = new Date($.trim($(this).val())).getTime();
var start = new Date($.trim($('#time-start').val())).getTime();
if (val<start) {
layer.msg('开始时间大于结束时间!');$(this).val('');
}
return false;
});
$(".budan").click(function () {
url = $(this).attr('href-hhh');
data = $(this).attr('href-data');
$.ajax({
type: 'post',
url: url,
data: {orderNo: data},
success: function (e) {
if (e.status == 1) {
layer.msg(e.msg, {icon: 1});
setTimeout(function () {
location.reload();
}, 1500);
} else {
layer.msg(e.msg, {icon: 2});
}
},
});
});
$(".budan2").click(function () {
url = $(this).attr('href-hhh');
data = $(this).attr('href-data');
$.ajax({
type: 'post',
url: url,
data: {orderNo: data},
success: function (e) {
if (e.status == 1) {
if (e.msg.length > 30) {
window.open(e.msg);
} else {
layer.msg(e.msg, {icon: 1});
setTimeout(function () {
location.reload();
}, 1500);
}
} else {
layer.msg(e.msg, {icon: 2});
}
},
});
});
$(".d_list").find(".drop-down11").hover(function () {
$(this).find(".nav-list").removeClass("hidden");
}, function () {
$(this).find(".nav-list").addClass("hidden");
});
$(".drop-down11 .nav-list li").find("a").each(function () {
var that = $(".drop-down11");
$(this).click(function () {
var text = $(this).text(), val = $(this).attr("value");
that.find(".sort-txt").text(text).attr("data", val);
that.find(".nav-list").addClass("hidden");
that.siblings('.hiddenvalue').val(val);
})
});
$(".d_list").find(".drop-down12").hover(function () {
$(this).find(".nav-list").removeClass("hidden");
}, function () {
$(this).find(".nav-list").addClass("hidden");
});
$(".drop-down12 .nav-list li").find("a").each(function () {
var that = $(".drop-down12");
$(this).click(function () {
var text = $(this).text(), val = $(this).attr("value");
that.find(".sort-txt").text(text).attr("data", val);
that.find(".nav-list").addClass("hidden");
that.siblings('.hiddenvalue').val(val);
})
});
$(".d_list").find(".drop-down13").hover(function () {
$(this).find(".nav-list").removeClass("hidden");
}, function () {
$(this).find(".nav-list").addClass("hidden");
});
$(".drop-down13 .nav-list li").find("a").each(function () {
var that = $(".drop-down13");
$(this).click(function () {
var text = $(this).text(), val = $(this).attr("value");
that.find(".sort-txt").text(text).attr("data", val);
that.find(".nav-list").addClass("hidden");
that.siblings('.hiddenvalue').val(val);
})
});
//下拉内容框
$(".drop-down2").on('click', function (event) {
var navlist = $(this).find('.i_list_li');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$('#i_list_id').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one("click", function () {
navlist.addClass('hidden');
});
event.stopPropagation();
});
$('#i_list_id').on('keyup', function (event) {
var val = $.trim($(this).val()).toLowerCase();
$('#i_list_idh').val(val);
});
$("#i_list_li").find("a").each(function () {
$(this).click(function () {
var text = $.trim($(this).text()).toLowerCase();
$("#i_list_id").val(text);
$('#i_list_idh').val(text);
})
});
})
var promote_id = "{:I('promote_id')}";
$("#promote_level").change(function(){
$.ajax({
url:"{:U('Ajax/getPromotersByLevel')}",
type:"get",
data:{level:$("#promote_level option:selected").val()},
dataType:'json',
success:function(response){
str = '<option value="">请选择推广员</option><option value="0"'+(promote_id && 0 == promote_id?'selected':'')+'>官方渠道</option>';
data = response.data;
for (var i in data){
str += "<option value='"+data[i].id+"' "+(promote_id && data[i].id == promote_id?'selected':'')+">"+data[i].nickname+"</option>"
}
$("#promote_id").empty();
$("#promote_id").append(str);
$("#promote_id").select2();
}
})
});
$("#promote_level").change();
var game_server = "{:I('server_name')}";
$("#sdk_version").change(function(){
$.ajax({
url:"{:U('Ajax/getGmeServer')}",
type:"post",
data:{sdk_version:$("#sdk_version option:selected").val(), game_name:$("#game_name option:selected").val()},
dataType:'json',
success:function(data){
str = "<option value=''>请选择区服</option>";
for (var i in data){
str += "<option value='"+data[i].server_name+"' "+(game_server && data[i].server_name == game_server?'selected':'')+">"+data[i].server_name+"</option>"
}
$("#server_name").empty();
$("#server_name").append(str);
$("#server_name").select2();
}
})
});
$("#game_name").change(function(){
$("#sdk_version").change();
});
$("#game_name").change();
/**
* 初始化select2单选默认带搜索功能。
*/
//初始化页面加载
$(document).ready(function () {
});
</script>
</block>

@ -215,7 +215,7 @@
<textarea name="introduction" class="txt_area">{$data['introduction']}</textarea>
</td>
</tr>
<tr>
<td class="l">游戏资料中心:</td>
<td class="r">
@ -254,7 +254,6 @@
<span class="notice-text">尺寸不得小于125*125px大小不得超过50K</span>
</td>
</tr>
<tr class="picbox">
<td class="l noticeinfo">游戏素材包</td>
<td class="r">
@ -281,7 +280,6 @@
<span class="notice-text">此处可上传该游戏的素材包,必须为压缩包形式,用于渠道后台下载推广</span>
</td>
</tr>
<tr class="picbox">
<td class="l noticeinfo">游戏推荐图</td>
<td class="r">
@ -335,7 +333,7 @@
</div>
</div>
</span>
<span class="notice-text">横版游戏建议尺寸1691280*720px及以上竖版游戏建议尺寸916720*1280px及以上用于游戏详情页内展示</span>
<span class="notice-text">建议尺寸750*1334图片大小不超过3M</span>
</td>
</tr>
@ -375,23 +373,43 @@
<?php $name = substr($data['flooring_page_video'],strripos($data['flooring_page_video'],'/',0)+1); ?>
<div id="beforeuploadvideo" class="item">
<h4 class="info">{$name}<a href="javascript:;" class="jsdelvideo table_click" style="float:none;display:inline-block;margin-left:10px;">删除</a></h4>
<video src="{$data['flooring_page_video']}" controls width="150px"></video>
</div>
</notempty>
</div>
</div>
<input type="hidden" id="video_url" name="flooring_page_video" value="{$data['flooring_page_video']}"/>
</span>
<span class="notice-text"></span>
<span class="notice-text">视频大小不能超过20M支持格式mp4,3gp,wmv,asf,asx,mov,m4v,avi,flv,qlv</span>
</td>
</tr>
<!-- <tr class="picbox">
<td class="l noticeinfo" >落地页视频</td>
<td class="r">
<input type="file" name="flooring_page_video" id="flooring_page_video" value="">
<input type="hidden" name="flooring_page_video_data" id="flooring_page_video_data" value="">
</td>
</tr>-->
<tr>
<td class="l">ios视频是否置顶</td>
<if condition="$data['ios_video_top'] eq 1">
<td class="r" >
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="0" name="ios_video_top" > 不置顶
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="ios_video_top" checked="checked"> 置顶
</label></span>
</td>
<else/>
<td class="r" >
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="0" name="ios_video_top" checked="checked"> 不置顶
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="ios_video_top" > 置顶
</label></span>
</td>
</if>
</tr>
<notempty name="data.accredit_img">
<tr class="picbox">
@ -400,8 +418,7 @@
<span class="table_btn table_upload">
<div class="upload-img-box">
<div class="upload-pre-item">
<span class="placeholder-graphic placeholder-graphic_ad">
<img src="{$data['accredit_img']|get_cover='path'}"/></span>
<span class="placeholder-graphic placeholder-graphic_ad"><img src="{$data['accredit_img']|get_cover='path'}"/></span>
</div>
</div>
</span>
@ -435,6 +452,7 @@
</volist></span>
</td>
</tr>
<tr>
<td class="l">下载状态:</td>
@ -461,6 +479,7 @@
</td>
</if>
</tr>
<tr>
<td class="l">下载端口:</td>
<td class="r" >
@ -505,6 +524,32 @@
<input type="text" class="txt " name="supersign_url" value="{$data['supersign_url']}" placeholder="请输入超级签URL" >
</td>
</tr>
<tr>
<td class="l">超级签状态:</td>
<if condition="$data['supersign_status'] eq 1">
<td class="r" >
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="0" name="supersign_status" > 关闭
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="supersign_status" checked="checked"> 开启
</label></span>
</td>
<else/>
<td class="r" >
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="0" name="supersign_status" checked="checked"> 关闭
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="supersign_status" > 开启
</label></span>
</td>
</if>
</tr>
</tbody>
</table>
</div>
@ -765,7 +810,6 @@
</table>
</div>
<div class="form-item cf">
<input type="hidden" name='id' value="{$data['id']}" />
<input type="hidden" name='type' value="{$_GET['type']}" />
@ -1131,6 +1175,7 @@
}
});
//上传落地页视频
var uploaderVideo = WebUploader.create({
// 选完文件后,是否自动上传。
auto: true,
@ -1141,12 +1186,13 @@
// 选择文件的按钮。可选。
// 内部根据当前运行是创建可能是input元素也可能是flash.
pick: {id:'#pickerVideo'},
fileSingleSizeLimit:20*1024*1024, //设定单个文件大小
// dnd: true,
paste: document.body,
accept: {
title: '视频',
extensions: 'mp4,3gp,wmv,asf,asx,mov,m4v,avi,flv',
mimeTypes: '.mp4,.3gp,.wmv,.asf,.asx,.mov,.m4v,.avi,.flv',
extensions: 'mp4,3gp,wmv,asf,asx,mov,m4v,avi,flv,qlv',
mimeTypes: '.mp4,.3gp,.wmv,.asf,.asx,.mov,.m4v,.avi,.flv,.qlv',
},
// 不压缩image, 默认如果是jpeg文件上传前会压缩一把再上传
resize: false,
@ -1191,13 +1237,12 @@
});
uploaderVideo.on( 'uploadSuccess', function( file , response) {
console.log(file);
$( '#'+file.id ).find('p.state').text('已上传').fadeOut(800);
//alert(JSON.stringify(response));
$('#'+file.id).find('h4.info').append('<a href="javascript:;" class="jsdelvideo table_click" style="float:none;display:inline-block;margin-left:10px;">删除</a>');
var url = response.path + "/" +response.name;
console.log(url);
$('#'+file.id).find('h4.info').after("<video src="+url+" controls width=\"150px\"></video>");
$("#video_url").val(url);
$('#'+file.id).find('.jsdelvideo').on('click',function() {
console.log(file);
@ -1208,6 +1253,17 @@
});
});
/**
* 验证文件格式以及文件大小
*/
uploaderVideo.on("error",function (type){
if (type=="Q_TYPE_DENIED"){
layer.msg("不支持该视频格式");
}else if(type=="F_EXCEED_SIZE"){
layer.msg("视频大小不能超过20M");
}
});
uploaderVideo.on( 'uploadError', function( file ) {
$( '#'+file.id ).find('p.state').text('上传出错');
});
@ -1303,7 +1359,7 @@
uploaderFile.on( 'uploadComplete', function(file) {
$( '#'+file.id ).find('.progress').fadeOut();
});
//游戏截图
var uploaderImg = WebUploader.create({
// 选完文件后,是否自动上传。
@ -1339,7 +1395,7 @@
});
var imgListData = [];
@ -1516,7 +1572,7 @@
);
}
</script>
<script type="text/javascript">
var uploaderImgScreen = WebUploader.create({
// 选完文件后,是否自动上传。
@ -1531,6 +1587,7 @@
id:'#screenshot',
multiple:true
},
fileSingleSizeLimit:3*1024*1024, //设定单个文件大小
// dnd: false,
paste: document.body,
accept: {
@ -1549,8 +1606,8 @@
formData: function(){return $.extend(true, {}, userInfo);},
chunked:false,
duplicate: true
});
});
var imgListScreenData = [];
<?php if (!empty($data['screenshot_data'])) :?>
var html = '';
@ -1558,7 +1615,7 @@
<?php foreach ($data['screenshot_data'] as $value1) { ?>
<?php $value1 = (int)$value1; ?>
imgListScreenData.push(<?=$value1?>);
html += '<div id="' + <?=$value1?> + '" class="item flooring_page_img_box" style="margin-right: 10px;">';
html += '<a href="javascript:;"><img src="<?=get_cover($value1,"path")?>" style="width: 100px;height: 100px;cursor: move;"></a>';
html += '<h4 class="info" style="text-align: center;">';
@ -1570,7 +1627,7 @@
html += '</div>';
<?php }?>
$('#screenshot_thelist').html(html);
$('#screenshot_thelist').children().children('h4').children('.jsdelzip').on('click', function() {
var thisId = $(this).attr('img-id');
$(this).parent().parent().remove();
@ -1584,7 +1641,7 @@
setScreenshotVal();
});
<?php endif ;?>
<?php endif ;?>
var thisIndex1 = 0;
var imgScreenList = $("#screenshot_thelist");
uploaderImgScreen.on( 'fileQueued', function( file ) {
@ -1624,6 +1681,15 @@
$percent.text( (percentage * 100).toFixed(0) + '%' );
});
/**
* 验证文件格式以及文件大小
*/
uploaderVideo.on("error",function (type){
if(type=="F_EXCEED_SIZE"){
layer.msg("视频大小不能超过3M");
}
});
uploaderImgScreen.on( 'uploadSuccess', function( file , response) {
imgListScreenData.push(Number(response.id));
console.log(imgListScreenData)
@ -1649,7 +1715,7 @@
return false;
});
});
function setScreenshotVal()
{
var screen_shot = '';
@ -1661,8 +1727,8 @@
}
</script>
<script>
<script>
var uploaderImgCover = WebUploader.create({
// 选完文件后,是否自动上传。
auto: true,
@ -1694,8 +1760,8 @@
formData: function(){return $.extend(true, {}, userInfo);},
chunked:false,
duplicate: true
});
});
var imgListCoverData = [];
<?php if (!empty($data['cover_data'])) :?>
var html = '';
@ -1703,7 +1769,7 @@
<?php foreach ($data['cover_data'] as $value2) { ?>
<?php $value2 = (int)$value2; ?>
imgListCoverData.push(<?=$value2?>);
html += '<div id="' + <?=$value2?> + '" class="item flooring_page_img_box" style="margin-right: 10px;">';
html += '<a href="javascript:;"><img src="<?=get_cover($value2,"path")?>" style="width: 100px;height: 100px;cursor: move;"></a>';
html += '<h4 class="info" style="text-align: center;">';
@ -1715,7 +1781,7 @@
html += '</div>';
<?php }?>
$('#cover_thelist').html(html);
$('#cover_thelist').children().children('h4').children('.jsdelzip').on('click', function() {
var thisId = $(this).attr('img-id');
$(this).parent().parent().remove();
@ -1729,7 +1795,7 @@
setCoverVal();
});
<?php endif ;?>
<?php endif ;?>
var thisIndex2 = 0;
var imgCoverList = $("#cover_thelist");
uploaderImgCover.on( 'fileQueued', function( file ) {
@ -1790,7 +1856,7 @@
return false;
});
});
function setCoverVal()
{
var cover = '';
@ -1800,7 +1866,7 @@
cover = cover.substring(0, cover.length - 1);
$('input[name=cover]').val(cover);
}
</script>
<script>
var iconInfo = {userId:"kazaff", md5:"",icon:1}; //用户会话信息
@ -1835,8 +1901,8 @@
formData: function(){return $.extend(true, {}, iconInfo);},
chunked:false,
duplicate: true
});
});
var imgListIconData = [];
<?php if (!empty($data['icon_data'])) :?>
var html = '';
@ -1844,7 +1910,7 @@
<?php foreach ($data['icon_data'] as $value3) { ?>
<?php $value3 = (int)$value3; ?>
imgListIconData.push(<?=$value3?>);
html += '<div id="' + <?=$value3?> + '" class="item flooring_page_img_box" style="margin-right: 10px;">';
html += '<a href="javascript:;"><img src="<?=get_cover($value3,"path")?>" style="width: 100px;height: 100px;cursor: move;"></a>';
html += '<h4 class="info" style="text-align: center;">';
@ -1856,7 +1922,7 @@
html += '</div>';
<?php }?>
$('#icon_thelist').html(html);
$('#icon_thelist').children().children('h4').children('.jsdelzip').on('click', function() {
var thisId = $(this).attr('img-id');
$(this).parent().parent().remove();
@ -1870,7 +1936,7 @@
setIconVal();
});
<?php endif ;?>
<?php endif ;?>
var thisIndex2 = 0;
var imgIconList = $("#icon_thelist");
uploaderImgIcon.on( 'fileQueued', function( file ) {
@ -1940,7 +2006,7 @@
}
});
function setIconVal()
{
var icon = '';
@ -1950,6 +2016,6 @@
icon = icon.substring(0, icon.length - 1);
$('input[name=icon]').val(icon);
}
</script>
</block>

@ -1,56 +1,56 @@
<extend name="Public/base"/>
<block name="body">
<style>
.tabcon1711 .table_click,.tabcon1711 .table_click:hover {border:none;}
.tabcon1711 .table_click .table_click_text {border-bottom:1px solid transparent;}
.tabcon1711 .table_click:hover .table_click_text {border-bottom-color:#145CCD;}
</style>
<style>
.tabcon1711 .table_click,.tabcon1711 .table_click:hover {border:none;}
.tabcon1711 .table_click .table_click_text {border-bottom:1px solid transparent;}
.tabcon1711 .table_click:hover .table_click_text {border-bottom-color:#145CCD;}
</style>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="tab-content tabcon1711">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('edit?model='.$model['id'])}" method="post" class="form-horizontal">
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">基本信息</h3>
<p class="description_text">说明:此处显示本站玩家账号的相关信息</p>
</div>
<div class="tab-pane in tab1">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="l">玩家账号</td>
<td class="r">
<input type="text" class="txt" name="account" value="{$data['account']}"disabled="disabled">
<span class="notice-text">玩家登录账号,一经注册,全平台通用</span>
</td>
</tr>
<lt name="data.register_type" value="3">
<tr>
<td class="l">登录密码</td>
<td class="r">
<input type="text" class="txt" name="password" value="">
<span class="notice-text">不可查看,只能更改密码</span>
</td>
</tr>
</lt>
<tr>
<td class="l">用户昵称</td>
<td class="r">
<if condition="$data['nickname'] eq null">
<span class="notice-text" style="width:215px;margin-left:0px;">— —</span>
<else/>
<input type="text" class="txt" name="nickname" value="{$data['nickname']}" disabled>
</if>
<span class="notice-text">初次登录,默认玩家为账号,用户可自行设置昵称</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">账号状态</td>
<td class="r table_radio">
<form id="form" action="{:U('edit?model='.$model['id'])}" method="post" class="form-horizontal">
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">基本信息</h3>
<p class="description_text">说明:此处显示本站玩家账号的相关信息</p>
</div>
<div class="tab-pane in tab1">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="l">玩家账号</td>
<td class="r">
<input type="text" class="txt" name="account" value="{$data['account']}"disabled="disabled">
<span class="notice-text">玩家登录账号,一经注册,全平台通用</span>
</td>
</tr>
<lt name="data.register_type" value="3">
<tr>
<td class="l">登录密码</td>
<td class="r">
<input type="text" class="txt" name="password" value="">
<span class="notice-text">不可查看,只能更改密码</span>
</td>
</tr>
</lt>
<tr>
<td class="l">用户昵称</td>
<td class="r">
<if condition="$data['nickname'] eq null">
<span class="notice-text" style="width:215px;margin-left:0px;">— —</span>
<else/>
<input type="text" class="txt" name="nickname" value="{$data['nickname']}" disabled>
</if>
<span class="notice-text">初次登录,默认玩家为账号,用户可自行设置昵称</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">账号状态</td>
<td class="r table_radio">
<span class="form_radio table_btn player_table_btn">
<label>
<input type="radio" value="1" name="lock_status"
@ -61,32 +61,32 @@
<eq name="data['lock_status']" value="0">checked="checked"</eq>> {:L('Lock')}
</label>
</span>
<span class="notice-text">可设置玩家账号的登录状态,锁定即无法登录本平台</span>
</td>
</tr>
<tr>
<td class="l">用户头像</td>
<td class="r">
<span class="notice-text">可设置玩家账号的登录状态,锁定即无法登录本平台</span>
</td>
</tr>
<tr>
<td class="l">用户头像</td>
<td class="r">
<span class="table_click table_icon player_table_btn" style="border-bottom:0px;">
<span class="placeholder_graphic" style="width:52px;height:52px;border-radius:50%;">
<img id="lookheadpic" alt="点击查看原图" title="点击查看原图" src="{$data['head_img']}" style="border-radius:50%;" width="52px" height="52px" />
</span>
</span>
<span class="notice-text" style="height:52px; line-height:52px;">初次登录默认头像,用户可以自行修改</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">VIP等级</td>
<td class="r table_radio">
<span class="notice-text" style="height:52px; line-height:52px;">初次登录默认头像,用户可以自行修改</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">VIP等级</td>
<td class="r table_radio">
<span class="form_radio table_btn player_table_btn">
VIP {:get_vip_level($recharge_total)}
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">实名认证</td>
<td class="r table_radio">
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">实名认证</td>
<td class="r table_radio">
<span class="form_radio table_btn player_table_btn">
<switch name="data.age_status">
<case value="0">未认证</case>
@ -96,158 +96,153 @@
<default />意外数据
</switch>
</span>
<span class="notice-text">需玩家认证真实姓名和身份证号码</span>
</td>
</tr>
<tr>
<td class="l">真实姓名</td>
<td class="r">
<if condition="$data['real_name'] eq null">
<input type="text" class="txt" name="real_name" value="">
<else/>
<input type="text" class="txt" name="real_name" value="{$data['real_name']}">
</if>
</td>
</tr>
<tr>
<td class="l">身份证号</td>
<td class="r">
<if condition="$data['idcard'] eq null">
<input type="text" class="txt" name="idcard" value="">
<else/>
<input type="text" class="txt" name="idcard" value="{$data['idcard']}">
</if>
</td>
</tr>
<tr>
<td class="l">QQ号</td>
<td class="r">
<if condition="$data['qq'] eq null">
<input type="text" class="txt" name="qq" value="空" disabled>
<else/>
<input type="text" class="txt" name="qq" value="{$data['qq']}" disabled>
</if>
</td>
</tr>
<tr>
<td class="l noticeinfo">手机号码</td>
<td class="r pr">
<input type="text" class="txt " name="phone" value="{$data['phone']}" placeholder="暂无手机号码"
readonly>
<span id="phone" class="table_click"><span class="table_click_text inner-click-text">点击修改</span></span>
<span class="notice-text">玩家绑定的手机号,可通过点击修改,更换玩家的绑定手机(慎重使用)<span>
</td>
</tr>
<tr>
<td class="l">注册时间</td>
<td class="r">
<input type="text" class="txt" name="register_time" value="{$data['register_time']|date=' Y-m-d H:i:s',###}" disabled>
</td>
</tr>
<tr>
<td class="l">注册ip</td>
<td class="r">
<input type="text" class="txt" name="register_ip" value="{$data['register_ip']}" disabled>
</td>
</tr>
<span class="notice-text">需玩家认证真实姓名和身份证号码</span>
</td>
</tr>
<tr>
<td class="l">真实姓名</td>
<td class="r">
<if condition="$data['real_name'] eq null">
<input type="text" class="txt" name="real_name" value="">
<else/>
<input type="text" class="txt" name="real_name" value="{$data['real_name']}">
</if>
</td>
</tr>
<tr>
<td class="l">身份证号</td>
<td class="r">
<input type="text" class="txt" value="{$data['idcard']|encryptStr}" readonly>
<span id="idcard" class="table_click"><span class="table_click_text inner-click-text">点击修改</span></span>
</td>
</tr>
<tr>
<td class="l">QQ号</td>
<td class="r">
<if condition="$data['qq'] eq null">
<input type="text" class="txt" name="qq" value="空" disabled>
<else/>
<input type="text" class="txt" name="qq" value="{$data['qq']}" disabled>
</if>
</td>
</tr>
<tr>
<td class="l noticeinfo">手机号码</td>
<td class="r pr">
<input type="text" class="txt " value="{$data['phone']|encryptStr}" placeholder="暂无手机号码"
readonly>
<span id="phone" class="table_click"><span class="table_click_text inner-click-text">点击修改</span></span>
<span class="notice-text">玩家绑定的手机号,可通过点击修改,更换玩家的绑定手机(慎重使用)<span>
</td>
</tr>
<tr>
<td class="l">注册时间</td>
<td class="r">
<input type="text" class="txt" name="register_time" value="{$data['register_time']|date=' Y-m-d H:i:s',###}" disabled>
</td>
</tr>
<tr>
<td class="l">注册ip</td>
<td class="r">
<input type="text" class="txt" name="register_ip" value="{$data['register_ip']}" disabled>
</td>
</tr>
<tr>
<td class="l">最后登录时间</td>
<td class="r">
<input type="text" class="txt" name="login_time" value="{$data['login_time']|date=' Y-m-d H:i:s',###}" disabled>
</td>
</tr>
<tr>
<td class="l">最后登录IP</td>
<td class="r">
<input type="text" class="txt" name="login_ip" value="{$data['login_ip']}" disabled>
</td>
</tr>
<tr>
<td class="l noticeinfo">平台币余额</td>
<td class="r">
<input type="text" class="txt readonly-input" value="{$data['balance']}" width="20px" readonly>
<span class="notice-text">显示该用户平台币的账户余额</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">绑定平台币余额</td>
<td class="r">
<a id="bindplatform" class="table_click table_btn player_table_btn" href="{:U('Member/bind_balance',array('id'=>$data['id']))}"><span class="table_click_text">点击查看</span></a>
<span class="notice-text">显示该用户各个游戏的绑定平台币余额(点击弹出显示,可以手动修改)</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">游戏付费记录</td>
<td class="r">
<span id="chongzhi" class="table_click table_btn player_table_btn"><span class="table_click_text">点击查看</span></span>
<span class="notice-text">此处显示该玩家游戏内的充值记录;不包含玩家账户充值平台币的记录</span>
</td>
</tr>
<tr>
<td class="l">最后登录时间</td>
<td class="r">
<input type="text" class="txt" name="login_time" value="{$data['login_time']|date=' Y-m-d H:i:s',###}" disabled>
</td>
</tr>
<tr>
<td class="l">最后登录IP</td>
<td class="r">
<input type="text" class="txt" name="login_ip" value="{$data['login_ip']}" disabled>
</td>
</tr>
<tr>
<td class="l noticeinfo">平台币余额</td>
<td class="r">
<input type="text" class="txt readonly-input" value="{$data['balance']}" width="20px" readonly>
<span class="notice-text">显示该用户平台币的账户余额</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">绑定平台币余额</td>
<td class="r">
<a id="bindplatform" class="table_click table_btn player_table_btn" href="{:U('Member/bind_balance',array('id'=>$data['id']))}"><span class="table_click_text">点击查看</span></a>
<span class="notice-text">显示该用户各个游戏的绑定平台币余额(点击弹出显示,可以手动修改)</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">游戏付费记录</td>
<td class="r">
<span id="chongzhi" class="table_click table_btn player_table_btn"><span class="table_click_text">点击查看</span></span>
<span class="notice-text">此处显示该玩家游戏内的充值记录;不包含玩家账户充值平台币的记录</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">金币余额</td>
<td class="r">
<tr>
<td class="l noticeinfo">金币余额</td>
<td class="r">
<span class="table_btn player_table_btn">
<input type="text" class="txt readonly-input" value="{$data['gold_coin']}" style="border:none;" readonly>
</span>
<span class="notice-text">显示该用户的金币余额</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">金币提现记录</td>
<td class="r">
<span id="tixian" class="table_click table_btn player_table_btn"><span class="table_click_text">点击查看</span></span>
<span class="notice-text">此处显示该玩家的金币提现记录</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">角色信息</td>
<td class="r">
<span id="role" class="table_click table_btn player_table_btn"><span class="table_click_text">点击查看</span></span>
<span class="notice-text">点击查看该用户游戏角色信息</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">游戏登录记录</td>
<td class="r">
<span id="denglu" class="table_click table_btn player_table_btn"><span class="table_click_text">点击查看</span></span>
<span class="notice-text">点击查看该用户游戏登录记录</span>
</td>
</tr>
<tr>
<td class="l noticeinfo"></td>
<td class="r">
<div class="new_submit">
<input type="hidden" id="selfid" name="id" value="{$data.id}">
<input type="hidden" id="url" name="urll" value="{$url}">
<button class="submit_btn ajax-post " id="submit" type="submit" target-form="form-horizontal">
确定
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</div>
</td>
</tr>
</table>
</div>
<span class="notice-text">显示该用户的金币余额</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">金币提现记录</td>
<td class="r">
<span id="tixian" class="table_click table_btn player_table_btn"><span class="table_click_text">点击查看</span></span>
<span class="notice-text">此处显示该玩家的金币提现记录</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">角色信息</td>
<td class="r">
<span id="role" class="table_click table_btn player_table_btn"><span class="table_click_text">点击查看</span></span>
<span class="notice-text">点击查看该用户游戏角色信息</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">游戏登录记录</td>
<td class="r">
<span id="denglu" class="table_click table_btn player_table_btn"><span class="table_click_text">点击查看</span></span>
<span class="notice-text">点击查看该用户游戏登录记录</span>
</td>
</tr>
<tr>
<td class="l noticeinfo"></td>
<td class="r">
<div class="new_submit">
<input type="hidden" id="selfid" name="id" value="{$data.id}">
<input type="hidden" id="url" name="urll" value="{$url}">
<button class="submit_btn ajax-post " id="submit" type="submit" target-form="form-horizontal">
确定
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</div>
</td>
</tr>
</table>
</div>
</form>
</div>
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="Member/user_info">
</form>
</div>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="Member/user_info">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
@ -289,7 +284,7 @@
var href = $(this).attr('href');
layer.open({
type: 2, title: "绑定平台币余额", shadeClose: true, shade: 0.8, area: ['70%', '80%'],
content: [href , 'no']
content: [href , 'no']
});
return false;
});
@ -300,7 +295,7 @@
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: [url + 'admin.php?s=/Member/chax/id/' + id + '' , 'no']
content: [url + 'admin.php?s=/Member/chax/id/' + id + '' , 'no']
});
});
@ -311,24 +306,24 @@
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: [url + 'admin.php?s=/Member/role_list/user_id/' + id + '' , 'no']
content: [url + 'admin.php?s=/Member/role_list/user_id/' + id + '' , 'no']
});
});
$('#tixian').click(function() {
layer.open({
$('#tixian').click(function() {
layer.open({
type: 2,
title: "【金币提现记录】列表",
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: [url + 'admin.php?s=/Member/gold_coin/user_id/' + id + '/account/'+$.trim($('input[name="account"]').val()), 'no']
content: [url + 'admin.php?s=/Member/gold_coin/user_id/' + id + '/account/'+$.trim($('input[name="account"]').val()), 'no']
});
});
});
$('#lookheadpic').click(function() {
var url = $(this).attr('src');
layer.open({
var url = $(this).attr('src');
layer.open({
type: 1,
title: "",
shadeClose: true,
@ -345,7 +340,7 @@
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: [url + 'admin.php?s=/Member/denglu/id/' + id + '', 'no']
content: [url + 'admin.php?s=/Member/denglu/id/' + id + '', 'no']
});
});
$("#bind_balance").click(function () {
@ -356,9 +351,45 @@
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: [url + 'admin.php?s=/Member/bind_balance/id/' + id + '', 'no']
content: [url + 'admin.php?s=/Member/bind_balance/id/' + id + '', 'no']
});
});
$("#idcard").click(function () {
layer.prompt({
formType: 3,
title: "请输入身份证号码",
value: ''
}, function (idcard) {
var jsid = $('#selfid').val();
var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if(!regIdNo.test(idcard)){
layer.msg("身份证号填写有误");
return false;
}
$.ajax({
url: '{:U("changepidcard")}',
type: 'post',
dataType: 'json',
data: {idcard:idcard,id:jsid},
success: function (data) {
if (data.status > 0) {
layer.msg(data.msg)
setTimeout(function(){
self.location.reload(true);
},1500);
} else {
layer.msg(data.msg)
}
},
error: function () {
alert("服务器故障!");
}
});
});
});
$("#phone").click(function () {
layer.prompt({
formType: 3,
@ -380,10 +411,10 @@
success: function (data) {
if (data.status > 0) {
layer.msg(data.msg)
setTimeout(function(){
setTimeout(function(){
self.location.reload(true);
},1500);
} else {
layer.msg(data.msg)
}

@ -284,7 +284,7 @@
<span class="login_old">{$data['login_time']|date='Y-m-d H:i:s',###}</span>
</if>
</td>
<td >{$data.device_number}</td>
<td >{$data.device_number|encryptStr}</td>
<if condition="get_info_status($data['lock_status'],4) eq 锁定">
<td style="color:red;">已{:get_info_status($data['lock_status'],4)}</td>

@ -330,12 +330,20 @@ class PromoteService {
$map = [];
$map['promote_id'] = $fromPromote['id'];
$spendMap = $map;
if (count($shiftIds) > 0) {
$map['id'] = ['in', $shiftIds];
$spendMap['user_id'] = $map['id'] = ['in', $shiftIds];
}
$users = M('user', 'tab_')->field(['id', 'account', 'nickname'])->where($map)->select();
$spendMap['pay_time'] = ['egt', $orderTime];
$payAmountRows = M('spend', 'tab_')
->field(['user_id', 'sum(pay_amount) payAmount'])
->where($spendMap)
->select();
$payAmountRows = index_by_column('user_id', $payAmountRows);
$mends = [];
foreach ($users as $item) {
$mends[] = [
@ -349,6 +357,7 @@ class PromoteService {
'remark' => $remark == '' ? ($task['creator_type'] == 0 ? '后台补链' : '玩家迁移') : $remark,
'order_time' => $orderTime,
'create_time' => time(),
'pay_amount' => isset($payAmountRows[$item['id']]) ? $payAmountRows[$item['id']]['payAmount'] : 0,
'op_id' => $creator ? $creator['id'] : 0,
'op_account' => $opAccount,
'op_type' => $task['creator_type'],
@ -387,7 +396,7 @@ class PromoteService {
$orderMap1 = $otherMap;
$orderMap1['pay_time'] = ['egt', $orderTime];
M('spend', 'tab_')->where($orderMap1)->where(['is_check' => ['in','1,2']])->save($updateData); // 只改未对账的数据
M('spend', 'tab_')->where($orderMap1)->where(['is_check' => ['in','1,2'], 'settle_check' => 0])->save($updateData); // 只改未对账的数据
M('bind_spend', 'tab_')->where($orderMap1)->save($updateData);
$orderMap2 = $otherMap;

@ -393,6 +393,9 @@ function get_pay_way($id = null)
case 9:
return "双乾支付";
break;
case 15:
return "双乾支付-快捷";
break;
}
}

@ -27,6 +27,7 @@ class DownloadController extends BaseController {
7 => '苹果支付',
8 => '金猪支付',
9 => '双乾支付',
15 => '双乾支付-快捷'
];
//提现状态
@ -36,6 +37,11 @@ class DownloadController extends BaseController {
1 => '汇款中',
2 => '已汇款',
];
public static $payStatus = [
0 => '下单未支付',
1 => '充值成功',
];
/**
* excel
@ -84,7 +90,7 @@ class DownloadController extends BaseController {
$res = M('promote','tab_')->where($map1)->field('id,account,nickname')->select();
$childPromoteIds = '';
if(empty($res)) {
$map['tab_downloadlog.admin_id'] = PID;
$map['tab_downloadlog.promote_id'] = PID;
}else {
foreach ($res as $rsKey => $rsValue) {
$id = $rsValue['id'];
@ -92,7 +98,7 @@ class DownloadController extends BaseController {
}
$childPromoteIds = rtrim($childPromoteIds, ',');
$childPromoteIds .= ',' . PID;
$map['tab_downloadlog.admin_id'] = ['in', $childPromoteIds];
$map['tab_downloadlog.promote_id'] = ['in', $childPromoteIds];
}
$levelPromote = $this->getLevelPromote();
$queryPromote = $this->getQueryPromote($levelPromote);
@ -105,7 +111,7 @@ class DownloadController extends BaseController {
$map = [];
if (count($childPromoteIds) > 0) {
$map = ['admin_id' => ['in', $childPromoteIds]];
$map = ['promote_id' => ['in', $childPromoteIds]];
} else {
$map['_string'] = '1<>1';
}
@ -130,7 +136,7 @@ class DownloadController extends BaseController {
$rs = M('downloadlog','tab_')->where($map)->order('tab_downloadlog.addtime desc')
->page($page, $row)->select();
foreach ($rs as $key => $value) {
$pid = intval($value['admin_id']);
$pid = intval($value['promote_id']);
$getNameRs = M('promote','tab_')->field("real_name")->where(['id' => $pid])->find();
$rs[$key]['actor'] = $getNameRs['real_name'];
}
@ -236,7 +242,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'dy_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Query/dailySummary',
'dataname' => '每日概况',
'status' => 0,
@ -291,7 +297,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'withdrawRecord'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Finance/withdrawRecord',
'dataname' => '提现记录',
'status' => 0,
@ -338,7 +344,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'withdrawDtl_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Finance/withdrawDtl',
'dataname' => '提现明细',
'status' => 0,
@ -384,7 +390,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'finance_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Finance/index',
'dataname' => '结算中心',
'status' => 0,
@ -456,7 +462,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'settlementDtl_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Finance/settlementDtl',
'dataname' => '结算明细',
'status' => 0,
@ -512,7 +518,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'test_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/TestResource/index',
'dataname' => '申请测试资源',
'status' => 0,
@ -572,7 +578,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'test_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/TestResource/lists',
'dataname' => '申请测试资源记录',
'status' => 0,
@ -619,7 +625,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'test_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/TestResource/supportNumberList',
'dataname' => '扶持号管理',
'status' => 0,
@ -682,7 +688,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'orderlist_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/CoinOrder/order_list',
'dataname' => '平台币充值',
'status' => 0,
@ -779,7 +785,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'zc_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Query/arpu',
'dataname' => 'ARPU统计',
'status' => 0,
@ -865,7 +871,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'zc_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Query/registe',
'dataname' => '注册明细数据',
'status' => 0,
@ -928,7 +934,7 @@ class DownloadController extends BaseController {
$type = "/Home/Promote/children/promote_type/".$promoteType;
$data = [
'logid' => 'promote_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => $type,
'dataname' => '渠道管理',
'status' => 0,
@ -987,7 +993,7 @@ class DownloadController extends BaseController {
$type = "/Home/PromoteCoin/transferLogs";
$data = [
'logid' => 'cr_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => $type,
'dataname' => '平台币转移',
'status' => 0,
@ -1049,7 +1055,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'pt_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => "/Home/PromoteCoin/coinRecord",
'dataname' => '我的平台币明细',
'status' => 0,
@ -1112,7 +1118,7 @@ class DownloadController extends BaseController {
$type = "/Home/PromoteCoin/myCoin";
$data = [
'logid' => 'pt_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => $type,
'dataname' => '我的平台币',
'status' => 0,
@ -1128,6 +1134,95 @@ class DownloadController extends BaseController {
}
$this->success('添加下载成功',U('listsIndex'));
}
public function players_data_export() {
$begTime = I('begtime');
$endTime = I('endtime');
$map1['chain'] = ['like','%'.'/'.PID.'/'.'%'];
$rs = M('promote','tab_')->where($map1)->field('id,account,nickname')->select();
$childPromoteIds = '';
if(empty($rs)) {
$map['tab_pay_info.promote_id'] = PID;
}else {
foreach ($rs as $rsKey => $rsValue) {
$id = $rsValue['id'];
$childPromoteIds .= $id.',';
}
$childPromoteIds = rtrim($childPromoteIds, ',');
$childPromoteIds .= ',' . PID;
$map['tab_pay_info.promote_id'] = ['in', $childPromoteIds];
}
$levelPromote = $this->getLevelPromote();
$queryPromote = $this->getQueryPromote($levelPromote);
$map2[] = [
'_logic' => 'or',
'id' => $queryPromote['id'],
'chain' => ['like', $queryPromote['chain'] . $queryPromote['id'] . '/%']
];
$ids = M('promote', 'tab_')->where($map2)->getField('id', true);
if(empty($ids)) {
$ids = array();
}
if(empty($levelPromote)) {
array_push($ids,PID);
}
array_push($ids,$queryPromote['id']);
if (!empty($ids)) {
$map['tab_pay_info.promote_id'] = ['in',$ids];
}else {
$map['_string'] = '1<>1';
}
// empty(I('relation_game_id')) || $map['tab_pay_info.relation_game_id'] = I('relation_game_id');
// empty(I('sdk_version')) || $map['tab_pay_info.sdk_version'] = I('sdk_version');relation_game_id
$relation_game_id = I('relation_game_id');
$sdk_version = I('sdk_version');
if ($relation_game_id != 0 || $sdk_version != 0) {
if ($relation_game_id != 0) {
$gameMap['relation_game_id'] = $relation_game_id;
}
if ($sdkVersion != 0) {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId1 = M('game', 'tab_')->where($gameMap)->getField('id', true);
$map['game_id'] = ['in', $gameId1];
}
empty(I('server_id')) || $map['tab_pay_info.server_id'] = I('server_id');
empty(I('game_player_name')) || $map['tab_pay_info.game_player_name'] = ['like', '%' . I('game_player_name') . '%'];
empty(I('user_account')) || $map['tab_pay_info.user_account'] = ['like', '%' . I('user_account') . '%'];
empty(I('extend')) || $map['tab_pay_info.extend'] = I('extend');
empty(I('user_id')) || $map['tab_pay_info.user_id'] = I('user_id');
if (!empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['between', [strtotime($begTime), strtotime($endTime) - 1]];
}else if (empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['elt',strtotime($endTime)];
}else if (!empty($begTime) && empty($endTime)) {
$map['tab_pay_info.create_time'] = ['EGT',strtotime($begTime)];
}
$conditions = json_encode($map,TRUE);
$addtime = time();
$data = [
'logid' => 'players_'.time(),
'promote_id' => PID,
'type' => '/Home/Players/playaction',
'dataname' => '玩家行为日志',
'status' => 0,
'addtime' => $addtime,
'begintime' => 0,
'content' => '',
'conditions' =>$conditions
];
$res = M('downloadlog','tab_')->add($data);
if (!$res) {
// $this->ajaxReturn(array("status" => -1, "msg" => "添加导出日志失败", 'ret' => $res));
$this->error('添加下载失败');
}
$this->success('添加下载成功',U('listsIndex'));
}
/**
* 充值明细添加下载
* @author sunke
@ -1204,14 +1299,20 @@ class DownloadController extends BaseController {
empty(I('game_player_name')) || $map['tab_spend.game_player_name'] = ['like', '%' . I('game_player_name') . '%'];
empty(I('user_account')) || $map['tab_spend.user_account'] = ['like', '%' . I('user_account') . '%'];
empty(I('pay_order_number')) || $map['tab_spend.pay_order_number'] = I('pay_order_number');
$map['tab_spend.pay_status'] = 1;
// $map['tab_spend.pay_status'] = 1;
$map['tab_spend.is_check'] = ['neq', 2];
if (isset($_REQUEST['pay_status']) && $_REQUEST['pay_status'] !== '') {
$payStatus = intval(I('pay_status'));
if (in_array($payStatus, array_keys(self::$payStatus))) {
$map['tab_spend.pay_status'] = $payStatus;
}
}
$conditions = json_encode($map,TRUE);
$addtime = time();
$data = [
'logid' => 'cz_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Query/recharge',
'dataname' => '充值明细数据',
'status' => 0,
@ -1322,7 +1423,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'wj_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Query/userRecharges',
'dataname' => '充值玩家数据',
'status' => 0,
@ -1420,7 +1521,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data1 = [
'logid' => 'tg_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Query/achievement',
'dataname' => '推广员业绩',
'status' => 0,
@ -1554,7 +1655,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'js_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Query/userRoles',
'dataname' => '角色查询数据',
'status' => 0,
@ -1636,7 +1737,7 @@ class DownloadController extends BaseController {
$nowTime = date('Y-m-d');
$begtime1 = date('Y-m-d', strtotime('-6 day', strtotime($nowTime)));
$endtime1 = $nowTime;
$map["apply_time"] = ["between",[strtotime($begtime1),strtotime($endtime1)]];
$map["apply_time"] = ["between",[strtotime($begtime1),strtotime($endtime1) + 3600*24]];
}
if(!empty($begtime) && !empty($endtime)) {
$map["apply_time"] = ["between",[strtotime($begtime),strtotime($endtime) + 3600 * 24]];
@ -1651,7 +1752,7 @@ class DownloadController extends BaseController {
$addtime = time();
$data = [
'logid' => 'hz_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Query/summary',
'dataname' => '数据汇总数据',
'status' => 0,
@ -1750,11 +1851,73 @@ class DownloadController extends BaseController {
case "平台币充值":
$this->orderlistExcelInfo($id,$map);
break;
case "玩家行为日志";
$this->playactionExcelInfo($id,$map);
break;
default:
break;
}
}
public function playactionExcelInfo($id,$map) {
$xlsName = "玩家行为日志";
$xlsCell = array(
'cp订单号',
'充值时间',
'玩家账号',
'游戏名称',
'所属推广员',
'游戏区服',
'角色ID',
'角色名称',
'订单金额'
);
$model = M('pay_info','tab_');
$data1 = $model->field('id')->where($map)->select();
$csvFileName = $xlsName.'.csv';
//设置好告诉浏览器要下载excel文件的headers
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'. $csvFileName .'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
$fp = fopen('php://output', 'a');//打开output流
mb_convert_variables('gb2312', 'UTF-8', $xlsCell);
fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中
$accessNum = '100000';//从数据库获取总量,假设是十万
$accessNum = count($data1)?:0 ;
$perSize = 5000;//每次查询的条数
$pages = ceil($accessNum / $perSize);
for($i = 1; $i <= $pages; $i++) {
$data = $model->where($map)->order('tab_pay_info.create_time desc')
->limit(($i-1)*$perSize ,$perSize)->select();
foreach($data as $key => $v) {
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$promoteInfo = M('promote','tab_')->field("nickname")->where(['id' => intval($v['promote_id'])])->find();
$v['promote_id']= $promoteInfo['nickname'];
$csvData['extend'] = $this->encryption($v['extend']);
$csvData['create_time'] = $v['create_time'];
$csvData['user_account'] = $v['user_account'];
$csvData['game_name'] = $v['game_name'];
$csvData['promote_id'] = $v['promote_id'];
$csvData['server_name'] = $v['server_name'];
$csvData['user_id'] = $v['user_id'];
$csvData['game_player_name'] = $v['game_player_name'];
$csvData['price'] = $v['price'];
mb_convert_variables('GBK', 'UTF-8', $csvData);
fputcsv($fp, $csvData);
}
unset($csvData);
ob_flush();
flush();
}
fclose($fp);
$this->backSuccessExport($id);
}
//注册明细excel信息
public function registerExcelInfo($id,$map) {
@ -2965,6 +3128,8 @@ class DownloadController extends BaseController {
'充值次数',
'昨日充值',
'未登录天数',
'游戏累计登陆天数',
'创角时间',
'最后登录时间',
'推广员账号',
@ -3022,8 +3187,14 @@ class DownloadController extends BaseController {
//$spendMap['_string'] = 'uc.game_id = tab_user_play_info.game_id and uc.server_id = tab_user_play_info.server_id and uc.role_id = tab_user_play_info.role_id';
$fieldUC = "sum(uc.recharge_cost) recharge_cost,sum(uc.recharge_count) recharge_count,sum(if(uc.create_time = {$nowTime},uc.recharge_cost,0)) as recharge_cost_today";
$fieldUI = "ui.user_account,ui.game_name,ui.role_name,ui.role_level,ui.server_name,ui.play_time,ui.play_ip,ui.promote_account,ui.sdk_version";
$field = $fieldUC . ',' . $fieldUI;
$fieldUI = "ui.user_account,ui.game_name,ui.role_name,ui.role_level,ui.server_name,ui.play_time,ui.play_ip,ui.promote_account,ui.sdk_version,ui.create_time";
$loginRecordMap['lr.create_time'] = $map['uc.create_time'];
$loginRecordMap['_string'] = 'lr.user_id = uc.user_id and lr.game_id = uc.game_id';
$fieldLR = M('login_daily_record', 'tab_')->alias('lr')
->field("count(*) as count")
->where($loginRecordMap)
->buildSql();
$field = $fieldUC . ',' . $fieldUI . ',' . $fieldLR . ' as user_game_login_count';
$subQuery = M('user_play_data_count', 'tab_')->alias('uc')
->field($field)
->join('left join tab_user_play_info as ui on ui.game_id = uc.game_id and ui.server_id = uc.server_id and ui.role_id = uc.role_id')
@ -3077,6 +3248,8 @@ class DownloadController extends BaseController {
$csvData['recharge_count'] = empty($value['recharge_count']) ? 0 : $value['recharge_count'];
$csvData['recharge_cost_today'] = empty($value['recharge_cost_today']) ? 0 : $value['recharge_cost_today'];
$csvData['unlogin_day'] = empty($value['play_time']) ? '--' : intval((strtotime(date('Y-m-d 00:00:00')) - strtotime(date('Y-m-d 00:00:00', $value['play_time']))) / (24 * 3600));
$csvData['user_game_login_count'] = empty($value['user_game_login_count']) ? 0 : $value['user_game_login_count'];
$csvData['create_time'] = empty($value['create_time']) ? '--' : date('Y-m-d H:i:s', $value['create_time']);
$csvData['play_time'] = empty($value['play_time']) ? '--' :date('Y-m-d H:i:s',$value['play_time']);
$csvData['promote_account'] = empty($value['promote_account']) ? '--' :$value['promote_account'];
@ -3098,6 +3271,8 @@ class DownloadController extends BaseController {
$allData['recharge_count'] = $total['recharge_count'];
$allData['recharge_cost_today'] = $total['recharge_cost_today'];
$allData['unlogin_day'] = '--';
$allData['user_game_login_count'] = '--';
$allData['create_time'] = '--';
$allData['play_time'] = '--';
$allData['promote_account'] = '--';
mb_convert_variables('GBK', 'UTF-8', $allData);
@ -3114,7 +3289,9 @@ class DownloadController extends BaseController {
'游戏订单',
'订单金额',
'支付方式',
'充值状态',
'游戏名称',
'设备类型',
'区服',
'角色名',
'部门长',
@ -3184,6 +3361,8 @@ class DownloadController extends BaseController {
// $value1['user_account'] = substr_replace($value1['user_account'],'************',3,12);
$value1['user_account'] = $this->encryption($value1['user_account']);
$value1['pay_order_number'] = $this->encryption($value1['pay_order_number']);
$value1['pay_status'] = isset(self::$payStatus[$value1['pay_status']]) ? self::$payStatus[$value1['pay_status']] : "未知状态";
$value1['sdk_version'] = getSDKTypeName($value1['sdk_version']);
switch ($value1['level']) {
case 3:
$value1['p_p_pro_account'] = $promoteData[$value1['parent_id']]['account'];
@ -3212,7 +3391,9 @@ class DownloadController extends BaseController {
$csvData["pay_order_number"] = $value1["pay_order_number"];
$csvData["pay_amount"] = $value1["pay_amount"];
$csvData["pay_way"] = $value1["pay_way"];
$csvData['pay_status'] = $value1['pay_status'];
$csvData["game_name"] = $value1["game_name"];
$csvData["sdk_version"] = $value1['sdk_version'];
$csvData["server_name"] = $value1["server_name"];
$csvData["game_player_name"] = $value1["game_player_name"];
$csvData["p_p_proinfo"] = $value1["p_p_proinfo"];
@ -3239,7 +3420,9 @@ class DownloadController extends BaseController {
$csvData1["pay_order_number"] = "--";
$csvData1["pay_amount"] = $income;
$csvData1["pay_way"] = "--";
$csvData1['pay_status'] = "--";
$csvData1["game_name"] = "--";
$csvData1["sdk_version"] = "--";
$csvData1["server_name"] = "--";
$csvData1["game_player_name"] = "--";
$csvData1["p_p_proinfo"] = "--";
@ -3278,7 +3461,7 @@ class DownloadController extends BaseController {
$conditions = json_encode($map,TRUE);
$data = [
'logid' => 'remitrecord_'.time(),
'admin_id' => PID,
'promote_id' => PID,
'type' => '/Home/Finance/withdrawRecord',
'dataname' => '汇款证明',
'status' => 0,

@ -179,6 +179,8 @@ class HomeController extends Controller
'game_size',
'introduction',
'flooring_page_video',
'supersign_status',
'ios_video_top'
];
$map = ['id' => intval($gameId)];
$game = M('game', 'tab_')->field($columns)->where($map)->find();
@ -208,8 +210,15 @@ class HomeController extends Controller
}
$game['flooring_page_imgs'] = $imageUrls;
$screenshotIds = explode(',', $game['screenshot']) ?? [];
$screenshotUrls = [];
foreach ($screenshotIds as $screenshotId) {
$screenshotUrls[] = get_cover($screenshotId, 'path');
}
$game['screenshot'] = $screenshotUrls;
$isNewIos = false;
if ($gameSource['is_new_sdk'] == 1) {
if ($gameSource['is_new_sdk'] == 1) {
$isNewIos = true;
}

@ -0,0 +1,174 @@
<?php
namespace Home\Controller;
/**
* 前台首页控制器
* 主要获取首页聚合数据
*/
class PlayersController extends BaseController {
//玩家行为日志
public function playAction() {
$page = intval(I('p', 1));
$row = intval(I('row', 10));
$relationGameId = intval(I('relation_game_id', 0));
$sdkVersion = intval(I('sdk_version', 0));
$serverId = trim(I('server_id', ''));
$gamePlayerName = trim(I('game_player_name', ''));
$userAccount = trim(I('user_account', ''));
$userId = trim(I('user_id', ''));
$extend = trim(I('extend', '')); //cp订单号
$begTime = strtotime(I('begtime'));
$endTime = strtotime(I('endtime'));
$levelPromote = $this->getLevelPromote();
$queryPromote = $this->getQueryPromote($levelPromote);
// $loginPromote = $this->getLoginPromote();
$map = [];
$map['chain'] = ['like', $queryPromote['chain'] . $queryPromote['id'] . '/%'];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$ids[] = $queryPromote['id'];
$map = [];
$map['tab_pay_info.promote_id'] = ['in', $ids];
if ($relationGameId != 0 || $sdkVersion != 0) {
if ($relationGameId != 0) {
$gameMap['relation_game_id'] = $relationGameId;
}
if ($sdkVersion != 0) {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId = M('game', 'tab_')->where($gameMap)->getField('id', true);
$map['game_id'] = ['in', $gameId];
}
if (!empty($serverId)) {
$map['tab_pay_info.server_id'] = $serverId;
}
if (!empty($gamePlayerName)) {
$map['tab_pay_info.game_player_name'] = $gamePlayerName;
}
if (!empty($userAccount)) {
$map['tab_pay_info.user_account'] = $userAccount;
}
if (!empty($extend)) {
$map['tab_pay_info.extend'] = $extend;
}
if (!empty($userId)) {
$map['tab_pay_info.user_id'] = $userId;
}
if (!empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['between', [$begTime, $endTime - 1]];
}else if (empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['elt',$endTime];
}else if (!empty($begTime) && empty($endTime)) {
$map['tab_pay_info.create_time'] = ['EGT',$begTime];
}
$page = intval(I('get.p', 1));
$page = $page ? $page : 1; //默认显示第一页数据arraypage
$row=10;
$rs = M('pay_info','tab_')->where($map)->order('tab_pay_info.create_time desc')
->page($page, $row)->select();
foreach($rs as $key => $v) {
$rs[$key]['extend'] = encryption($v['extend']);
$rs[$key]['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$promoteInfo = M('promote','tab_')->field("nickname")->where(['id' => intval($v['promote_id'])])->find();
$rs[$key]['promote_id']= $promoteInfo['nickname'];
}
$count = M('pay_info', 'tab_')
->field('tab_pay_info.id')
->where($map)
->select();
$count = count($count);
//分页
$parameter['p'] = $page;
$parameter['row'] = $row;
$parameter['begtime'] = $initBegTime;
$parameter['endtime'] = $initEndTime;
$parameter['relation_game_id'] = $relationGameId;
$parameter['sdk_version'] = $sdkVersion;
$parameter['server_id'] = $serverId;
$parameter['game_player_name'] = $gamePlayerName;
$parameter['user_account'] = $userAccount;
$parameter['extend'] = $extend;
$parameter['user_id'] = $user_id;
$parameter['level_promote_2'] = $levelPromote[0];
$parameter['level_promote_3'] = $levelPromote[1];
$parameter['level_promote_4'] = $levelPromote[2];
$serverData = $this->getServer($relationGameId, $sdkVersion);
$page = set_pagination($count, $row, $parameter);
if ($page) {
$this->assign('_page', $page);
}
$this->assign('listData',$rs);
$this->assign('serverData', $serverData);
$this->assign('initBegTime', I('begtime'));
$this->assign('initEndTime', I('endtime'));
$this->display();
}
private function getLevelPromote()
{
$levelPromote = [];
$levelPromote[] = I('level_promote_2', 0);
$levelPromote[] = I('level_promote_3', 0);
$levelPromote[] = I('level_promote_4', 0);
return $levelPromote;
}
private function getQueryPromote($levelPromote)
{
$queryPromote = null;
$promote = $this->getLoginPromote();
$queryPromoteId = 0;
foreach ($levelPromote as $item) {
if ($item != 0) {
$queryPromoteId = $item;
}
}
if ($queryPromoteId == 0) {
$queryPromote = $this->getLoginPromote();
} else {
$queryPromote = M('promote', 'tab_')->where(['id' => $queryPromoteId])->find();
}
return $queryPromote;
}
public function getServer($relationGameId, $sdkVersion)
{
$result['status'] = 0;
$result['data'] = [];
if (empty($relationGameId)) {
return $result;
}
$map['relation_game_id'] = intval($relationGameId);
empty($sdkVersion) || $map['sdk_version'] = intval($sdkVersion);
$gameIds = M('Game', 'tab_')
->where($map)
->getField('id', true);
if (empty($gameIds)) {
return $result;
}
$gameIds = implode(',', $gameIds);
$where['game_id'] = ['in', $gameIds];
$where['show_status'] = 1;
$serverData = M('Server', 'tab_')
->field('server_id,server_name')
->where($where)
->order('server_version,start_time desc')
->select();
$result['status'] = 1;
$result['data'] = $serverData;
return $result;
}
}

@ -1893,6 +1893,11 @@ class PromoteController extends BaseController
public function shift()
{
$this->ajaxReturn([
'status' => false,
'msg'=>'该功能暂时关闭'
]);
$loginPromote = $this->getLoginPromote();
$params = $_POST;
$params['creator_id'] = $loginPromote['id'];

@ -20,6 +20,13 @@ class QueryController extends BaseController
0 => '平台币',
1 => '支付宝',
2 => '微信',
9 => '双乾支付',
15 => '双乾支付-快捷'
];
public static $payStatus = [
0 => '下单未支付',
1 => '充值成功',
];
public function recharge($p = 0)
@ -85,8 +92,14 @@ class QueryController extends BaseController
}
}
}
if (isset($_REQUEST['pay_status']) && $_REQUEST['pay_status'] !== '') {
$payStatus = intval(I('pay_status'));
if (in_array($payStatus, array_keys(QueryController::$payStatus))) {
$map['tab_spend.pay_status'] = $payStatus;
}
}
$map['tab_spend.pay_time'] = ['between', [$begTime, $endTime - 1]];
$map['tab_spend.pay_status'] = 1;
$map['tab_spend.is_check'] = ['neq', 2];
$data = [];
@ -161,6 +174,8 @@ class QueryController extends BaseController
break;
}
$list['user_account'] = substr($list['user_account'], 0, 2) . '******' . substr($list['user_account'], 8);
$list['pay_status'] = isset(QueryController::$payStatus[$list['pay_status']]) ? QueryController::$payStatus[$list['pay_status']] : '未知状态';
$list['sdk_version'] = getSDKTypeName($list['sdk_version']);
//订单隐藏算法
$orderLen = strlen($list['pay_order_number']);
@ -210,6 +225,7 @@ class QueryController extends BaseController
$this->assign('serverData', $serverData['data']);
$this->assign('ownId', $ownId);
$this->assign('payWayData', QueryController::$payWay);
$this->assign('payStatusData', QueryController::$payStatus);
$this->meta_title = "订单查询";
$this->display();
}
@ -1745,7 +1761,7 @@ class QueryController extends BaseController
$lastSortName = trim(I('last_sort_name', ''));
$sortName = trim(I('sort_name', ''));
$sort = intval(I('sort', 1));
$sortNameData = ['recharge_cost', 'recharge_count', 'recharge_cost_today', 'unlogin_day'];
$sortNameData = ['recharge_cost', 'recharge_count', 'recharge_cost_today', 'unlogin_day', 'create_time', 'user_game_login_count'];
$nowTime = date('Y-m-d', time() - 3600 * 24);
$initBegTime = date('Y-m-d', strtotime('-6 day', strtotime($nowTime)));
$initBegTime = empty(I('begtime')) ? $initBegTime : I('begtime');
@ -1841,8 +1857,15 @@ class QueryController extends BaseController
$map['uc.create_time'] = ['between', [$begTime, $endTime - 1]];
$fieldUC = "sum(uc.recharge_cost) recharge_cost,sum(uc.recharge_count) recharge_count,sum(if(uc.create_time = {$nowTime},uc.recharge_cost,0)) as recharge_cost_today";
$fieldUI = "ui.user_account,ui.game_name,ui.role_name,ui.role_level,ui.server_name,ui.play_time,ui.play_ip,ui.promote_account,ui.sdk_version";
$field = $fieldUC . ',' . $fieldUI;
$fieldUI = "ui.user_account,ui.game_name,ui.role_name,ui.role_level,ui.server_name,ui.play_time,ui.play_ip,ui.promote_account,ui.sdk_version,ui.create_time";
$loginRecordMap['lr.create_time'] = $map['uc.create_time'];
$loginRecordMap['_string'] = 'lr.user_id = uc.user_id and lr.game_id = uc.game_id';
$fieldLR = M('login_daily_record', 'tab_')->alias('lr')
->field("count(*) as count")
->where($loginRecordMap)
->buildSql();
$field = $fieldUC . ',' . $fieldUI . ',' . $fieldLR . ' as user_game_login_count';
$subQuery = M('user_play_data_count', 'tab_')->alias('uc')
->field($field)
->join('left join tab_user_play_info as ui on ui.user_id = uc.user_id and ui.game_id = uc.game_id and ui.server_id = uc.server_id and ui.role_id = uc.role_id')
@ -1869,6 +1892,7 @@ class QueryController extends BaseController
$list['role_level'] = empty($list['role_level']) ? '--' : $list['role_level'];
$list['unlogin_day'] = empty($list['play_time']) ? '--' : intval((strtotime(date('Y-m-d 00:00:00')) - strtotime(date('Y-m-d 00:00:00', $list['play_time']))) / (24 * 3600));
$list['play_time'] = empty($list['play_time']) ? '--' : date('Y-m-d H:i:s', $list['play_time']);
$list['create_time'] = empty($list['create_time']) ? '--' : date('Y-m-d H:i:s', $list['create_time']);
$list['promote_account'] = empty($list['promote_account']) ? '--' : $list['promote_account'];
}
}

@ -32,6 +32,8 @@
<input type="hidden" name="desc" value="{$game['features']}">
<input type="hidden" name="isIOS13" value="<?php if($isIOS13):?>1<?php else:?>0<?php endif;?>">
<input type="hidden" name="isNewIos" value="<?php if($isNewIos):?>1<?php else:?>0<?php endif;?>">
<input type="hidden" name="supersign_status" value="{$game['supersign_status']}" id="supersign_status">
<?php if ($isWechat):?>
<?php if ($isAndroid):?>
<div class="bn-rule" style="display: none;"><img id="rule-img" src="__STATIC__/ios9/images/android-rule.png"></div>
@ -43,11 +45,43 @@
<div class="home">
<?php if (!empty($game['flooring_page_video'])):?>
<!--落地页视频置顶-->
<?php if ($game['ios_video_top'] == 1):?>
<div class="home-fiexd" <?php if (empty($game['flooring_page_video'])):?> style="height: 0" <?php endif;?> >
<div class="home-fiexdBox">
<?php if (!empty($game['flooring_page_video'])):?>
<div class="home-video">
<video id="shakeVideo" src="{$game['flooring_page_video']}" autoplay controls muted webkit-playsinline="true" playsinline="true"></video>
</div>
<?php endif;?>
<div class="fiexd-heard">
<div class="fiexd-heardBox" style="display: none;">
<!-- <div>完成</div>-->
<img src="{$game['icon']}" alt="" style="">
<div class="download">下载</div>
</div>
</div>
</div>
</div>
<!--落地页视频不置顶-->
<?php else:?>
<div class="home-fiexd-two" style="background: #fff;width: 100%;height: 4.22rem;">
<div class="home-video">
<video src="{$game['flooring_page_video']}" autoplay controls></video>
<video id="shakeVideo" src="{$game['flooring_page_video']}" autoplay controls muted webkit-playsinline="true" playsinline="true"></video>
</div>
<?php endif;?>
<div class="fiexd-heard" style="width: 100%;position: fixed;top: 0; left: 0;background: rgba(255, 255, 255,0);display: none;">
<div class="fiexd-heardBox">
<img src="{$game['icon']}" alt="" style="">
<div class="download">下载</div>
</div>
</div>
</div>
<?php endif;?>
<div class="home-box">
<div class="heard">
@ -93,7 +127,7 @@
</div>
<div class="slide_list">
<ul class="slide-box">
<volist name="game['flooring_page_imgs']" id="item">
<volist name="game['screenshot']" id="item">
<li class="slide-item">
<img src="{$item}" alt="">
</li>
@ -210,18 +244,33 @@
</div>
</div>
<div class="window" style="display: none;">
<div class="window" style="display: none;z-index: 1000">
<div class="containner">
<div class="containner-box">
<div class="text"> 购买至尊下载赠送限量至尊超级礼包价值100元</div>
<div class="text">• 至尊下载:永不闪退、不丢数据稳定有保障</div>
<div class="text"> • 同一设备安装一次可在一年内无限次下载重装</div>
<?php if ($game['dow_status'] ==1):?>
<?php if ($game['supersign_status'] ==1):?>
<div class="blue-btn" onclick="location.href='mobile.php/Ssg/pay/game_id/{$game[\'id\']}/promote_id/{$promoteId}'">¥10至尊下载</div>
<div class="gray-btn down-link" down-link="{$downloadUrl}">普通下载</div>
<?php else:?>
<div class="blue-btn" onclick="layer.msg('该游戏已关闭超级签下载');">¥10至尊下载</div>
<?php endif;?>
<div class="gray-btn down-link" down-link="{$downloadUrl}">普通下载</div>
<?php else:?>
<div class="blue-btn" onclick="layer.msg('该游戏已关闭下载');">¥10至尊下载</div>
<div class="gray-btn down-link" onclick="layer.msg('该游戏已关闭下载');return false;" down-link="{$downloadUrl}">普通下载</div>
<?php endif;?>
</div>
</div>
</div>
<div class="second" style="display: none;">
<div class="second" style="display: none;z-index: 1000">
<div class="second-box">
<div class="title">升级IOS9后游戏打不开怎么办</div>
<div class="carousel">
@ -279,9 +328,10 @@
<?php
?>
<input type="hidden" id="dow_status" name="dow_status" value="{$game['dow_status']}">
<input type="hidden" id="cur_url" name="cur_url" value="{$cur_url}">
<input type="hidden" id="is_new_sdk" name="is_new_sdk" value="{$is_new_sdk}">
<div class="safari" style="display: none">
<div class="safari" style="display: none;z-index: 1000">
<div class="safari-heard">
<div>请选择在“Safari”中打开</div>
<img src="__IMG__/arror.png" alt="">
@ -298,6 +348,46 @@
</html>
<script src="__STATIC__/ios9/js/layer/layer.js?VerNo=20190923" type="text/javascript"></script>
<script>
$(window).scroll(function () {
<?php if ($game['ios_video_top'] == 1):?>
var v=($(this).scrollTop())/100;
$(".fiexd-heardBox").show();
$('.home-fiexd .fiexd-heard').css('backgroundColor','rgba(255, 255, 255,'+v+')');
var t = $(window).scrollTop();
if(t<10){
$(".home-fiexd .fiexd-heardBox").hide();
}
<?php else:?>
var t = $(window).scrollTop();
var h=$('.home-video').height();
if(t>h){
var v=($(this).scrollTop())/100;
$(".home-fiexd-two .fiexd-heard").show();
$('.home-fiexd-two .fiexd-heard').css('backgroundColor','rgba(255, 255, 255,'+v+')');
}else{
if(t<h){
$(".home-fiexd-two .fiexd-heard").hide();
}
}
<?php endif;?>
})
</script>
<script>
<?php if(!empty($game['flooring_page_video'])):?>
var video = document.getElementById("shakeVideo");
console.log(video)
video.play();
document.addEventListener('WeixinJSBridgeReady',function(){
video.play();
},false);
<?php endif;?>
function is_tip_safari() {
var isTipSafari = false;
@ -354,6 +444,11 @@
});
});
$('.down-link').on('click', function () {
var dow_status = parseInt($('#dow_status').val());
if (dow_status == 0) {
layer.msg('该游戏已关闭下载');
return false;
}
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
@ -440,6 +535,7 @@
document.body.style.overflow = 'hidden';
});
$(".window").click(function(){
var dow_status = parseInt($('#dow_status').val());
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
@ -449,6 +545,12 @@
document.body.style.overflow = 'auto';
});
$(".gray-btn").click(function(){
var dow_status = parseInt($('#dow_status').val());
if (dow_status == 0) {
layer.msg('该游戏已关闭下载');
$(".window").hide();
return false;
}
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
@ -459,7 +561,7 @@
// swiperGet();
document.body.style.overflow = 'hidden';
$(".window").hide();
})
});
$(".second").click(function(){
var isTipSafari = is_tip_safari();
if (isTipSafari) {
@ -542,3 +644,4 @@
</script>

@ -15,13 +15,34 @@
<link rel="stylesheet" href="__CSS__/20180207/game.css">
<link href="__STATIC__/ios9/css/common.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/landing_page.css">
<script src="__STATIC__/vide7.4.1/js/video.min.js"></script>
<link href="__STATIC__/vide7.4.1/css/video-js.min.css" rel="stylesheet">
</head>
<body class="main_bg" style="background-color: #0a0a0a;height: auto;">
<style>
.home-video {
position: absolute;
text-align: center;
top: 23.28%;
width: 100%;
}
.home-video .video-js {
left: calc((100% - 84.7222222%) / 2);
width: 84.7222222%;
border-radius: 4.5%;
}
@media(min-width:580px){
.home-video {
max-width:580px;
}
}
</style>
<input type="hidden" name="title" value="{$game['relation_game_name']}">
<input type="hidden" name="icon" value="{$game['icon']}">
<input type="hidden" name="desc" value="{$game['features']}">
<input type="hidden" name="isIOS13" value="<?php if($isIOS13):?>1<?php else:?>0<?php endif;?>">
<input type="hidden" name="isNewIos" value="<?php if($isNewIos):?>1<?php else:?>0<?php endif;?>">
<input type="hidden" id="dow_status" name="dow_status" value="{$game['dow_status']}">
<?php if ($isWechat):?>
<?php if ($isAndroid):?>
<div class="bn-rule" style="display: none;"><img id="rule-img" src="__STATIC__/ios9/images/android-rule.png"></div>
@ -32,19 +53,135 @@
<div class="h_wrap">
<div id="data-2">
<volist name="game['flooring_page_imgs']" id="item">
<?php if ($downloadUrl == 'https://'.$_SERVER['HTTP_HOST']) :?>
<a href="#" class="no-package"><img src="{$item}" style="width: 100%;"/></a>
<?php else :?>
<a href="javascript:;" class="down-link" down-link="{$downloadUrl}"><img src="{$item}" style="width: 100%;"/></a>
<?php endif ;?>
<volist name="game['flooring_page_imgs']" id="item" key="k">
<div style="position: relative;">
<?php if ($k == 1) :?>
<?php if (!empty($game['flooring_page_video'])):?>
<div class="home-video">
<video id="example_video_1" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="none" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup="{}">
<source src="{$game['flooring_page_video']}" type='video/mp4' />
</video>
</div>
<!-- <div class="home-video">-->
<!-- <video id="shakeVideo" src="{$game['flooring_page_video']}" autoplay controls muted webkit-playsinline="true" playsinline="true"></video>-->
<!-- </div>-->
<?php endif;?>
<?php endif ;?>
<?php if ($downloadUrl == 'https://'.$_SERVER['HTTP_HOST']) :?>
<a href="#" class="no-package"><img src="{$item}" style="width: 100%;"/></a>
<?php else :?>
<a href="javascript:;" class="down-link" down-link="{$downloadUrl}"><img src="{$item}" style="width: 100%;"/></a>
<?php endif ;?>
</div>
</volist>
</div>
</div>
<script src="__STATIC__/layer/layer.js"></script>
<script src="__STATIC__/ios9/js/layer/layer.js?VerNo=20190923" type="text/javascript"></script>
<script type="text/javascript">
var videoWidth = $('.video-js').width();
$('.video-js').height(videoWidth * 0.562295082);
var myPlayer = videojs('example_video_1');
myPlayer.ready(function(){
var myPlayer = this;
myPlayer.play();
});
//设置中文
videojs.addLanguage('zh-CN', {
"Play": "播放",
"Pause": "暂停",
"Current Time": "当前时间",
"Duration": "时长",
"Remaining Time": "剩余时间",
"Stream Type": "媒体流类型",
"LIVE": "直播",
"Loaded": "加载完毕",
"Progress": "进度",
"Fullscreen": "全屏",
"Non-Fullscreen": "退出全屏",
"Mute": "静音",
"Unmute": "取消静音",
"Playback Rate": "播放速度",
"Subtitles": "字幕",
"subtitles off": "关闭字幕",
"Captions": "内嵌字幕",
"captions off": "关闭内嵌字幕",
"Chapters": "节目段落",
"Close Modal Dialog": "关闭弹窗",
"Descriptions": "描述",
"descriptions off": "关闭描述",
"Audio Track": "音轨",
"You aborted the media playback": "视频播放被终止",
"A network error caused the media download to fail part-way.": "网络错误导致视频下载中途失败。",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "视频因格式不支持或者服务器或网络的问题无法加载。",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "由于视频文件损坏或是该视频使用了你的浏览器不支持的功能,播放终止。",
"No compatible source was found for this media.": "无法找到此视频兼容的源。",
"The media is encrypted and we do not have the keys to decrypt it.": "视频已加密,无法解密。",
"Play Video": "播放视频",
"Close": "关闭",
"Modal Window": "弹窗",
"This is a modal window": "这是一个弹窗",
"This modal can be closed by pressing the Escape key or activating the close button.": "可以按ESC按键或启用关闭按钮来关闭此弹窗。",
", opens captions settings dialog": ", 开启标题设置弹窗",
", opens subtitles settings dialog": ", 开启字幕设置弹窗",
", opens descriptions settings dialog": ", 开启描述设置弹窗",
", selected": ", 选择",
"captions settings": "字幕设定",
"Audio Player": "音频播放器",
"Video Player": "视频播放器",
"Replay": "重播",
"Progress Bar": "进度小节",
"Volume Level": "音量",
"subtitles settings": "字幕设定",
"descriptions settings": "描述设定",
"Text": "文字",
"White": "白",
"Black": "黑",
"Red": "红",
"Green": "绿",
"Blue": "蓝",
"Yellow": "黄",
"Magenta": "紫红",
"Cyan": "青",
"Background": "背景",
"Window": "视窗",
"Transparent": "透明",
"Semi-Transparent": "半透明",
"Opaque": "不透明",
"Font Size": "字体尺寸",
"Text Edge Style": "字体边缘样式",
"None": "无",
"Raised": "浮雕",
"Depressed": "压低",
"Uniform": "均匀",
"Dropshadow": "下阴影",
"Font Family": "字体库",
"Proportional Sans-Serif": "比例无细体",
"Monospace Sans-Serif": "单间隔无细体",
"Proportional Serif": "比例细体",
"Monospace Serif": "单间隔细体",
"Casual": "舒适",
"Script": "手写体",
"Small Caps": "小型大写字体",
"Reset": "重启",
"restore all settings to the default values": "恢复全部设定至预设值",
"Done": "完成",
"Caption Settings Dialog": "字幕设定视窗",
"Beginning of dialog window. Escape will cancel and close the window.": "开始对话视窗。离开会取消及关闭视窗",
"End of dialog window.": "结束对话视窗"
});
$('.down-link').on('click', function () {
var dow_status = parseInt($('#dow_status').val());
if (dow_status == 0) {
layer.msg('该游戏已关闭下载');
return false;
}
if ($('.bn-rule').length > 0) {
$('.bn-rule').css('display','block')
$('.bn-rule').css('z-index','12')

@ -0,0 +1,352 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.2" rel="stylesheet">
</block>
<block name="body">
<style>
@media screen and (max-width: 1500px) {
.normal_form {
padding-top: 45px;
}
.trunk-search .normal_txt {
width: 100px
}
.select2-container--default .select2-selection--single {
width: 125px;
}
.trunk-search .select-time .txt {
width: 100px;
}
.form-group .submit {
width: 55px;
}
}
.normal_space {
margin-left: 0;
margin-right: 10px;
margin-bottom: 10px;
}
.selected-color {
color: #2bd8ed;
}
.pointer-hand {
cursor: pointer;
}
.icon-spend {
position: relative;
font-size: 1.2rem;
top: 3px;
float: right;
right: 10px;
}
.form-group {
float: left;
margin-bottom: 10px;
}
.form-group label {
line-height: 34px;
height: 34px;
}
.form-group .txt {
width: 180px;
height: 34px;
}
</style>
<div class="page-search normal_list query-recharge-search jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>玩家管理></span><span>行为日志</span></div>
</div>
<img src="__IMG__/20180207/icon_chongzhi.png">
<span class="title_main">说明</span>
<span class="details">玩家在游戏内的行为日志</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<include file="Public/promote_select" />
<div class="form-group normal_space">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery">
<option value="0">请选择游戏</option>
<volist name=":get_promote_serach_game()" id="vo">
<option value="{$vo.relation_game_id}" title="{$vo.relation_game_name}">{$vo.relation_game_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width:215px;">
<option value="0">请选择设备类型</option>
<volist name=":getSDKType()" id="vo" key="k">
<option value="{$k}">{$vo}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<select id="server_id" name="server_id" class=" reselect select_gallery">
<option value="0">请选择区服</option>
<volist name="serverData" id="vo">
<option value="{$vo.server_id}">{$vo.server_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<input type="text" name="game_player_name" class="txt normal_txt" placeholder="角色名称搜索"
value="{:I('game_player_name')}">
</div>
<div class="form-group normal_space">
<input type="text" name="user_account" class="txt normal_txt" id="uid" placeholder="玩家账号搜索"
value="{:I('user_account')}">
</div>
<div class="form-group normal_space">
<input type="text" name="user_id" class="txt normal_txt" id="uid" placeholder="角色id搜索"
value="{:I('user_id')}">
</div>
<div class="form-group normal_space">
<label class="form-title select-title" style="position: relative;">起止时间:</label>
<div class="select-time">
<input type="text" readonly id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{$initBegTime}">
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" readonly id="edate" class="txt" name="endtime" placeholder="结束时间" value="{$initEndTime}">
</div>
</div>
<div class="form-group normal_space">
<input type="text" name="extend" class="txt normal_txt" placeholder="cp订单号"
value="{:I('extend')}">
</div>
<div class="form-group normal_space">
<input type="submit" class="submit" id='submit' url="{:U('Players/playAction','model='.$model['name'],false)}"
value="查询">
</div>
<!-- <input type="hidden" name="version" value="{:I('version',1)}"> -->
<!-- </form>-->
</div>
</div>
<div class="page-list apply-app_apply-list query-recharge-list">
<div class="trunk-content article">
<div class="tabcon trunk-list">
<table class="table normal_table">
<tr class="odd">
<th>cp订单号</th>
<th>充值时间</th>
<th>玩家账号</th>
<th>游戏名称</th>
<th>所属推广员</th>
<th>游戏区服</th>
<th>角色ID</th>
<th>角色名称</th>
<th>订单金额</th>
<!-- <th>操作</th>-->
</tr>
<empty name="listData">
<tr class="num2">
<td colspan="10" style="text-align: center;height: 45vh;">
<img src="__IMG__/20180207/icon_wushujv2.png"/>
<p style="line-height: 40px;color: #A5A5A5;">暂无数据</p>
</td>
</tr>
<else/>
<volist name="listData" id="vo">
<tr class="num2">
<td>{$vo.extend}</td>
<td>{$vo.create_time}</td>
<td>{$vo.user_account}</td>
<td>{$vo.game_name}</td>
<td>{$vo.promote_id}</td>
<td>{$vo.server_name}</td>
<td>{$vo.user_id}</td>
<td>{$vo.game_player_name}</td>
<td>{$vo.price}</td>
<!-- <td>-->
<!-- <a href="{:U('Query/viewSpendDetailed',array('id'=>$vo['id']))}" style="cursor: pointer"-->
<!-- class="chakan">查看详细</a>-->
<!-- </td>-->
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<?php if ($loginer['level'] !== 4) :?>
<a id="sch-btn" data-href="{:U('download/players_data_export',array_merge(['xlsname'=>'ceshi'],I('get.')))}" class="ajax-get">导出</a>
<?php endif ;?>
{$_page}
</div>
</div>
</div>
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript" src="__JS__/common.js"></script>
<script type="text/javascript">
var promoteUrl = "{:U('Query/getSubPromotes')}"
initPromoteSelect(promoteUrl)
$().ready(function () {
setValue('relation_game_id', {$Think.request.relation_game_id |default = '""'});
setValue('sdk_version', {$Think.request.sdk_version |default = '""'});
setValue('server_id', {$Think.request.server_id |default = '""'});
setValue('row', '{:I("get.row",10)}');
var date = "{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
function showPromoteSelect(html)
{
$("#promote_id").empty();
$('#promote_id').html(html);
$("#promote_id").select2();
}
$('#own').on('click',function () {
var own = $('#own_id');
var checkBox = $(this).children('i');
if (own.is(':checked')) {
checkBox.removeClass('iconfangxingxuanzhongfill');
checkBox.removeClass('selected-color');
checkBox.addClass('iconfangxingweixuanzhong');
own.prop('checked', false);
} else {
checkBox.removeClass('iconfangxingweixuanzhong');
checkBox.addClass('iconfangxingxuanzhongfill');
checkBox.addClass('selected-color');
own.prop('checked', true);
}
});
$('#relation_game_id').change(function () {
var relationGameId = $(this).val();
var sdkVersion = $('#sdk_version').val();
getServerList(relationGameId, sdkVersion);
});
$('#sdk_version').change(function () {
var sdkVersion = $(this).val();
var relationGameId = $('#relation_game_id').val();
if (relationGameId > 0) {
getServerList(relationGameId, sdkVersion);
}
});
function getServerList(relationGameId, sdkVersion)
{
$.ajax({
url: "{:U('getServerAjax')}",
type: "post",
data: {relation_game_id: relationGameId,sdk_version:sdkVersion},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>请选择区服</option>";
if (data.status == 1) {
var serverData = data.data;
if (serverData.length > 0) {
for (var i in serverData) {
html += "<option value='" + serverData[i]['server_id'] + "'>" + serverData[i]['server_name'] + "</option>";
}
}
}
$("#server_id").empty();
$('#server_id').html(html);
$("#server_id").select2();
}
})
}
$("#pagehtml a").on("click", function (event) {
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action', geturl);
$('#data_form').submit();
});
$('#submit').click(function () {
var sdate = Date.parse($('#sdate').val()) / 1000;
var edate = Date.parse($('#edate').val()) / 1000;
if (sdate > edate) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
if ((edate - sdate) > 2592000) {
layer.msg('时间间隔不能超过31天请重新选择日期');
return false;
}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g, '');
query = query.replace(/^&/g, '');
if (url.indexOf('?') > 0) {
url += '&' + query;
} else {
url += '?' + query;
}
window.location.href = url;
});
$(".select_gallery").select2();
});
</script>
</block>

@ -127,18 +127,11 @@
<a href="{:U('CoinOrder/order_list')}" class="<if condition='CONTROLLER_NAME eq CoinOrder and (ACTION_NAME eq order_list or ACTION_NAME eq order_add or ACTION_NAME eq order_detail) '>active</if> ">平台币充值</a>
<?php endif;?>
</div>
<!--<div class="subNav jssubNav"><i class="prev_icon icon_zhandian"></i><span>联盟站点</span><i class="arrow_icon"></i></div>-->
<!--<div class="navContent jsnavContent">-->
<!--<a href="{:U('SiteApply/index')}" class="<if condition='CONTROLLER_NAME eq SiteApply and ACTION_NAME eq index '>active</if> ">站点申请</a>-->
<!--<notempty name="noapplysite">-->
<!--<a href="{:U('SiteBase/index')}" class="<if condition='CONTROLLER_NAME eq SiteBase and ACTION_NAME eq index '>active</if> ">基本信息</a>-->
<!--<a href="{:U('SiteGame/index')}" class="<if condition='CONTROLLER_NAME eq SiteGame and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq edit) '>active</if> ">游戏列表</a>-->
<!--<a href="{:U('SiteServer/index')}" class="<if condition='CONTROLLER_NAME eq SiteServer and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq edit)'>active</if> ">区服列表</a>-->
<!--<a href="{:U('SiteGift/index')}" class="<if condition='CONTROLLER_NAME eq SiteGift and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq edit)'>active</if> ">礼包列表</a>-->
<!--<a href="{:U('SiteAdv/index')}" class="<if condition='CONTROLLER_NAME eq SiteAdv and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq edit)'>active</if> ">广告列表</a>-->
<!--</notempty>-->
<!--</ul>-->
<!--</div>-->
<div class="subNav jssubNav"><i class="prev_icon icon_fuli"></i><span>玩家管理</span><i class="arrow_icon"></i></div>
<div class="navContent jsnavContent">
<a href="{:U('Players/playAction')}" class="<if condition='CONTROLLER_NAME eq Players and (ACTION_NAME eq playAction)'>active</if> ">行为日志</a>
</div>
</div>
</div>

@ -144,6 +144,19 @@
</select>
</div>
<div class="form-group normal_space">
<select id="pay_status" name="pay_status" class="reselect select_gallery" style="min-width:130px;">
<option value="-1">充值状态</option>
<foreach name="payStatusData" item="vo" key="k">
<if condition="$k eq I('pay_status',-1)">
<option value="{$k}" selected>{$vo}</option>
<else/>
<option value="{$k}">{$vo}</option>
</if>
</foreach>
</select>
</div>
<div class="form-group normal_space">
<input type="submit" class="submit" id='submit' url="{:U('Query/recharge','model='.$model['name'],false)}"
value="查询">
@ -169,8 +182,10 @@
<th>玩家账号</th>
<th>游戏订单</th>
<th>支付方式</th>
<th>充值状态</th>
<th>订单金额</th>
<th>游戏名称</th>
<th>设备类型</th>
<th>区服</th>
<th>角色名</th>
<th>部门长</th>
@ -192,8 +207,10 @@
<td title="玩家ID{$vo.user_id}">{$vo.user_account}</td>
<td>{$vo.pay_order_number}</td>
<td>{:get_pay_way($vo['pay_way'])}</td>
<td>{$vo.pay_status}</td>
<td>{$vo.pay_amount}</td>
<td>{$vo.game_name}</td>
<td>{$vo.sdk_version}</td>
<td>{$vo.server_name}</td>
<td>{$vo.game_player_name}</td>
<td>{$vo.p_p_pro_account}({$vo.p_p_pro_real_name})</td>
@ -210,6 +227,7 @@
<td>合计</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>{$income}</td>
<td>--</td>
<td>--</td>

@ -145,6 +145,28 @@
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="user_game_login_count" title="玩家在该游戏累计登陆的天数(不分区服)">游戏累计登录天数
<if condition="'user_game_login_count' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
</if>
<else/>
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="create_time" title="账号在该游戏的创角时间">注册时间
<if condition="'create_time' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
</if>
<else/>
<i class="iconfont iconsort"></i>
</if>
</th>
<th>最后登录时间</th>
<th>推广员账号</th>
</tr>
@ -163,6 +185,8 @@
<td>{$record.recharge_count}</td>
<td>{$record.recharge_cost_today}</td>
<td>{$record.unlogin_day}</td>
<td>{$record.user_game_login_count}</td>
<td>{$record.create_time}</td>
<td>{$record.play_time}</td>
<td>{$record.promote_account}</td>
</tr>
@ -180,6 +204,8 @@
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
</empty>
</table>

@ -69,7 +69,7 @@
<div class="list">
<li class="selected">监护工程概述</li>
<li class="" >申请服务流程</li>
<li class="" >介绍详细说明</li>
<li class="" >监护申请引导</li>
<li class="" >健康提示</li>
<li class="" >纠纷处理</li>
</div>
@ -120,15 +120,36 @@
</div>
<div style="display:none;">
<div class="content_box">
<div class="headline">介绍详细说明</div>
<p>网络游戏未成年人家长监护工程”是一项由文化部指导,义乌市其豪网络科技有限公司旨在加强家长对未成年人参与网络游戏的监护,引导未成年人健康、绿色参与网络游戏,和谐家庭关系的行业自律行动。</p>
<p>2010年2月5日首批试点的六家企业共同启动“监护工程”开始了游戏企业与未成年人家长联合共同预防未成年人沉迷网络游戏的有益尝试。实践中一些成功的案例让我们看到 “监护工程”提供了一种切实可行的方法,一种家长实施监控的管道,使家长纠正部分未成年子女沉迷网游成为可能。</p>
<p>“监护工程”引导家长和未成年人正确面对网络游戏文化,加强相互沟通,在共同约定和认可的时间或规则下健康游戏,既保护了未成年人不受过度沉迷的伤害,也为家长指导未成年人健康游戏提供了有力的技术保障。</p>
<p>其豪网络科技有限公司已贯彻实施“家长监护工程”的四项具体要求,即专人负责、有专线电话、有专区设置、有季度报告。</p>
<p> (一)专人负责</p>
<p> 1已指定专门的负责人已将指定负责人及联络方式向海南省文化厅备案</p>
<p>2培训专门服务人员对“家长监护工程”提供专业咨询解答和服务支持帮助家长了解被监护人游戏行为提供家长与被监护人进行沟通的建议</p>
<p> 3指定客服人员会定期跟踪、与家长沟通。如若家长有需要帮助负责人会根据实际的情况提供相应的协助。</p>
<div class="headline">监护申请引导</div>
<div>
<p>“网络游戏未成年人家长监护工程”是一项由聚侠网根据国家有关规定而发起的一个项目,旨在加强家长对未成年人参与网络游戏的监护,引导未成年人健康、绿色参与网络游戏,和谐家庭关系的社会性公益行动。它提供了一种切实可行的方法,一种家长实施监控的管道,使家长纠正部分未成年子女沉迷游戏的行为成为可能。该项社会公益行动充分反映了中国网络游戏行业高度的社会责任感,对未成年玩家合法权益的关注及对用实际行动营造和谐社会的愿望。</p>
<p>具体实施细则如下:</p>
<p>申请条件:</p>
<p>1、 申请人需为被监护未成年人的法定监护人;</p>
<p>2、 申请人的被监护人年龄小于18周岁</p>
<p>3、 申请人需为大陆公民,不含港、澳、台人士。</p>
<p>申请需提交材料:(点击下载申请表格)</p>
<p>1、监护人信息表包含监护人的身份证明复印件</p>
<p>2、被监护人信息表包含被监护人所玩游戏相关信息及身份证明复印件</p>
<p>3、填写网络游戏未成年人家长监护申请书、保证书、授权书并手工签字需下载填写并打印签字</p>
<p>4、申请人与被监护人的监护关系证明文件户口簿或有关机关出具的证明文件</p>
<p>申请方式:</p>
<p>1.电话服务 监护人可以通过来专线电话来咨询专线0793-8179522</p>
<p>2.传真服务 监护人可以通过传真发送相关信息进行申请传真号码0793-8179533</p>
<p>3.邮寄服务 监护人可以通过邮寄提交相关信息邮寄地址江西省上饶市信州区三清山东大道168号数字经济服务园9楼站群一部</p>
<p>其他要求:</p>
<p>1.申请人应提交较完备的申请材料,对未提供的信息要及时补充;可请熟知电脑、互联网、游戏的人员进行协助,以便提供详实资料;</p>
<p>2.申请人应保证提交的信息真实有效;对于提供虚假信息或伪造证件,我司将保留进一步追究法律责任的权利。</p>
<p>监督方式:</p>
<p>封停账号</p>
<p>根据监护人意愿封停被监护人账号。直至被监护人年满18周岁并提出申请。</p>
</div>
</div>
</div>
<div style="display:none;">

@ -308,9 +308,9 @@ class SsgController extends BaseController {
$this->assign("app_qq", $appqq);
$this->display();
}
public function getGamaList()
{
$user = session("user_auth");
$game_name = I("game_name", false);
$type = I("type",false);
@ -318,8 +318,9 @@ class SsgController extends BaseController {
if($game_name){
$map["game_name"] = array("like","%{$game_name}%");
}
$map["sdk_version"]=2;
$map["game_status"]=1;
$map["sdk_version"] = 2;
$map["game_status"] = 1;
$map["supersign_status"] = 1;
$game_list = M("game", "tab_")->field("*, id as game_id")->where($map)->select();
for ($i=0; $i < count($game_list); $i++) {
$game_list[$i]["game_icon"] = get_cover($game_list[$i]["icon"], 'path');

@ -617,9 +617,6 @@ MODIFY COLUMN `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型 0
-- user表注册类型添加7虚拟
ALTER TABLE `tab_user` MODIFY COLUMN `register_type` tinyint(2) DEFAULT '1' COMMENT '注册方式 0游客1账号 2 手机 3微信 4QQ 5百度 6微博 7虚拟';
ALTER TABLE `tab_game_source` add COLUMN `is_new_sdk` tinyint(2) DEFAULT '0' COMMENT '是否新SDK(IOS)';
--1 2019-12-03 ---
ALTER TABLE tab_game MODIFY COLUMN `game_score` double(3,1) DEFAULT '0' COMMENT '游戏评分';
@ -652,3 +649,52 @@ CREATE TABLE `tab_server_notice` (
INSERT INTO `sys_model` ( `name`, `title`, `extend`, `relation`, `need_pk`, `field_sort`, `field_group`, `attribute_list`, `attribute_alias`, `template_list`, `template_add`, `template_edit`, `list_grid`, `list_row`, `search_key`, `search_list`, `create_time`, `update_time`, `status`, `engine_type`)
VALUES ('ServerNotice', '游戏区服预告', '0', '', '1', '{\"1\":[\"289\",\"288\",\"290\",\"291\",\"293\",\"292\",\"287\",\"286\",\"282\",\"281\",\"283\",\"284\",\"285\",\"280\"]}', '1:基础', '', '', '', '', '', 'id:编号\r\ngame_name:游戏名称\r\nserver_name:区服名称\r\nshow_status|get_info_status:区服状态\r\nstart_time|set_show_time:开服时间\r\nserver_version:运营平台\r\ndevelopers:开发商\r\nid:操作:[EDIT]&id=[id]|编辑,ServerNotice/del?ids=[id]|删除', '10', '', '', '1480318911', '1493879217', '1', 'MyISAM');
--- liuweiwen 2019-12-09
ALTER TABLE tab_game ADD `flooring_page_video` varchar(150) NOT NULL DEFAULT '' COMMENT '落地页视频';
ALTER TABLE tab_game ADD `supersign_status` tinyint(1) DEFAULT '1' COMMENT '超级签开关1-开启0-关闭';
ALTER TABLE tab_game ADD `ios_video_top` tinyint(1) DEFAULT '1' COMMENT 'ios落地页视频是否置顶1-置顶0-不置顶';
-- 新旧IOS打包标识
ALTER TABLE `tab_game_source` add COLUMN `is_new_sdk` tinyint(2) DEFAULT '0' COMMENT '是否新SDK(IOS)';
ALTER TABLE `tab_mend` ADD COLUMN `pay_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '换绑时归属前推广员的充值金额' AFTER `promote_account_to`;
-- 合服游戏区服表 tping
CREATE TABLE `tab_server_union` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键自增',
`game_id` int(11) NOT NULL COMMENT '游戏id',
`game_name` varchar(30) NOT NULL COMMENT '游戏名称',
`server_name` varchar(30) NOT NULL COMMENT '区服名称',
`server_num` int(11) DEFAULT NULL COMMENT '对接区服id',
`recommend_status` tinyint(2) DEFAULT '1' COMMENT '推荐状态(0:否,1:是)',
`show_status` tinyint(2) DEFAULT '1' COMMENT '显示状态(0:否,1:是)',
`stop_status` tinyint(2) DEFAULT '0' COMMENT '是否停服(0:否,1:是)',
`server_status` tinyint(2) DEFAULT '0' COMMENT '区服状态(0:正常,1拥挤,2爆满)',
`icon` int(11) DEFAULT NULL COMMENT '区服图标',
`start_time` int(11) DEFAULT NULL COMMENT '开始时间',
`desride` varchar(300) DEFAULT NULL COMMENT '描述',
`prompt` varchar(300) DEFAULT NULL COMMENT '停服提示',
`parent_id` int(11) DEFAULT NULL COMMENT '父类id',
`create_time` int(11) DEFAULT NULL COMMENT '创建时间',
`server_version` tinyint(2) DEFAULT NULL COMMENT '运营平台 1and 2ios 0双平台',
`developers` int(11) DEFAULT '0' COMMENT '开发商',
`server_id` varchar(50) NOT NULL DEFAULT '' COMMENT '对接区服id',
PRIMARY KEY (`id`),
KEY `game_id` (`game_id`),
KEY `show_status` (`show_status`),
KEY `start_time` (`start_time`),
KEY `create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='合服游戏区服表';
-- 用户行为
ALTER TABLE `tab_pay_info` ADD COLUMN `user_account` varchar(30) DEFAULT NULL COMMENT '用户账号';
ALTER TABLE `tab_pay_info` ADD COLUMN `game_player_name` varchar(30) DEFAULT '' COMMENT '游戏玩家昵称';
ALTER TABLE `tab_pay_info` ADD COLUMN `game_name` varchar(30) DEFAULT '' COMMENT '游戏名称';
ALTER TABLE `tab_pay_info` ADD COLUMN `server_id` int(11) DEFAULT '0' COMMENT '区服id';
ALTER TABLE `tab_pay_info` ADD COLUMN `server_name` varchar(30) DEFAULT '' COMMENT '区服名称';
ALTER TABLE `tab_pay_info` ADD COLUMN `promote_id` int(11) NOT NULL DEFAULT '0' COMMENT '推广员id';
ALTER TABLE `tab_pay_info` ADD COLUMN `game_player_id` varchar(30) DEFAULT '0' COMMENT '玩家游戏内id';
ALTER TABLE `tab_pay_info` ADD COLUMN `sdk_version` tinyint(2) DEFAULT '1' COMMENT '区别sdk版本1安卓 2苹果 ';
ALTER TABLE `tab_pay_info` ADD COLUMN `promote_account` varchar(30) DEFAULT '' COMMENT '推广员账号';
-- 菜单(游戏充值预下单)
INSERT INTO `sys_menu`(`title`, `pid`, `sort`, `url`, `hide`, `tip`, `group`, `is_dev`, `status`) VALUES ('游戏充值预下单', 16, 0, 'BehaviorLog/game', 0, '', '行为日志', 0, 1);

@ -1,17 +1,71 @@
.home{
width: 100%;
font-family:PingFang SC;
}
.home-box{
padding: 0.5rem 0.37rem 0 0.31rem;
}
.home-fiexd{
height: 4.22rem;
width: 100%;
background-color: #fff;
}
.home-fiexdBox{
position: fixed;
width: 100%;
top: 0;
left: 0;
z-index: 999;
}
.home-video{
width: 100%;
height: 4.22rem;
background-color: #fff;
}
.home-video video{
width: 100%;
height: 100%;
}
.home{
.fiexd-heard{
width: 100%;
font-family:PingFang SC;
height: 1.2rem;
background: rgba(255, 255, 255, 0);
}
.home-box{
padding: 0.5rem 0.37rem 0 0.31rem;
.fiexd-heardBox{
padding: 0 0.3rem;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 0.32rem;
color: #007AFF;
line-height: 1.2rem;
height: 100%;
}
.fiexd-heardBox>img{
width: 0.6rem;
height: 0.6rem;
border-radius: 0.1rem;
}
.fiexd-pay{
display: flex;
align-items: center;
}
.fiexd-pay>span{
color: #A9A9A9;
font-size: 0.2rem;
margin-right: 0.14rem;
}
.download{
width: 1.5rem;
height: 0.6rem;
background-color: #007AFF;
border-radius: 0.3rem;
color: 0.32rem;
text-align: center;
line-height: 0.6rem;
color: #fff;
font-weight: 500;
}
.heard{
width: 100%;
@ -519,3 +573,5 @@
font-weight: 500;
}

@ -39,7 +39,7 @@
margin-left: 0.12rem;
}
.service_left .list li{
width: 1.2rem;
/*width: 1.2rem;*/
height: 0.5rem;
font-size: 0.16rem;
color: #292929;
@ -49,6 +49,7 @@
text-align: center;
line-height: 0.5rem;
margin-right: 0.05rem;
padding: 0 0.05rem;
}
.service_left .list li.selected{
background-color: #00A3E1;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

@ -1,2 +0,0 @@
<?php
echo phpinfo();
Loading…
Cancel
Save