合并冲突

master
chenzhi 5 years ago
commit 3611e4855d

@ -18,6 +18,7 @@ class AmericaIpForbitController extends ThinkController
}
$map = [];
$map['type'] = 0;
if ($_REQUEST['user_account']) {
$map['user_account'] = ['like',"%{$_REQUEST['user_account']}%"];
@ -67,6 +68,7 @@ class AmericaIpForbitController extends ThinkController
);
$map = [];
$map['type'] = 0;
if ($_REQUEST['user_account']) {
$map['user_account'] = ['like',"%{$_REQUEST['user_account']}%"];
@ -186,7 +188,7 @@ class AmericaIpForbitController extends ThinkController
$id = I('id');
}
$is_del = $is_change = M('forbit_ip','tab_')->where(['id'=>['in',$id]])->delete();
$is_del = $is_change = M('forbit_ip','tab_')->where(['id'=>['in',$id],'type'=>0])->delete();
if ($is_del) {
$hav_firbit = M('forbit_ip','tab_')->where(['id'=>I('id')])->find();
@ -222,7 +224,7 @@ class AmericaIpForbitController extends ThinkController
$this->error('用户不存在');
}
$hav_firbit = M('forbit_ip','tab_')->where(['user_account'=>I('account')])->find();
$hav_firbit = M('forbit_ip','tab_')->where(['user_account'=>I('account'),'type'=>0])->find();
if ($hav_firbit) {
$this->error('该用户已添加封禁');

@ -21,6 +21,7 @@ use BaiduBce\Log\LogFactory;
use Think\Think;
use Base\Service\GameSourceService;
use Base\Tool\Printer;
use Base\Tool\Redis;
/**
* 后台首页控制器
@ -39,21 +40,34 @@ class AutoPackController extends Think
public function package()
{
$find_web_stie = M('config')
-> field('value')
-> where(['name' => 'WEB_SITE'])
-> find();
$find_web_stie = M('config')->field('value')->where(['name' => 'WEB_SITE'])->find();
if (null == $find_web_stie) {
\Think\Log ::record('请先到站点->网站设置->网站域名处设置官网域名');
exit;
}
$progressLimit = C('PACK_PROGRESS_LIMIT', null, 1);
$currentProgress = Redis::incr('console_packing');
$progressId = date('His') . rand(100, 999) . $currentProgress;
if ($currentProgress > $progressLimit) {
Redis::decr('console_packing');
Printer::export('打包进程已满,进程数量限制[' . $progressLimit . ']', true);
}
Printer::export('打包进程[' . $progressId . ']开始');
$this->checkPackageStatus();
// $this->app_package();//app渠道自动打包
$this->channel();
$result = $this->channel($progressId);
// $this->launch_package(false);
// $this->leak_detection();
Redis::decr('console_packing');
$message = '打包进程[' . $progressId . ']结束。'
. '处理数量[' . $result['total'] . ']'
. '成功数量[' . $result['success'] . ']'
. '失败数量[' . $result['error'] . ']';
Printer::export($message);
}
/**
@ -293,7 +307,7 @@ class AutoPackController extends Think
/**
* 渠道游戏打包
*/
private function channel() {
private function channel($progressId = 0) {
$map = [];
$map['status'] = 1;
$map['enable_status'] = ['in', '0,2'];
@ -304,8 +318,13 @@ class AutoPackController extends Think
->limit(15)
->select();
$packResult = [
'total' => 0,
'success' => 0,
'error' => 0,
];
if (count($applys) == 0) {
Printer::export('无等待队列', true);
return $packResult;
}
$applyIds = array_column($applys, 'id');
@ -329,15 +348,19 @@ class AutoPackController extends Think
$game = $games[$apply['game_id']];
$launchCount = $launchCountList[$apply['id']] ?? 0;
$result = $gameSourceService->channelPack($gameSource, $game, $apply, $launchCount);
$message = '游戏['. $apply['game_id'] . '],渠道['. $apply['promote_id'] . ']打包,';
$message = '进程[' . $progressId . '],游戏['. $apply['game_id'] . '],渠道['. $apply['promote_id'] . ']打包,';
$packResult['total'] += 1;
if ($result['status']) {
$message = 'SUCCESS ----- ' . $message . $result['message'];
$packResult['success'] += 1;
} else {
$message = 'ERROR ----- ' . $message . $result['message'];
$packResult['error'] += 1;
}
Printer::export($message);
}
}
return $packResult;
}

@ -65,6 +65,7 @@ class MendController extends ThinkController {
} elseif (isset($_REQUEST['time_end'])) {
$map['order_time'] = ['LT', strtotime($_REQUEST['time_end']) + 86399];
}
$show_data_power = (is_administrator()|| session('user_auth')['show_data']);
//为数据权限添加
setPowerPromoteIds($map);
$data = M("Mend","tab_")
@ -81,6 +82,9 @@ class MendController extends ThinkController {
foreach ($data as $key => $value) {
$data[$key]['create_time'] = date("Y-m-d H:i:s",$value['create_time']);
$data[$key]['order_time'] = date("Y-m-d H:i:s",$value['order_time']);
if(!$show_data_power){
$data[$key]['user_account'] = encryptStr($data[$key]['user_account']);
}
}
if($export) db2csv($data,"推广员管理_推广补链_补链记录",["玩家账号","补链前渠道","补链前归属金额","补链后渠道","切分时间","补链时间","操作人员","备注"]);
@ -102,7 +106,7 @@ class MendController extends ThinkController {
$page = set_pagination($count,$row);
if($page) {$this->assign('_page', $page);}
$show_data_power = (is_administrator()|| session('user_auth')['show_data']);
$this->assign('show_data_power', $show_data_power);
$this->display();
// parent::lists("Mend",$p,$map);

@ -1428,7 +1428,7 @@ class PromoteController extends ThinkController
}
$data = array(
'promote_id' => $promote_id,
'company_belong' => $company_belong,
// 'company_belong' => $company_belong,
'company_relation' => $company_relation,
'can_view_recharge' => $can_view_recharge,
'company_type' => $company_type,
@ -1471,7 +1471,6 @@ class PromoteController extends ThinkController
}
$data = array(
'promote_id' => $promote_id,
// 'company_belong' => $company_belong,
'company_relation' => $company_relation,
'can_view_recharge' => $can_view_recharge,
'company_type' => $company_type,
@ -1521,7 +1520,6 @@ class PromoteController extends ThinkController
$promote_belongs = M('promote_belong', 'tab_')->where(['id' => ['in', I('ids')]])->select();
foreach ($promote_belongs as $promote_belong) {
$update = [
'company_belong' => $promote_belong['company_belong'],
'company_relation' => $promote_belong['company_relation'],
'can_view_recharge' => $promote_belong['can_view_recharge'],
'account_type' => $promote_belong['company_type']

@ -0,0 +1,216 @@
<?php
namespace Admin\Controller;
class TestIpWhiteListController extends ThinkController
{
public function index($p = 1) {
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
if (isset($_REQUEST['row'])) {
$row = $_REQUEST['row'];
} else {
$row = 10;
}
$map = [];
$map['type'] = 2;
if ($_REQUEST['user_account']) {
$map['user_account'] = ['like',"%{$_REQUEST['user_account']}%"];
}
$data = M('forbit_ip','tab_')
->where($map)
->page($page,$row)
->order('create_time DESC')
->select();
foreach ( $data as $key => $value ) {
$data[$key]['create_time'] = date('Y-m-d H:i:s',$value['create_time']);
}
$count = M('forbit_ip','tab_')
->where($map)
->count();
$appleInteriorBuyStatus = M('tool','tab_')->where(['name'=>'apple_interior_buy'])->getField('status');
$setAppleInteriorBuyStatus = $appleInteriorBuyStatus?1:0;
$this->checkListOrCountAuthRestMap($map,[]);
$page = set_pagination($count, $row);
$this->assign('_page', $page);
$this->assign('apple_interior_buy',$appleInteriorBuyStatus);
$this->assign('set_apple_interior_buy',$setAppleInteriorBuyStatus);
$this->assign('data',$data);
$this->display();
}
public function export() {
$xlsName = '苹果第三方支付开放名单';
$xlsCell = array(
"玩家账号", '添加人', '添加时间'
);
$map = [];
$map['type'] = 2;
if ($_REQUEST['user_account']) {
$map['user_account'] = ['like',"%{$_REQUEST['user_account']}%"];
}
$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('GBK', 'UTF-8', $xlsCell);
fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中
$accessNum = M('forbit_ip','tab_')
->where($map)
->count();
$accessNum =$accessNum['count'];
$perSize = 2000;//每次查询的条数
$pages = ceil($accessNum / $perSize);
for($i = 1; $i <= $pages; $i++) {
$xlsData = M('forbit_ip','tab_')
->field('user_account,admin_account,create_time')
->where($map)
->limit(($i-1)*$perSize ,$perSize)
->order('create_time DESC')
->select();
foreach($xlsData as $value) {
$value['create_time'] = date("Y-m-d H:i:s",$value['create_time']);
// if ($value['status'] == 0) {
// $value['status'] = '限制';
// } else {
// $value['status'] = '不限制';
// }
mb_convert_variables('GBK', 'UTF-8', $value);
fputcsv($fp, $value);
}
unset($xlsData);//释放变量的内存
//刷新输出缓冲到浏览器
ob_flush();
flush();//必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。
}
fclose($fp);
addOperationLog(array(
"op_type"=>3,
"key"=> getNowDate(),
"menu"=>"游戏-游戏管理-ip测试白名单-导出",
"url"=>U("ThirdPartyIp/index")
));
$getData = $_GET;
unset($getData['id']);
unset($getData['xlsname']);
}
public function del() {
if (!I('id')) {
$this->ajaxReturn(['code'=>1,'msg'=>'ID未选择']);
} else {
$id = I('id');
}
$is_del = $is_change = M('forbit_ip','tab_')->where(['id'=>['in',$id],'type'=>2])->delete();
if ($is_del) {
$hav_firbit = M('forbit_ip','tab_')->where(['id'=>I('id')])->find();
addOperationLog(array(
"op_type"=>2,
"key"=> I('id'),
"menu"=>"游戏-游戏管理-ip测试白名单-删除",
"url"=>U("ThirdPartyIp/index")
));
$this->ajaxReturn(['code'=>1]);
} else {
$this->ajaxReturn(['code'=>0]);
}
}
public function add() {
$this->display();
}
public function addUser() {
$insert = [];
$hav_user = M('user','tab_')->where(['account'=>I('account')])->find();
$auth = $_SESSION['onethink_admin']['user_auth'];
if (!$hav_user) {
$this->error('用户不存在');
}
$hav_firbit = M('forbit_ip','tab_')->where(['user_account'=>I('account'),'type'=>2])->find();
if ($hav_firbit) {
$this->error('该用户已添加封禁');
}
$insert['user_id'] = $hav_user['id'];
$insert['type'] = 2;
$insert['user_account'] = I('account');
$insert['status'] = I('status');
$insert['admin_id'] = $auth['uid'];
$insert['admin_account'] = $auth['username'];
$insert['create_time'] = time();
$insert['remarks'] = '';
$is_insert = M('forbit_ip','tab_')->add($insert);
if ($is_insert) {
addOperationLog(array(
"op_type"=>0,
"key"=> I('account'),
"menu"=>"游戏-游戏管理-ip测试白名单-新增",
"url"=>U("ThirdPartyIp/index")
));
$this->success('添加成功',U('index'));
} else {
$this->error('添加失败');
}
}
}

@ -0,0 +1,216 @@
<?php
namespace Admin\Controller;
class ThirdPartyIpController extends ThinkController
{
public function index($p = 1) {
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
if (isset($_REQUEST['row'])) {
$row = $_REQUEST['row'];
} else {
$row = 10;
}
$map = [];
$map['type'] = 1;
if ($_REQUEST['user_account']) {
$map['user_account'] = ['like',"%{$_REQUEST['user_account']}%"];
}
$data = M('forbit_ip','tab_')
->where($map)
->page($page,$row)
->order('create_time DESC')
->select();
foreach ( $data as $key => $value ) {
$data[$key]['create_time'] = date('Y-m-d H:i:s',$value['create_time']);
}
$count = M('forbit_ip','tab_')
->where($map)
->count();
$appleInteriorBuyStatus = M('tool','tab_')->where(['name'=>'apple_interior_buy'])->getField('status');
$setAppleInteriorBuyStatus = $appleInteriorBuyStatus?1:0;
$this->checkListOrCountAuthRestMap($map,[]);
$page = set_pagination($count, $row);
$this->assign('_page', $page);
$this->assign('apple_interior_buy',$appleInteriorBuyStatus);
$this->assign('set_apple_interior_buy',$setAppleInteriorBuyStatus);
$this->assign('data',$data);
$this->display();
}
public function export() {
$xlsName = '苹果第三方支付开放名单';
$xlsCell = array(
"玩家账号", '添加人', '添加时间'
);
$map = [];
$map['type'] = 1;
if ($_REQUEST['user_account']) {
$map['user_account'] = ['like',"%{$_REQUEST['user_account']}%"];
}
$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('GBK', 'UTF-8', $xlsCell);
fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中
$accessNum = M('forbit_ip','tab_')
->where($map)
->count();
$accessNum =$accessNum['count'];
$perSize = 2000;//每次查询的条数
$pages = ceil($accessNum / $perSize);
for($i = 1; $i <= $pages; $i++) {
$xlsData = M('forbit_ip','tab_')
->field('user_account,admin_account,create_time')
->where($map)
->limit(($i-1)*$perSize ,$perSize)
->order('create_time DESC')
->select();
foreach($xlsData as $value) {
$value['create_time'] = date("Y-m-d H:i:s",$value['create_time']);
// if ($value['status'] == 0) {
// $value['status'] = '限制';
// } else {
// $value['status'] = '不限制';
// }
mb_convert_variables('GBK', 'UTF-8', $value);
fputcsv($fp, $value);
}
unset($xlsData);//释放变量的内存
//刷新输出缓冲到浏览器
ob_flush();
flush();//必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。
}
fclose($fp);
addOperationLog(array(
"op_type"=>3,
"key"=> getNowDate(),
"menu"=>"游戏-游戏管理-ip限制白名单-导出",
"url"=>U("ThirdPartyIp/index")
));
$getData = $_GET;
unset($getData['id']);
unset($getData['xlsname']);
}
public function del() {
if (!I('id')) {
$this->ajaxReturn(['code'=>1,'msg'=>'ID未选择']);
} else {
$id = I('id');
}
$is_del = $is_change = M('forbit_ip','tab_')->where(['id'=>['in',$id],'type'=>1])->delete();
if ($is_del) {
$hav_firbit = M('forbit_ip','tab_')->where(['id'=>I('id')])->find();
addOperationLog(array(
"op_type"=>2,
"key"=> I('id'),
"menu"=>"游戏-游戏管理-ip限制白名单-删除",
"url"=>U("ThirdPartyIp/index")
));
$this->ajaxReturn(['code'=>1]);
} else {
$this->ajaxReturn(['code'=>0]);
}
}
public function add() {
$this->display();
}
public function addUser() {
$insert = [];
$hav_user = M('user','tab_')->where(['account'=>I('account')])->find();
$auth = $_SESSION['onethink_admin']['user_auth'];
if (!$hav_user) {
$this->error('用户不存在');
}
$hav_firbit = M('forbit_ip','tab_')->where(['user_account'=>I('account'),'type'=>1])->find();
if ($hav_firbit) {
$this->error('该用户已添加封禁');
}
$insert['user_id'] = $hav_user['id'];
$insert['type'] = 1;
$insert['user_account'] = I('account');
$insert['status'] = I('status');
$insert['admin_id'] = $auth['uid'];
$insert['admin_account'] = $auth['username'];
$insert['create_time'] = time();
$insert['remarks'] = '';
$is_insert = M('forbit_ip','tab_')->add($insert);
if ($is_insert) {
addOperationLog(array(
"op_type"=>0,
"key"=> I('account'),
"menu"=>"游戏-游戏管理-ip限制白名单-新增",
"url"=>U("ThirdPartyIp/index")
));
$this->success('添加成功',U('index'));
} else {
$this->error('添加失败');
}
}
}

@ -150,13 +150,7 @@
{@each list_data as item,index}
<tr>
<td><input class="ids" type="checkbox" value="${item['id']}" name="ids[]"></td>
<td>
<if condition="$show_data_power eq true ">
{$data['user_account']}
<else />
{$data['user_account']|encryptStr}
</if>
</td>
<td>${item['user_account']}</td>
<td>${item['promote_account']}</td>
<td>${item['pay_amount']}</td>
<td>${item['promote_account_to']}</td>

@ -58,30 +58,6 @@
</select>
</td>
</tr>
<tr id="company_belong_box" style="display: none;">
<td class="l">工会归属:</td>
<td class="r table_radio">
<input id="company_belong" name="company_belong" value="" type="hidden">
<span class="form_radio" id="company_belong_str">
<!-- <label >
<input type="radio" value="3" name="company_belong" class="company_belong" checked="checked">
</label >
<label >
<input type="radio" value="0" name="company_belong" class="company_belong"> 内团
</label >
<label >
<input type="radio" value="1" name="company_belong" class="company_belong"> 外团
</label>
<label >
<input type="radio" value="2" name="company_belong" class="company_belong"> 外团-分发联盟
</label > -->
</span>
<!-- <span class="notice-text"></span>-->
</td>
</tr>
<tr id="company_relation">
<td class="l">工会关系:</td>
<td class="r table_radio">

@ -64,16 +64,6 @@
<input type="hidden" name="promote_id" value="{$data['promote_id']}">
<!-- <tr>
<td class="l">工会归属:</td>
<td class="r table_radio">
<input id="company_belong" name="company_belong" value="{$data['company_belong']}" type="hidden">
<span class="form_radio">
{:getCompanyBlong($data['company_belong'])}
</span>
</td>
</tr> -->
<tr id="company_relation">
<td class="l">工会关系:</td>
<td class="r table_radio">

@ -10,7 +10,7 @@
<div class="cf main-place top_nav_list navtab_list">
{:W('Index/navigation',array('value'=>'Site/media'))}
{:W('Index/navigation',array('value'=>'Site/media', 'compare' => '', 'title' => '站点设置'))}
<h3 class="page_title">站点设置</h3>
<p class="description_text">说明针对PC官网的显示进行基本配置</p>

@ -9,7 +9,7 @@
<script type="text/javascript" src="__STATIC__/webuploader/webuploader.before.js"></script>
<div class="cf main-place top_nav_list navtab_list">
{:W('Index/navigation',array('value'=>'Site/wap'))}
{:W('Index/navigation',array('value'=>'Site/wap', 'compare' => '', 'title' => '站点设置'))}
<h3 class="page_title">基本配置</h3>
<p class="description_text">说明针对wap官网的基本信息进行配置</p>
</div>

@ -0,0 +1,139 @@
<extend name="Public/base" />
<block name="body">
<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>
<script type="text/javascript" src="__STATIC__/provincecityarea/AreaData_min.js"></script><!--
<script type="text/javascript" src="__STATIC__/provincecityarea/jquery-1.7.min.js"></script> -->
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">新增苹果支付测试ip白名单</h3>
<p class="description_text">说明此功能是新增苹果支付测试ip白名单</p>
</div>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('addUser?model='.$model['id'])}" method="post" class="form-horizontal">
<!-- 基础文档模型 -->
<div id="tab1" class="tab-pane in tab1">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">玩家账号:</td>
<td class="r">
<input type="text" class="txt" name="account" value="" placeholder="输入玩家账号" onKeyUp="value=value.replace(/[^\w\.\/]/ig,'')">
</td>
</tr>
<!-- <tr>-->
<!-- <td class="l">状态:</td>-->
<!-- <td class="r table_radio">-->
<!-- <span class="form_radio table_btn">-->
<!-- <label >-->
<!-- <input type="radio" value="0" name="status" checked="checked"> 通知不到账-->
<!-- </label >-->
<!-- <label >-->
<!-- <input type="radio" value="1" name="status" > 通知到账-->
<!-- </label>-->
<!-- </span>-->
<!-- </td>-->
<!-- </tr>-->
<!-- <tr>-->
<!-- <td class="l">区域</td>-->
<!-- <td class="r">-->
<!-- <select name="area" id="area">-->
<!-- <option value="">请选择区域</option>-->
<!-- <option value="美国">美国</option>-->
<!-- </select>-->
<!-- </td>-->
<!-- -->
<!-- </tr>-->
</tbody>
</table>
</div>
<input type="hidden" name="id" value="{$data['id']}" />
<div class="form-item cf">
<button class="submit_btn ajax-post mlspacing" id="submit" type="submit" target-form="form-horizontal">
保存
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</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="Promote/lists/type/1">
</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">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script><script type="text/javascript" src="__STATIC__/provincecityarea/area1.js"></script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('TestIpWhiteList/index')}');
Think.setValue("game_type_id", {$data.game_type_id|default = 0});
Think.setValue("category", {$data.category|default = 0});
$(function(){
showTab();
prov="{:substr($data['bank_area'],0,2)}";
city="{:substr($data['bank_area'],2,2)}";
ciarea="{:substr($data['bank_area'],4,2)}";
$("input[name=company_belong]").click(function () {
if ($(this).val() == 1) {
$('#company_relation').show();
} else {
$('#company_relation').hide();
}
});
});
//得到地区码
function getAreaID(){
var area = 0;
if($("#seachdistrict").val() != "0"){
area = $("#seachdistrict").val();
}else if ($("#seachcity").val() != "0"){
area = $("#seachcity").val();
}else{
area = $("#seachprov").val();
}
return area;
}
//根据地区码查询地区名
function getAreaNamebyID(areaID){
var areaName = "";
if(areaID.length == 2){
areaName = area_array[areaID];
}else if(areaID.length == 4){
var index1 = areaID.substring(0, 2);
areaName = area_array[index1] + " " + sub_array[index1][areaID];
}else if(areaID.length == 6){
var index1 = areaID.substring(0, 2);
var index2 = areaID.substring(0, 4);
areaName = area_array[index1] + " " + sub_array[index1][index2] + " " + sub_arr[index2][areaID];
}
return areaName;
}
</script>
</block>

@ -0,0 +1,558 @@
<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;}
.tooltip {
position: relative;
display: inline-block;
color: #056dae;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 250%;
background-color: #fff;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 80%;
left: 0;
margin-left: -70%;
border: #000 solid 1px;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: black transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
color: #000;
visibility: visible;
line-height: 20px;
}
.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;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
.butnbox .butnlist .butn {display:inline-block;width:120px;height:28px;line-height:28px;text-align:center;color:#FFF;background:#3C95C8;border-radius:3px;}
.butnbox .butnlist .butn.last {background:#009900;}
.butnbox .butnlist .butn~.butn {margin-left:20px;}
.data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;}
.layui-layer-title {
text-align: center;
height: 80px;
line-height: 80px;
font-weight: 600;
font-size: 18px;
}
.chk_1,.chk_2,.chk_3,.chk_4 {
display: none;
}
/*******STYLE 3*******/
.chk_3 + label {
background-color: #fafbfa;
padding: 9px;
border-radius: 50px;
display: inline-block;
position: relative;
margin-right: 30px;
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
width: 40px;
height: 15px;
}
.chk_3 + label:after {
content: ' ';
position: absolute;
top: 0;
-webkit-transition: box-shadow 0.1s ease-in;
transition: box-shadow 0.1s ease-in;
left: 0;
width: 100%;
height: 100%;
border-radius: 100px;
box-shadow: inset 0 0 0 0 #eee, 0 0 1px rgba(0,0,0,0.4);
}
.chk_3 + label:before {
content: ' ';
position: absolute;
background: white;
top: 1px;
left: 1px;
z-index: 999999;
width: 31px;
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
height: 31px;
border-radius: 100px;
box-shadow: 0 3px 1px rgba(0,0,0,0.05), 0 0px 1px rgba(0,0,0,0.3);
}
.chk_3:active + label:after {
box-shadow: inset 0 0 0 20px #eee, 0 0 1px #eee;
}
.chk_3:active + label:before {
width: 37px;
}
.chk_3:checked:active + label:before {
width: 37px;
left: 20px;
}
.chk_3 + label:active {
box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
}
.chk_3:checked + label:before {
content: ' ';
position: absolute;
left: 26px;
border-radius: 100px;
}
.chk_3:checked + label:after {
content: ' ';
font-size: 1.5em;
position: absolute;
background: #4cda60;
box-shadow: 0 0 1px #4cda60;
}
#checkbox_d2 + label:after, #checkbox_d2 + label:before, #checkbox label {
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
}
a:hover {
color: transparent;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">苹果支付测试ip白名单</h3>
<p class="description_text">说明苹果beta包苹果支付测试ip白名单</p>
<!-- <div class="demo">-->
<!-- <div class="wrap" ><span style="float: right;margin-top: 7px;margin-right: 120px">开</span>-->
<!-- <input type="checkbox" id="checkbox_c2" class="chk_3" <if condition="$apple_interior_buy eq 1">checked</if> /><label for="checkbox_c2" style="float: right;margin-right: 5px" onclick="setAppleInteriorBuyStatus({$set_apple_interior_buy})"></label>-->
<!-- <span style="float: right;margin-top: 7px;margin-right: 5px">关</span>-->
<!-- <span style="float: right;margin-top: 7px;margin-right: 30px">全游戏苹果内购支付成功通知默认限制</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="fr">-->
<!-- <a class="tabchose" href="">游戏充值统计</a>-->
<!-- <a class="" href="{:U('Finance/payTypeStatistics')}">充值方式统计</a>-->
<!-- </div>-->
</div>
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<!--游戏类型搜索END-->
<div class="input-list">
<input type="text" id="user_account" name="user_account" class="" value="{:I('user_account')}" placeholder="玩家账号" autocomplete="off"/>
</div>
<input type="hidden" name="" value="" class="sortBy">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search"
style="width: 100px;border: #3C95C8 solid 1px; " url="{:U('TestIpWhiteList/index','model='.$model['name'].'&row='.I('row'),false)}">搜索</a>
</div>
<!-- <div class="input-list">-->
<!-- <a class="sch-btn" href="javascript:;" id="forbit"-->
<!-- style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量通知不到账</a>-->
<!-- </div>-->
<!-- <div class="input-list">-->
<!-- <a class="sch-btn" href="javascript:;" id="noforbit"-->
<!-- style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量通知到账</a>-->
<!-- </div>-->
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="delete"
style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量删除</a>
</div>
<div class="input-list">
<a class="sch-btn" href="{:U('TestIpWhiteList/add')}"
style="width: 150px;background: #fff;color: #000;border:1px solid #000;">添加玩家账号</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th class="" style="width: 50px;">
<input class="check-all" type="checkbox">
</th>
<th >玩家账号</th>
<!-- <th >区域</th>-->
<!-- <th >状态</th>-->
<th >添加人</th>
<th >添加时间</th>
<th >操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<style>
.data-table thead th, .data-table tbody td{text-align:center}
.data-table tbody td{border-right:1px solid #DDDDDD;}
.d_list .drop-down ul {z-index:999;}
</style>
<if condition = "empty($data)">
<tr>
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "data">
<volist name="data" id="data">
<tr>
<td ><input class="ids" type="checkbox" value="{$data.id}" name="ids[]"></td>
<td >{$data.user_account}</td>
<!-- <td>{$data.area}</td>-->
<!-- <td ><if condition="$data.status eq 1">通知到账<else/>通知不到账</if></td>-->
<td >{$data.admin_account}</td>
<td >{$data.create_time}</td>
<td >
<a href="javascript:;" onclick="del({$data.id})">删除 </a>
<!-- <if condition="$data.status eq 1">-->
<!-- <a class="ajax-get" href="javascript:;" onclick="limit({$data.id},0)">通知不到账 </a>-->
<!-- <else />-->
<!-- <a href="javascript:;" id="lock" onclick="limit({$data.id},1)">通知到账</a>-->
<!-- </if>-->
</td>
</tr>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn export-btn"
href="{:U('TestIpWhiteList/export',array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
<!-- <a class="sch-btn" href="{:U('Export/expUser',array_merge(['id'=>3,'xlsname'=>'玩家_玩家列表_'.(I('get.type')==2?'第三方玩家':'本站玩家')],I('get.')))}">导出</a> -->
</if>
{$_page|default=''}
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('TestIpWhiteList/index')}');
$('#forbit').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】是否确认此操作', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('TestIpWhiteList/operateIp')}",
type: "get",
data: {id: text,status:0},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
//搜索功能
$("#search").click(function(){
var starttime = $.trim($('#time-start').val());
var endtime = $.trim($('#time-end').val());
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');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;
});
$('#noforbit').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】是否确认此操作', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('TestIpWhiteList/operateIp')}",
type: "get",
data: {id: text,status:1},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
$('#delete').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('TestIpWhiteList/del')}",
type: "get",
data: {id: text},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量删除失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量删除成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
$('#add').click(function () {
});
function limit(id,status) {
layer.confirm('【警告】是否确认此操作', {
btn: ['确认','取消'],
title:false
}, function(index) {
$.ajax({
url: "{:U('TestIpWhiteList/operateIp')}",
type: "get",
data: {id: id,status: status},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
function del(id) {
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
$.ajax({
url: "{:U('TestIpWhiteList/del')}",
type: "get",
data: {id: id},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
function setAppleInteriorBuyStatus(status) {
var text = '【警告】是否确认打开全游戏苹果内购支付成功通知';
if(status == 0) {
text = '【警告】是否确认关闭全游戏苹果内购支付成功通知';
}
layer.confirm(text, {
btn: ['确认','取消'],
area: ['380px','120px'],
title: false
}, function(index) {
$.ajax({
url: "{:U('TestIpWhiteList/setAppleInteriorBuyStatus')}",
type: "get",
data: {status: status},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
</script>
</block>

@ -0,0 +1,139 @@
<extend name="Public/base" />
<block name="body">
<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>
<script type="text/javascript" src="__STATIC__/provincecityarea/AreaData_min.js"></script><!--
<script type="text/javascript" src="__STATIC__/provincecityarea/jquery-1.7.min.js"></script> -->
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">新增第三方支付开放名单</h3>
<p class="description_text">说明:此功能是新增苹果第三方支付开放名单</p>
</div>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('addUser?model='.$model['id'])}" method="post" class="form-horizontal">
<!-- 基础文档模型 -->
<div id="tab1" class="tab-pane in tab1">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">玩家账号:</td>
<td class="r">
<input type="text" class="txt" name="account" value="" placeholder="输入玩家账号" onKeyUp="value=value.replace(/[^\w\.\/]/ig,'')">
</td>
</tr>
<!-- <tr>-->
<!-- <td class="l">状态:</td>-->
<!-- <td class="r table_radio">-->
<!-- <span class="form_radio table_btn">-->
<!-- <label >-->
<!-- <input type="radio" value="0" name="status" checked="checked"> 通知不到账-->
<!-- </label >-->
<!-- <label >-->
<!-- <input type="radio" value="1" name="status" > 通知到账-->
<!-- </label>-->
<!-- </span>-->
<!-- </td>-->
<!-- </tr>-->
<!-- <tr>-->
<!-- <td class="l">区域</td>-->
<!-- <td class="r">-->
<!-- <select name="area" id="area">-->
<!-- <option value="">请选择区域</option>-->
<!-- <option value="美国">美国</option>-->
<!-- </select>-->
<!-- </td>-->
<!-- -->
<!-- </tr>-->
</tbody>
</table>
</div>
<input type="hidden" name="id" value="{$data['id']}" />
<div class="form-item cf">
<button class="submit_btn ajax-post mlspacing" id="submit" type="submit" target-form="form-horizontal">
保存
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</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="Promote/lists/type/1">
</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">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script><script type="text/javascript" src="__STATIC__/provincecityarea/area1.js"></script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('ThirdPartyIp/index')}');
Think.setValue("game_type_id", {$data.game_type_id|default = 0});
Think.setValue("category", {$data.category|default = 0});
$(function(){
showTab();
prov="{:substr($data['bank_area'],0,2)}";
city="{:substr($data['bank_area'],2,2)}";
ciarea="{:substr($data['bank_area'],4,2)}";
$("input[name=company_belong]").click(function () {
if ($(this).val() == 1) {
$('#company_relation').show();
} else {
$('#company_relation').hide();
}
});
});
//得到地区码
function getAreaID(){
var area = 0;
if($("#seachdistrict").val() != "0"){
area = $("#seachdistrict").val();
}else if ($("#seachcity").val() != "0"){
area = $("#seachcity").val();
}else{
area = $("#seachprov").val();
}
return area;
}
//根据地区码查询地区名
function getAreaNamebyID(areaID){
var areaName = "";
if(areaID.length == 2){
areaName = area_array[areaID];
}else if(areaID.length == 4){
var index1 = areaID.substring(0, 2);
areaName = area_array[index1] + " " + sub_array[index1][areaID];
}else if(areaID.length == 6){
var index1 = areaID.substring(0, 2);
var index2 = areaID.substring(0, 4);
areaName = area_array[index1] + " " + sub_array[index1][index2] + " " + sub_arr[index2][areaID];
}
return areaName;
}
</script>
</block>

@ -0,0 +1,558 @@
<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;}
.tooltip {
position: relative;
display: inline-block;
color: #056dae;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 250%;
background-color: #fff;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 80%;
left: 0;
margin-left: -70%;
border: #000 solid 1px;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: black transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
color: #000;
visibility: visible;
line-height: 20px;
}
.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;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
.butnbox .butnlist .butn {display:inline-block;width:120px;height:28px;line-height:28px;text-align:center;color:#FFF;background:#3C95C8;border-radius:3px;}
.butnbox .butnlist .butn.last {background:#009900;}
.butnbox .butnlist .butn~.butn {margin-left:20px;}
.data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;}
.layui-layer-title {
text-align: center;
height: 80px;
line-height: 80px;
font-weight: 600;
font-size: 18px;
}
.chk_1,.chk_2,.chk_3,.chk_4 {
display: none;
}
/*******STYLE 3*******/
.chk_3 + label {
background-color: #fafbfa;
padding: 9px;
border-radius: 50px;
display: inline-block;
position: relative;
margin-right: 30px;
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
width: 40px;
height: 15px;
}
.chk_3 + label:after {
content: ' ';
position: absolute;
top: 0;
-webkit-transition: box-shadow 0.1s ease-in;
transition: box-shadow 0.1s ease-in;
left: 0;
width: 100%;
height: 100%;
border-radius: 100px;
box-shadow: inset 0 0 0 0 #eee, 0 0 1px rgba(0,0,0,0.4);
}
.chk_3 + label:before {
content: ' ';
position: absolute;
background: white;
top: 1px;
left: 1px;
z-index: 999999;
width: 31px;
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
height: 31px;
border-radius: 100px;
box-shadow: 0 3px 1px rgba(0,0,0,0.05), 0 0px 1px rgba(0,0,0,0.3);
}
.chk_3:active + label:after {
box-shadow: inset 0 0 0 20px #eee, 0 0 1px #eee;
}
.chk_3:active + label:before {
width: 37px;
}
.chk_3:checked:active + label:before {
width: 37px;
left: 20px;
}
.chk_3 + label:active {
box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
}
.chk_3:checked + label:before {
content: ' ';
position: absolute;
left: 26px;
border-radius: 100px;
}
.chk_3:checked + label:after {
content: ' ';
font-size: 1.5em;
position: absolute;
background: #4cda60;
box-shadow: 0 0 1px #4cda60;
}
#checkbox_d2 + label:after, #checkbox_d2 + label:before, #checkbox label {
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
}
a:hover {
color: transparent;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">苹果第三方支付开放名单</h3>
<p class="description_text">说明苹果beta包开发第三方支付的用户名单</p>
<!-- <div class="demo">-->
<!-- <div class="wrap" ><span style="float: right;margin-top: 7px;margin-right: 120px">开</span>-->
<!-- <input type="checkbox" id="checkbox_c2" class="chk_3" <if condition="$apple_interior_buy eq 1">checked</if> /><label for="checkbox_c2" style="float: right;margin-right: 5px" onclick="setAppleInteriorBuyStatus({$set_apple_interior_buy})"></label>-->
<!-- <span style="float: right;margin-top: 7px;margin-right: 5px">关</span>-->
<!-- <span style="float: right;margin-top: 7px;margin-right: 30px">全游戏苹果内购支付成功通知默认限制</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="fr">-->
<!-- <a class="tabchose" href="">游戏充值统计</a>-->
<!-- <a class="" href="{:U('Finance/payTypeStatistics')}">充值方式统计</a>-->
<!-- </div>-->
</div>
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<!--游戏类型搜索END-->
<div class="input-list">
<input type="text" id="user_account" name="user_account" class="" value="{:I('user_account')}" placeholder="玩家账号" autocomplete="off"/>
</div>
<input type="hidden" name="" value="" class="sortBy">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search"
style="width: 100px;border: #3C95C8 solid 1px; " url="{:U('ThirdPartyIp/index','model='.$model['name'].'&row='.I('row'),false)}">搜索</a>
</div>
<!-- <div class="input-list">-->
<!-- <a class="sch-btn" href="javascript:;" id="forbit"-->
<!-- style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量通知不到账</a>-->
<!-- </div>-->
<!-- <div class="input-list">-->
<!-- <a class="sch-btn" href="javascript:;" id="noforbit"-->
<!-- style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量通知到账</a>-->
<!-- </div>-->
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="delete"
style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量删除</a>
</div>
<div class="input-list">
<a class="sch-btn" href="{:U('ThirdPartyIp/add')}"
style="width: 150px;background: #fff;color: #000;border:1px solid #000;">添加玩家账号</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th class="" style="width: 50px;">
<input class="check-all" type="checkbox">
</th>
<th >玩家账号</th>
<!-- <th >区域</th>-->
<!-- <th >状态</th>-->
<th >添加人</th>
<th >添加时间</th>
<th >操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<style>
.data-table thead th, .data-table tbody td{text-align:center}
.data-table tbody td{border-right:1px solid #DDDDDD;}
.d_list .drop-down ul {z-index:999;}
</style>
<if condition = "empty($data)">
<tr>
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "data">
<volist name="data" id="data">
<tr>
<td ><input class="ids" type="checkbox" value="{$data.id}" name="ids[]"></td>
<td >{$data.user_account}</td>
<!-- <td>{$data.area}</td>-->
<!-- <td ><if condition="$data.status eq 1">通知到账<else/>通知不到账</if></td>-->
<td >{$data.admin_account}</td>
<td >{$data.create_time}</td>
<td >
<a href="javascript:;" onclick="del({$data.id})">删除 </a>
<!-- <if condition="$data.status eq 1">-->
<!-- <a class="ajax-get" href="javascript:;" onclick="limit({$data.id},0)">通知不到账 </a>-->
<!-- <else />-->
<!-- <a href="javascript:;" id="lock" onclick="limit({$data.id},1)">通知到账</a>-->
<!-- </if>-->
</td>
</tr>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn export-btn"
href="{:U('ThirdPartyIp/export',array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
<!-- <a class="sch-btn" href="{:U('Export/expUser',array_merge(['id'=>3,'xlsname'=>'玩家_玩家列表_'.(I('get.type')==2?'第三方玩家':'本站玩家')],I('get.')))}">导出</a> -->
</if>
{$_page|default=''}
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('ThirdPartyIp/index')}');
$('#forbit').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】是否确认此操作', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('ThirdPartyIp/operateIp')}",
type: "get",
data: {id: text,status:0},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
//搜索功能
$("#search").click(function(){
var starttime = $.trim($('#time-start').val());
var endtime = $.trim($('#time-end').val());
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');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;
});
$('#noforbit').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】是否确认此操作', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('ThirdPartyIp/operateIp')}",
type: "get",
data: {id: text,status:1},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
$('#delete').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('ThirdPartyIp/del')}",
type: "get",
data: {id: text},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量删除失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量删除成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
$('#add').click(function () {
});
function limit(id,status) {
layer.confirm('【警告】是否确认此操作', {
btn: ['确认','取消'],
title:false
}, function(index) {
$.ajax({
url: "{:U('ThirdPartyIp/operateIp')}",
type: "get",
data: {id: id,status: status},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
function del(id) {
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
$.ajax({
url: "{:U('ThirdPartyIp/del')}",
type: "get",
data: {id: id},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
function setAppleInteriorBuyStatus(status) {
var text = '【警告】是否确认打开全游戏苹果内购支付成功通知';
if(status == 0) {
text = '【警告】是否确认关闭全游戏苹果内购支付成功通知';
}
layer.confirm(text, {
btn: ['确认','取消'],
area: ['380px','120px'],
title: false
}, function(index) {
$.ajax({
url: "{:U('ThirdPartyIp/setAppleInteriorBuyStatus')}",
type: "get",
data: {status: status},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
</script>
</block>

@ -4,9 +4,13 @@ use Think\Controller;
class IndexWidget extends Controller{
public function navigation($value='',$compare='')
public function navigation($value='',$compare='',$title='')
{
$mainID = M('Menu')->where("pid !=0 AND url like '%".$value."%'")->getField('id');
$where = "pid !=0 AND url like '%".$value."%'";
if ($title != '') {
$where .= ' AND title=\'' . $title . '\'';
}
$mainID = M('Menu')->where($where)->getField('id');
$MainMenu = M('Menu')->field("id,pid,title,url,status,hide")->where(array('pid'=>$mainID,'hide'=>0))->order("sort asc")->select();
$this->assign("data",$MainMenu);
$compare = empty($compare)?CONTROLLER_NAME."/".ACTION_NAME:$compare;

@ -0,0 +1,38 @@
<?php
namespace Base\Tool;
use Redis as Handler;
class Redis
{
private static $handler;
public static function getHandler()
{
if(self::$handler == null) {
self::$handler = self::createHandler();
}
return self::$handler;
}
private static function createHandler()
{
$host = C('REDIS_HOST', null, '127.0.0.1');
$port = C('REDIS_PORT', null, 6379);
$timeout = C('REDIS_TIMEOUT', null, 300);
$auth = C('REDIS_AUTH');
$handler = new Handler();
$handler->connect($host, $port, $timeout);
if($auth !== null) {
$handler->auth($auth);
}
return $handler;
}
public static function __callStatic($method, $arguments)
{
return call_user_func_array([self::getHandler(), $method], $arguments);
}
}

@ -264,7 +264,7 @@ class HomeController extends Controller
$serviceQQ = M("config", "sys_")->field('value')->where("name='APP_QQ'")->find()['value'];
$ssgUrl = C('DOMAIN_OFFICIAL_MOBILE') . '/mobile.php/Ssg/pay/game_id/' . $game['id'] . '/promote_id/' . $promoteId;
$ssgUrl = C('DOMAIN_DOWNLOAD') . '/mobile.php/Ssg/pay/game_id/' . $game['id'] . '/promote_id/' . $promoteId;
/* if(in_array($game['id'], [187, 188])) {
$game['relation_game_name'] = '游戏下载';

@ -199,7 +199,7 @@
<li class="game-li" data-game-id="{$game.id}">
<div class="media">
<div class="img-box" style="cursor: pointer;">
<img src="__ROOT__{$game.icon|get_cover='path'}" />
<img src="__ROOT__{$game.icon|get_cover='path'}" onerror="javascript:this.src='__IMG__/game_icon.png';"/>
</div>
<div class="game-msg" style="width: calc(92% - 90px);">
<h5 class="game-title">
@ -594,7 +594,7 @@
function isImg(src) {
var img = new Image();
img.src = src;
if (img.fileSize > 0) {
if (img.width > 0 && img.height>0) {
return true
}
return false
@ -602,7 +602,7 @@
function getGameLogo(obj) {
var logo = null;
var logoSrc = $(obj).parents('.game-li').eq(0).find('.img-box').children('img').attr('src');
var logoSrc = $(obj).parents('.game-li').eq(0).find('.img-box').children('img').attr('src')
if (isImg(logoSrc)) {
logo = $(obj).parents('.game-li').eq(0).find('.img-box').children('img')[0]
} else {

@ -148,9 +148,9 @@
<!--头部个人信息-->
<div class="header">
<if condition="$loginer['level'] eq 1 and $loginer['company_belong'] eq 1">
<div style="position: absolute;padding-left: 1.5%;">
<!-- <div style="position: absolute;padding-left: 1.5%;">
<span class="pinfo" style="color: #1239f2">市场总监联系方式:<span>13637338237(李总监)</span></span>
</div>
</div> -->
</if>
<div class="header-right">
<span class="pinfo jstime">今天是:<span></span></span>

@ -1988,3 +1988,13 @@ CREATE TABLE `tab_company_lack_statement_info` (
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='未满足支付条件的公司信息';
-- zyx 20200515
INSERT INTO `tab_tool`( `name`, `title`, `config`, `template`, `type`, `status`, `create_time`) VALUES ('juhedata', '聚合数据', '{\"tpl_id\":\"215303\",\"key\":\"1aa07a33b6d6408e835e416fafcd6f22\",\"limit\":\"\",\"status\":\"1\"}', NULL, 1, 1, 1589361782);
INSERT INTO `tab_tool`( `name`, `title`, `config`, `template`, `type`, `status`, `create_time`) VALUES ('juhe_age', '聚合身份认证', '{\"appkey\":\"80427f4769c6938f12a870f51014ddbe\",\"status\":\"1\"}', NULL, 1, 1, 1464164373);
ALTER TABLE `tab_forbit_ip`
ADD COLUMN `type` tinyint(2) NULL DEFAULT 0 COMMENT '类型 0美国ip白名单 1苹果第三方支付白名单' AFTER `remarks`;
ALTER TABLE `tab_forbit_ip`
ADD UNIQUE INDEX `userid_type`(`user_id`, `type`) COMMENT '用户id与类型唯一索引';

Loading…
Cancel
Save