Merge branch 'dev' of 47.111.118.107:/srv/git/platform into dev-cz

master
chenzhi 5 years ago
commit 48fac5ab4d

@ -926,7 +926,6 @@ public function auto_rrdae(){
{
if (isset($map['pay_time'])) {
$map['pay_status'] = 1;
$map['pay_game_status'] = 1;
$map['game_player_id'] = ['gt', 0];
$map['server_id'] = ['gt', 0];
$field = 'FROM_UNIXTIME(pay_time, "%Y-%m-%d") as day,promote_id,user_id,game_id,server_id,game_player_id,sum(pay_amount) as recharge_cost,count(id) as recharge_count';
@ -955,4 +954,84 @@ public function auto_rrdae(){
}
}
}
//用户推广员数据刷新
public function updateUserPromoteAccount()
{
$map['promote_id'] = ['gt', 0];
$map['_string'] = "promote_account = '' or promote_account = '自然注册' or promote_account = '官方渠道' or promote_account is NULL";
$userModel = M('user', 'tab_');
$userPlayModel = M('user_play', 'tab_');
$userPlayInfoModel = M('user_play_info', 'tab_');
$userData = $userModel->field('id,promote_id')->where($map)->select();
$userPlayData = $userPlayModel->field('id,promote_id')->where($map)->select();
$userPlayInfoData = $userPlayInfoModel->field('id,promote_id')->where($map)->select();
$promoteData = [];
$userRet = $this->updateUserPromoteAccountSql($userModel, $userData, $promoteData);
$userSuccess = $userRet['success'];
$userError = $userRet['error'];
$userErrorData = empty($userRet['error_data']) ? '' : implode(',', $userRet['error_data']);
$promoteData = $userRet['promote_data'];
$userAll = count($userData);
unset($userData);
$userPlayRet = $this->updateUserPromoteAccountSql($userPlayModel, $userPlayData, $promoteData);
$userPlaySuccess = $userPlayRet['success'];
$userPlayError = $userPlayRet['error'];
$userPlayErrorData = empty($userPlayRet['error_data']) ? '' : implode(',', $userPlayRet['error_data']);
$promoteData = $userPlayRet['promote_data'];
$userPlayAll = count($userPlayData);
unset($userPlayData);
$userPlayInfoRet = $this->updateUserPromoteAccountSql($userPlayInfoModel, $userPlayInfoData, $promoteData);
$userPlayInfoSuccess = $userPlayInfoRet['success'];
$userPlayInfoError = $userPlayInfoRet['error'];
$userPlayInfoErrorData = empty($userPlayInfoRet['error_data']) ? '' : implode(',', $userPlayInfoRet['error_data']);
$promoteData = $userPlayInfoRet['promote_data'];
$userPlayInfoAll = count($userPlayInfoData);
unset($userPlayInfoData);
echo "tab_userall--{$userAll} success--{$userSuccess} error--{$userError} error_ids--{$userErrorData}";
echo '<br>';
echo "tab_user_playall--{$userPlayAll} success--{$userPlaySuccess} error--{$userPlayError} error_ids--{$userPlayErrorData}";
echo '<br>';
echo "tab_user_play_infoall--{$userPlayInfoAll} success--{$userPlayInfoSuccess} error--{$userPlayInfoError} error_ids--{$userPlayInfoErrorData}";
echo '<br>';
}
private function updateUserPromoteAccountSql($model, $data = [], $promoteData = [])
{
$success = 0;
$error = 0;
$errorData = [];
foreach ($data as &$list) {
if (isset($promoteData[$list['promote_id']])) {
$promoteAccount = $promoteData[$list['promote_id']];
} else {
$promoteAccount = M('promote', 'tab_')->where(array('id' => $list['promote_id']))->getField('account');
$promoteAccount = empty($promoteAccount) ? '未知推广员' : $promoteAccount;
$promoteData[$list['promote_id']] = $promoteAccount;
}
$save['id'] = $list['id'];
$save['promote_account'] = $promoteAccount;
$res = $model->save($save);
if ($res === false) {
$error++;
$errorData = $list['id'];
} else {
$success++;
}
unset($list);
}
$ret = [
'success' => $success,
'error' => $error,
'error_data' => $errorData,
'promote_data' => $promoteData,
];
return $ret;
}
}

@ -319,7 +319,7 @@ class AutoPackController extends Think
$launchCountList = M('apply_launch', 'tab_')->field(['apply_id', 'count(*) count'])->where(['apply_id' => ['in', $applyIds]])->group('apply_id')->select();
$launchCountList = index_by_column('apply_id', $launchCountList);
$gameSources = M('game_source', 'tab_')->field(['id', 'file_name', 'source_version', 'file_type', 'bao_name', 'game_id'])->where(['game_id' => ['in', $gameIds]])->select();
$gameSources = M('game_source', 'tab_')->field(['id', 'file_name', 'source_version', 'file_type', 'bao_name', 'game_id', 'is_new_sdk'])->where(['game_id' => ['in', $gameIds]])->select();
$gameSources = index_by_column('game_id', $gameSources);
$gameSourceService = new GameSourceService();

File diff suppressed because it is too large Load Diff

@ -200,6 +200,14 @@ class FileController extends AdminController
/* 调用文件上传组件上传文件 */
$Picture = D('Picture');
$pic_driver = C('PICTURE_UPLOAD_DRIVER');
if (I('icon')) {
if ($_FILES['file']['size'] > 51200) {
$return = array('status' => 1001, 'info' => '图片大小不得超过50k', 'data' => '');
$this->ajaxReturn($return);
}
}
$info = $Picture->upload(
$_FILES,
C('PICTURE_UPLOAD'),

@ -290,6 +290,14 @@ class GameController extends ThinkController
public function edit($id = null)
{
if (IS_POST) {
if ($_POST['game_score'] <0 || $_POST['game_score'] > 5) {
$this->error('游戏评分只能为0-5之间的数字');
exit;
}
if (mb_strlen($_POST['features']) > 30) {
$this->error('一句话简介不能超过30个字');
exit;
}
/*if($_POST['apply_status']==0&&$_POST['game_status']==1){
$this->error('游戏未审核不允许显示');//游戏添加完成
}*/

@ -0,0 +1,260 @@
<?php
namespace Admin\Controller;
use User\Api\UserApi as UserApi;
use Admin\Event\BatchImportExcelEvent;
/**
* 后台首页控制器
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
*/
class ServerNoticeController extends ThinkController {
const model_name = 'ServerNotice';
public function lists(){
if(isset($_REQUEST['show_status'])){
$extend['show_status']=$_REQUEST['show_status'];
unset($_REQUEST['show_status']);
}
if(isset($_REQUEST['server_version'])){
$extend['server_version']=$_REQUEST['server_version'];
unset($_REQUEST['server_version']);
}
if(isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])){
$extend['start_time'] = array('BETWEEN',array(strtotime($_REQUEST['timestart']),strtotime($_REQUEST['timeend'])+24*60*60-1));
unset($_REQUEST['timestart']);unset($_REQUEST['timeend']);
}elseif(isset($_REQUEST['timestart'])){
$extend['start_time']=array('EGT',strtotime($_REQUEST['timestart']));
}elseif(isset($_REQUEST['timeend'])){
$extend['start_time']=array('ELT',strtotime($_REQUEST['timeend']));
}
if(isset($_REQUEST['start']) && isset($_REQUEST['end'])){
$extend['start_time'] = array('BETWEEN',array(strtotime($_REQUEST['start']),strtotime($_REQUEST['end'])+24*60*60-1));
unset($_REQUEST['start']);unset($_REQUEST['end']);
}
if(isset($_REQUEST['game_name'])){
if($_REQUEST['game_name']=='全部'){
unset($_REQUEST['game_name']);
}else{
$extend['game_name']=['like', "{$_REQUEST['game_name']}%"];
unset($_REQUEST['game_name']);
}
}
if(isset($_REQUEST['server_name'])){
$extend['server_name']=$_REQUEST['server_name'];
unset($_REQUEST['server_name']);
}
if(empty($_GET['type']) || $_GET['type'] == 1) {
$extend['developers'] = array('EQ',0);
}else{
$extend['developers'] = array('NEQ',0);
$this->assign('show_status',1);
}
$this->m_title = '区服预告';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'ServerNotice/lists','status'=>1])->find());
parent::order_lists(self::model_name,$_GET["p"],$extend);
}
public function add(){
$model = M('Model')->getByName(self::model_name);
$this->m_title = '区服预告';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'ServerNotice/lists','status'=>1])->find());
parent::add($model["id"]);
}
public function edit($id=0){
$id || $this->error('请选择要编辑的用户!');
$this->m_title = '区服预告';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'ServerNotice/lists','status'=>1])->find());
$model = M('Model')->getByName(self::model_name); /*通过Model名称获取Model完整信息*/
parent::edit($model['id'],$id);
}
public function del($model = null, $ids=null){
$model = M('Model')->getByName(self::model_name); /*通过Model名称获取Model完整信息*/
parent::del($model["id"],$ids);
}
/**
* 批量导入游戏区服区服
*/
public function batch(){
if(IS_POST){
switch($_POST['batchType']){
case 1:
$this->batchExcel();
break;
case 2:
$this->batchImport();
break;
}
}else{
$this->meta_title = '新增区服管理';
$this->m_title = '区服预告';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Server/lists','status'=>1])->find());
$this->display();
}
}
//批量新增
public function batchImport(){
$server_str = str_replace(array("\r\n", "\r", "\n"), "", I('server'));
$server_ar1 = explode(';',$server_str);
array_pop($server_ar1);
$num = count($server_ar1);
if ($num<1) {$this->error('请添加区服数据');}
if($num > 100 ){
$this->error('区服数量过多最多只允许添加100个');
}
$verify = ['game_id','server_name','time'];
$server_model = D('ServerNotice');
foreach ($server_ar1 as $key=>$value) {
$arr = explode(',',$value);
foreach ($arr as $k=>$v) {
$att = explode('=',$v);
if(in_array($att[0],$verify)){
switch ($att[0]){
case 'time' :
$patten = '/^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])(\s+(0[0-9]|1[0-9]|2[0-3])\:(0[0-9]|[1-5][0-9])(\:(0[0-9]|[1-5][0-9]))?)$/';
if(!strtotime($att[1]) || !preg_match($patten,$att[1])){
$this->error('开服时间不正确');
}else{
$time = $server[$key]['start_time'] = strtotime($att[1]);
}
break;
case 'game_id':
$game = M('Game','tab_')->where('developers = 0')->find($att[1]);
if(empty($game)){
$this->error('game_id='.$att[1].' 数据错误,请重新上传');
}
$server[$key]['game_id'] = $att[1];
break;
default:
$server[$key][$att[0]] = $att[1];
}
}
}
$server[$key]['game_name'] = get_game_name($server[$key]['game_id']);
$server[$key]['server_num'] = 0;
$server[$key]['recommend_status'] = 1;
$server[$key]['show_status'] = 1;
$server[$key]['stop_status'] = 0;
$server[$key]['server_status'] = 0;
$server[$key]['parent_id'] = 0;
$server[$key]['create_time'] = time();
$version = get_sdk_version($server[$key]['game_id']);
$server[$key]['server_version'] = empty($version) ? 0 : $version;
if(!$server_model->create($server[$key])){
switch ($server_model->getError()) {
case '区服名称不能为空':
$msg = '游戏ID'.$server[$key]['game_id'].' <'.$server[$key]['server_name'].'> 区服名称不能为空';
break;
case '区服名称不能超过30个字符':
$msg = '游戏ID'.$server[$key]['game_id'].' <'.$server[$key]['server_name'].'> 区服名称不能超过30个字符';
break;
case '同游戏下区服名称已存在':
$msg = '游戏ID'.$server[$key]['game_id'].' <'.$server[$key]['server_name'].'> 区服名称重复';
break;
case '开始时间不能为空':
$msg = '游戏ID'.$server[$key]['game_id'].' <'.$server[$key]['server_name'].'> 开始时间不能为空';
break;
default:
$msg = "批量添加失败";
break;
}
$this->error($msg);
}
}
$server = $this->array_unset_tt($server);
$res = M('ServerNotice','tab_')->addAll($server);
if($res !== false){
$this->success('添加成功!',U('ServerNotice/lists'));
}else{
$this->error('添加失败!'.M()->getError());
}
}
function array_unset_tt($arr){
//建立一个目标数组
$res = array();
foreach ($arr as $key => $value) {
//查看有没有重复项
if($res[$key-1]['game_id'] == $value['game_id'] && $res[$key-1]['server_name'] == $value['server_name']){
$this->error("游戏ID{$value['game_id']} <{$value['server_name']}> 游戏区服名称重复");
//有:销毁
//unset($arr[$key]);
}
else{
$res[$key] = $value;
}
}
return $res;
}
/**
* excel 批量导入游戏区服
*/
public function batchExcel(){
$excel = new BatchImportExcelEvent();
if (empty($_FILES['fileExcel'])) {$this->ajaxReturn(["status"=>0,"info"=>'请选择文件']);exit;}
$info = $excel->uploadExcel($_FILES['fileExcel']);
$data = [];
if(is_array($info)){
$filename = './Uploads/' . $info['savepath'] . $info['savename'];
$data = $excel->importExcel($filename);
if(is_array($data)){
$excel->serverDataInsert($data,U('ServerNotice/lists'),true);
}else{
$this->ajaxReturn(["status"=>0,"info"=>$data]);
}
}else{
$this->ajaxReturn(["status"=>0,"info"=>$info]);
}
}
/**
* 区服状态修改
* @author 鹿文学
*/
public function change_status($field = null,$value=null) {
$id = array_unique((array)I('ids', 0));
$id = is_array($id) ? implode(',', $id) : $id;
if (empty($id)) {
$this->error('请选择要操作的数据!');
}
$map['id'] = array('in', $id);
$servermodel = D(self::model_name);
$server = $servermodel->where($map)->find();
//开发者区服
if($server['developers'] > 0){
$save[$field] = $value;
$result = $servermodel->where($map)->save($save);
}else{
$result = $servermodel->where($map)->setField($field,$value);
}
$msg = "操作";
if($result !== false){
$this->success($msg.'成功');
}else{
$this->error($msg.'失败');
}
}
}

@ -1407,7 +1407,7 @@ class StatController extends ThinkController
$model = M('device_statistics','tab_');
if ($type == 0) {
$return = $model->where(['time'=>['neq',0]])->sum('new_device');
$return = $model->where(array('time'=>array('neq',0)))->sum('new_device');
// $return = $device->all_device();
} else if($type == 1) {
$return = $model->where(['time'=>array('between',[$todaystart,$todaystart+86399])])->sum('new_device');

@ -114,6 +114,7 @@ class TimingController extends AdminController {
}
public function caculateTodayDevice() {
$start = strtotime(date("Ymd",time()));

@ -102,9 +102,15 @@ class BatchImportExcelEvent extends Controller{
/**
* 插入区服数据到数据库
* isnotice 是否是区服预告
*/
public function serverDataInsert($serverData,$url=''){
$serverModel = new \Admin\Model\ServerModel();
public function serverDataInsert($serverData,$url='',$isnotice=false){
if($isnotice){
$serverModel = new \Admin\Model\ServerNoticeModel();
}else{
$serverModel = new \Admin\Model\ServerModel();
}
$sData = [];
$key = 0;
foreach($serverData as $server){

@ -96,7 +96,6 @@ class SourceEvent extends Controller
}
}
$data['source_version'] = $game_source['source_version'] + 1;
$version = '';
$packageName = '';
if ($data['file_type'] == 1) {

@ -76,12 +76,12 @@ class GameModel extends Model{
*/
public function detail($id,$display_site=''){
/* 获取基础数据 */
$map['relation_game_id']=$id;
$map['relation_game_id'] = $id;
$map['game_status'] = 1;
$map['display_site'] = ['like','%'.$display_site.'%'];
$info = $this->field(true)->where($map)->group('relation_game_id')->select();
$info= game_merge($info,$map);
$info=reset($info);
$info = game_merge($info,$map);
$info = reset($info);
if(!(is_array($info) || $info['game_status']!=1)){
$this->error = '游戏被禁用或已删除!';
return false;

@ -0,0 +1,102 @@
<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: huajie <banhuajie@163.com>
// +----------------------------------------------------------------------
namespace Admin\Model;
use Think\Model;
/**
* 文档基础模型
*/
class ServerNoticeModel extends Model{
/* 自动验证规则 */
protected $_validate = array(
array('game_id', '/^[1-9]\d*$/', '请选择游戏', self::MUST_VALIDATE, 'regex', self::MODEL_BOTH),
array('server_name', 'require', '区服名称不能为空', self::MUST_VALIDATE, 'regex', self::MODEL_BOTH),
array('server_name', '1,30', '区服名称不能超过30个字符', self::VALUE_VALIDATE, 'length', self::MODEL_BOTH),
array("server_name,game_id,id", 'checkServerName', '同游戏下区服名称已存在', self::MUST_VALIDATE, 'callback', self::MODEL_BOTH),
array('start_time', 'require', '开始时间不能为空', self::MUST_VALIDATE, 'regex', self::MODEL_BOTH),
);
/* 自动完成规则 */
protected $_auto = array(
array('create_time', 'getCreateTime', self::MODEL_INSERT,'callback'),
array('server_num', 0, self::MODEL_INSERT),
array('start_time', 'strtotime', self::MODEL_BOTH, 'function'),
array('parent_id', 0,self::MODEL_INSERT,'string'),
);
/**
* 构造函数
* @param string $name 模型名称
* @param string $tablePrefix 表前缀
* @param mixed $connection 数据库连接信息
*/
public function __construct($name = '', $tablePrefix = '', $connection = '') {
/* 设置默认的表前缀 */
$this->tablePrefix ='tab_';
/* 执行构造方法 */
parent::__construct($name, $tablePrefix, $connection);
}
/**
* 创建时间不写则取当前时间
* @return int 时间戳
* @author huajie <banhuajie@163.com>
*/
protected function getCreateTime(){
$create_time = I('post.create_time');
return $create_time?strtotime($create_time):NOW_TIME;
}
/**
* 生成不重复的name标识
* @author huajie <banhuajie@163.com>
*/
private function generateName(){
$str = 'abcdefghijklmnopqrstuvwxyz0123456789'; //源字符串
$min = 10;
$max = 39;
$name = false;
while (true){
$length = rand($min, $max); //生成的标识长度
$name = substr(str_shuffle(substr($str,0,26)), 0, 1); //第一个字母
$name .= substr(str_shuffle($str), 0, $length);
//检查是否已存在
$res = $this->getFieldByName($name, 'id');
if(!$res){
break;
}
}
return $name;
}
/**
*判断同游戏下区服名称是否存在
*/
public function checkServerName($args=null){
$map['game_id'] = $args['game_id'];
$map['server_name'] = $args['server_name'];
if(empty($args['id'])){
$data = $this->field('id')->where($map)->find();
return empty($data);
}else{
$data = $this->field('id')->where($map)->find();
return empty($data['id'])?true:$data['id'] == $args['id'] ? true:false;
}
}
}

@ -95,7 +95,7 @@
<span class="form_radio table_btn">
<volist name=":get_opentype_all()" id="vo">
<label>
<input type="radio" class="inp_radio" value="{$vo.id}" name="category"
<input type="radio" class="inp_radio" value="{$vo.id}" name="category">
<eq name="data.category" value="$vo['id']"> checked </eq> > {$vo.open_name}
</label>
</volist></span>
@ -210,7 +210,7 @@
</td>
</tr>
<tr>
<td class="l">游戏详细介绍</td>
<td class="l">游戏简介</td>
<td class="r">
<textarea name="introduction" class="txt_area">{$data['introduction']}</textarea>
</td>
@ -251,7 +251,7 @@
</div>
</div>
</span>
<span class="notice-text">尺寸不得小于512*512px圆角半径113px不强制要求可直接提供512*512方图</span>
<span class="notice-text">尺寸不得小于125*125px大小不得超过50K</span>
</td>
</tr>
<tr class="picbox">
@ -1678,7 +1678,8 @@
}
</script>
<script>
<script>
var iconInfo = {userId:"kazaff", md5:"",icon:1}; //用户会话信息
var uploaderImgIcon = WebUploader.create({
// 选完文件后,是否自动上传。
auto: true,
@ -1707,7 +1708,7 @@
thumb:true,
compress:false,
prepareNextFile: true,
formData: function(){return $.extend(true, {}, userInfo);},
formData: function(){return $.extend(true, {}, iconInfo);},
chunked:false,
duplicate: true
});
@ -1789,23 +1790,31 @@
imgListIconData.push(Number(response.id));
setIconVal();
console.log(response)
$( '#'+file.id ).find('p.state').text('已上传').fadeOut(800);
//alert(JSON.stringify(response));
$('#'+file.id).find('h4.info').append('<a href="javascript:;" class="jsdelzip table_click" style="float:none;display:inline-block;margin-left:10px;">删除</a>');
$('#'+file.id).find('.jsdelzip').on('click',function() {
uploaderImgIcon.removeFile( file.id );
$('#'+file.id).remove();
$.each(imgListIconData,function(index, item) {
if (response.id == item) {
imgListIconData.splice(index,1);
return false;
}
$( '#'+file.id ).find('p.state').text('已上传').fadeOut(800);
//alert(JSON.stringify(response));
$('#'+file.id).find('h4.info').append('<a href="javascript:;" class="jsdelzip table_click" style="float:none;display:inline-block;margin-left:10px;">删除</a>');
$('#'+file.id).find('.jsdelzip').on('click',function() {
uploaderImgIcon.removeFile( file.id );
$('#'+file.id).remove();
$.each(imgListIconData,function(index, item) {
if (response.id == item) {
imgListIconData.splice(index,1);
return false;
}
});
setIconVal();
return false;
});
setIconVal();
return false;
});
if (response.status==1001) {
alert('图片大小不得超过50k');
$('#icon_thelist').children().last().remove();
location.reload()
}
});
function setIconVal()

@ -91,6 +91,14 @@
<input type="hidden" id="file_type" name="file_type" value="" />
</td>
</tr>
<tr id="is-new-sdk" style="display: none;">
<td class="l">是否新包</td>
<td class="r table_radio">
<span class="form_radio">
<label><input type="radio" class="inp_radio" checked value="1" name="is_new_sdk" ></label>
<label><input type="radio" class="inp_radio" checked value="0" name="is_new_sdk" ></label>
</td>
</tr>
<tr class="picbox">
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>上传原包</td>
@ -420,8 +428,10 @@ $("#game_id").change(function(){
$("#game_name").val($("#game_id option:selected").text());
$("#file_type").val(type);
if (type == 2){
$('#is-new-sdk').show();
$('#apply_bz').show();
}else{
$('#is-new-sdk').hide();
$('#apply_bz').hide();
}
//if(type == 1){$('.pack_name_class').show();}else{$('.pack_name_class').hide();}

@ -78,7 +78,16 @@
</volist></span>
</td>
</tr>
<?php if($data['file_type'] == 2):?>
<tr>
<td class="l">是否新包</td>
<td class="r table_radio">
<span class="form_radio">
<label><input type="radio" value="1" name="is_new_sdk" <?php if($data['is_new_sdk']==='1'):?>checked<?php endif;?>> 是</label>
<label><input type="radio" value="0" name="is_new_sdk" <?php if($data['is_new_sdk']==='0'):?>checked<?php endif;?>> 否</label>
</td>
</tr>
<?php endif;?>
<tr>
<td class="l">上传原包</td>
<td class="r" colspan='1'>

@ -25,6 +25,10 @@
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.select2-dropdown {
z-index: 1;
}
</style>
<!-- 标题栏 -->
<div class="cf main-place top_nav_list navtab_list">
@ -98,7 +102,7 @@
<!-- <td><input class="ids" type="checkbox" value="{$data['id']}" name="ids"></td> -->
<td>{$data.id}</td>
<td>{$data.type_name}</td>
<td>{$data.tag}</td>
<td style="position: relative;width: 50%"><span style="width: 200px;word-wrap: break-word;word-break: break-all;overflow: hidden;height: 100px">{$data.tag}</span></td>
<td>{:get_admin_nickname($data['operator_id'])}</td>
<td>{$data.create_time|date='Y-m-d H:i:s',###}</td>
<td>

@ -0,0 +1,203 @@
<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="__JS__/select2.min.js"></script>
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<style>
.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;}
.tabcon1711 .select2-container--default .select2-selection--single{
font-size: 12px;
color: #555;
vertical-align: middle;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #fff;
border: 1px solid #ccc;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-webkit-transition: border linear .2s, box-shadow linear .2s;
-moz-transition: border linear .2s, box-shadow linear .2s;
-o-transition: border linear .2s, box-shadow linear .2s;
transition: border linear .2s, box-shadow linear .2s;height:30px;}
.tabcon1711 .select2-container--default .select2-selection--single .select2-selection__rendered {line-height: 30px;}
.tabcon1711 .select2-container--default .select2-selection--single .select2-selection__arrow {height:30px;}
.tabcon1711 .select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.tabcon1711 .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="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('add?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"><i class="mustmark" style="margin-left:-7px">*</i>游戏名称:</td>
<td class="r">
<select id="game_id" name="game_id">
<option value="0" selected="">请选择游戏</option>
<volist name=':get_game_list(1)' id='vo'>
<option value="{$vo.id}" sdk_version="{$vo.sdk_version}">{$vo.game_name}</option>
</volist>
</select>
<input type="hidden" id="game_name" name="game_name" value="" />
</td>
</tr>
<tr>
<td class="l">运营平台</td>
<td class="r table_radio">
<span class="form_radio">
<volist name=":get_systems_list()" id="vo">
<gt name="key" value="0">
<label id="type{$key}">
<input type="radio" class="inp_radio js-typeradio" value="{$key}" name="server_version" disabled="true" > <span class="type{$key}">{$vo}</span>
</label>
</gt>
</volist></span>
<input type="hidden" id="server_version" name="server_version" value="">
</td>
</tr>
<tr>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>区服名称:</td>
<td class="r" >
<input type="text" class="txt " name="server_name" value="">
</td>
</tr>
<tr>
<td class="l">显示状态:</td>
<td class="r table_radio">
<span class="form_radio">
<label>
<input type="radio" class="inp_radio" value="0" name="show_status"> 关闭
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="show_status" checked="checked"> 开启
</label>
</span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>开服时间:</td>
<td class="r" >
<input type="text" class="txt time" name="start_time" value="">
</td>
</tr>
<tr>
<td class="l">区服描述:</td>
<td class="r">
<input type="text" class="txt " name="desride" value="">
</td>
</tr>
</tbody>
</table>
</div>
<input type="hidden" name="developers" value="0">
<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="Server/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 type="text/javascript">
//导航高亮
highlight_subnav("{:U('ServerNotice/lists')}");
Think.setValue("game_id", {$Think.get.game_id|default = 0});
$('#submit').click(function(){
$('#form').submit();
});
$(function(){
$("#game_id").select2();
$("#game_name").val($("#game_id option:selected").text());
$('.date').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('.time').datetimepicker({
language:"zh-CN",
hour: 13,
minute: 15
});
showTab();
});
$("#game_id").change(function(){
$("#game_name").val($("#game_id option:selected").text());
var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
$("input[type='radio'][name='server_version'][value='"+ratio_type+"']").prop("checked",true);
$('#server_version').val(ratio_type);
});
// $(".inp_radio").click(function(){
// if($("#game_id option:selected").val()==0){
// alert('请选择游戏');
// return false;
// }
// var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
// if(ratio_type == 1){
// var file_type="apk";
// }else if(ratio_type == 2){
// var file_type="ipa";
// }
// var str = location.href,game_id=$("#game_id option:selected").val();
// str = str.replace('.html','');
// str = str+'/game_id/'+game_id+'/ratio_type/'+ratio_type;
// window.location.href=str;
// });
</script>
</block>

@ -0,0 +1,168 @@
<extend name="Public/base" />
<block name="body">
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<style>.tabcon1711 textarea {width:400px;}</style>
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="__STATIC__/jquery.form.js"></script>
<script type="text/javascript" src="__STATIC__/layer/layer.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="form1" action="{:U('batch')}" method="post" class="form-horizontal" enctype="multipart/form-data">
<!-- 基础文档模型 -->
<div id="tab1" class="tab-pane in tab1 ">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l noticeinfo">添加方式:</td>
<td class="r table_radio">
<span class="form_radio">
<label>
<input type="radio" class="inp_radio" value="1" name='excel' checked="checked">Excel导入
</label>
<label>
<input type="radio" class="inp_radio" value="2" name='excel'> 批量输入
</label>
</span>
</td>
</tr>
</tbody>
</table>
<table id="excel" border="0" cellspacing="0" cellpadding="0" >
<tbody>
<tr>
<td class="r"> Execl模板:</td>
<td><a href="/Uploads/excel/区服列表-游戏名称.xls">下载模板</a></td>
</tr>
<tr>
<td class="r">导入模板</td>
<td class="r"><input type="file" name="fileExcel" accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"></td>
</tr>
</tbody>
</table>
<table id="batch" border="0" cellspacing="0" cellpadding="0" style="display:none">
<tbody>
<tr>
<td class="r">批量加服按模板样式添加一行一个最多可同时添加100行用“;”隔开)</td>
</tr>
<tr>
<td class="r" >
<textarea name="server" class="txt_area" placeholder="">game_id=1,server_name=初出茅庐,time=2017-01-04 15:00:00;</textarea><br>
说明game_id游戏IDserver_name区服名称time开服时间
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-item cf">
<input type="hidden" id="batchType" name="batchType" value="1">
<button class="submit_btn" id="submit" type="button" 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="Server/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 type="text/javascript">
//导航高亮
highlight_subnav("{:U('ServerNotice/lists')}");
$(function(){
$('#submit').click(function(){
$('#form1').ajaxSubmit({
url:"{:U('batch')}",
type:'POST',
cache:false,
contentType:false,
processData:false,
mimeType: 'multipart/form-data',
dataType:'json',
//data:new FormData($("#form1")[0]),
success:function(data){
if (data.status == 1) {
layer.msg(data.info);
setTimeout(function() {
if (data.url) {
window.location.href = data.url;
} else {
window.location.reload();
}
},3000);
} else {
layer.msg(data.info);
}
},error:function(){
layer.msg('服务器故障,请稍候再试');
}
});
});
$("#game_name").val($("#game_id option:selected").text());
$('.date').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('.time').datetimepicker({
language:"zh-CN",
hour: 13,
minute: 15
});
showTab();
});
/*获取游戏名称*/
$("#game_id").change(function() {
$("#game_name").val($("#game_id option:selected").text());
});
$("input[name='excel']").change(function(){
switch($(this).val()){
case "1":
$("#excel").show();
$("#batch").hide();
break;
case "2":
$("#excel").hide();
$("#batch").show();
break
}
$("#batchType").val($(this).val());
})
</script>
</block>

@ -0,0 +1,196 @@
<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="__JS__/select2.min.js"></script>
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<style>
.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;}
.tabcon1711 .select2-container--default .select2-selection--single{
font-size: 12px;
color: #555;
vertical-align: middle;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #fff;
border: 1px solid #ccc;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-webkit-transition: border linear .2s, box-shadow linear .2s;
-moz-transition: border linear .2s, box-shadow linear .2s;
-o-transition: border linear .2s, box-shadow linear .2s;
transition: border linear .2s, box-shadow linear .2s;height:30px;}
.tabcon1711 .select2-container--default .select2-selection--single .select2-selection__rendered {line-height: 30px;}
.tabcon1711 .select2-container--default .select2-selection--single .select2-selection__arrow {height:30px;}
.tabcon1711 .select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.tabcon1711 .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="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('edit?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"><i class="mustmark" style="margin-left:-7px">*</i>游戏名称:</td>
<td class="r" >
<select id="game_id" name="game_id">
<volist name=":get_game_list()" id="vo">
<option value="{$vo.id}" sdk_version="{$vo.sdk_version}">{$vo.game_name}</option>
</volist>
</select>
<input type="hidden" id="game_name" name="game_name" value="">
</td>
</tr>
<tr>
<td class="l">运营平台:</td>
<td class="r table_radio">
<span class="form_radio">
<volist name=":get_systems_list()" id="vo">
<eq name="data.server_version" value="$key">
<label class="server_version_name"><input type="radio" class="inp_radio" checked value="{$key}" name="server_version" > {$vo}</label>
</eq>
</volist></span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>区服名称:</td>
<td class="r" >
<input type="text" class="txt " name="server_name" value="{$data['server_name']}">
</td>
</tr>
<tr>
<td class="l">显示状态:</td>
<td class="r table_radio">
<span class="form_radio">
<if condition="$data['show_status'] eq 1">
<label>
<input type="radio" class="inp_radio" value="0" name="show_status"> 关闭
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="show_status" checked="checked"> 开启
</label>
<else/>
<label>
<input type="radio" class="inp_radio" value="0" name="show_status" checked="checked"> 关闭
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="show_status" > 开启
</label>
</if>
</span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>开服时间:</td>
<td class="r" >
<input type="text" class="txt time" name="start_time" value="{:time_format($data['start_time'],'Y-m-d H:i')}">
</td>
</tr>
<tr>
<td class="l">区服描述:</td>
<td class="r">
<input type="text" class="txt " name="desride" value="{$data['desride']}">
</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="Server/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 type="text/javascript">
//导航高亮
highlight_subnav("{:U('ServerNotice/lists')}");
Think.setValue("game_id", {$data.game_id|default = 0});
$('#submit').click(function(){
$('#form').submit();
});
$(function(){
$("#game_id").select2();
$("#game_name").val($("#game_id option:selected").text());
$('.date').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('.time').datetimepicker({
language:"zh-CN",
hour: 13,
minute: 15
});
showTab();
});
/*获取游戏名称*/
$("#game_id").change(function(){
var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
$("#game_name").val($("#game_id option:selected").text());
$("input[name='server_version']").val('ratio_type');
if(ratio_type==2){
$(".server_version_name").html('<input type="radio" class="inp_radio" checked value="2" name="server_version" > 苹果');
}else{
$(".server_version_name").html('<input type="radio" class="inp_radio" checked value="1" name="server_version" > 安卓');
}
});
</script>
</block>

@ -0,0 +1,354 @@
<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">
<div class="fr">
<a <if condition="(I('type') eq 1) or (I('type') eq '') "> class="tabchose" </if> href="{:U('lists',array('type'=>1))}">官方区服</a>
<a <if condition="I('type') eq 2"> class="tabchose" </if> href="{:U('lists',array('type'=>2))}">开发者区服</a>
</div>
<h3 class="page_title">区服预告</h3>
<if condition="(I('type',1) eq 1) ">
<p class="description_text">说明:此功能为上传、更新、查看官方游戏区服预告的功能</p>
<else/>
<p class="description_text">说明:此功能为上传、更新、查看开发者游戏区服预告的功能</p>
</if>
</div>
<div class="cf top_nav_list">
<div class="fl button_list">
<div class="tools">
<empty name="show_status">
<a class=" " href="{:U('add?model='.$model['id'])}"><span class="button_icon button_icon1"></span>新增</a>
<a class=" " href="{:U('batch?model='.$model['id'])}"><span class="button_icon button_icon1"></span>批量添加</a>
</empty>
<a class=" ajax-post confirm " target-form="ids" url="{:U('del?model='.$model['id'])}"><span class="button_icon button_icon2"></span>删除</a>
</div>
</div>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list" >
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<notempty name="show_status">
<div class="input-list input-list-game search_label_rehab">
<select id="developers" name="developers" class="select_gallery" >
<option value="">开发者账号</option>
<volist name=":get_developers_list()" id="vo">
<option value="{$vo.id}">{$vo.account}</option>
</volist>
</select>
</div>
</notempty>
<div class="input-list input-list-game search_label_rehab">
<select id="server_version" name="server_version" class="select_gallery" >
<option value="">设备类型</option>
<option value="1">安卓</option>
<option value="2">苹果</option>
</select>
</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=":get_game_list(null, $_GET['game_type'])" id="vo">
<option game-id="{$vo.id}" value="{$vo.id}">{$vo.game_name}</option>
</volist> -->
</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" id="time-start" name="timestart" class="" value="{:I('timestart')}" placeholder="开服开始时间" />
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="timeend" class="" value="{:I('timeend')}" placeholder="开服结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list search_item input-list-displaystatus">
<select name="show_status">
<option value="">显示状态</option>
<option value="1">已开启</option>
<option value="0">已关闭</option>
</select>
</div>
<input type="hidden" name="type" value="{$_GET['type']}">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('lists','model='.$model['name'] . '&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>
<input class="check-all" type="checkbox">
</th>
<th>游戏名称</th>
<th>区服名称</th>
<th>运营平台</th>
<th>显示状态</th>
<th>开服时间</th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name ="list_data">
<td colspan="7" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="list_data" id="data">
<tr>
<td><input class="ids" type="checkbox" value="{$data['id']}" name="ids[]"></td>
<td >{$data.game_name}</td>
<td >{$data.server_name}</td>
<td >{:get_systems_name($data['server_version'])}</td>
<td >
<div class="display_status">
<span class="display_butnbox">
<eq name='data.show_status' value='1'>
<a href="{:U('change_status',array('field'=>'show_status','value'=>0,'ids'=>$data['id']))}" class="ajax-get ">
已开启<!--开启-->
</a>
<else/>
<a href="{:U('change_status',array('field'=>'show_status','value'=>1,'ids'=>$data['id']))}" class="ajax-get " style="color:#ff0000">
已关闭<!--关闭-->
</a>
</eq>
</span>
</div>
</td>
<td >{:set_show_time($data['start_time'])}</td>
<td >
<a href="{:U('edit',array('model'=>$model['id'],'id'=>$data['id']))}">编辑</a>
<a class="ajax-get confirm " href="{:U('del',array('model'=>$model['id'],'ids'=>$data['id']))}">删除</a>
</td>
</tr>
</volist>
</empty>
</tbody>
</table>
</div>
<else/>
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>
<input class="check-all" type="checkbox">
</th>
<th>开发者账号</th>
<th>游戏名称</th>
<th>区服名称</th>
<th>运营平台</th>
<th>显示状态</th>
<th>开服时间</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name="list_data" >
<tr>
<td colspan="8" class="text-center"> aOh! 暂时还没有内容! </td>
</tr>
<else />
<volist name="list_data" id="data">
<tr>
<td><input class="ids" type="checkbox" value="{$data['id']}" name="ids[]"></td>
<td>{:get_developer_account($data['developers'])}</td>
<td>{$data.game_name}</td>
<td>{$data.server_name}</td>
<td>{:get_systems_name($data['server_version'])}</td>
<td>
<div class="display_status">
<span class="display_butnbox">
<eq name='data.show_status' value='1'>
<a href="{:U('change_status',array('field'=>'show_status','value'=>0,'ids'=>$data['id']))}" class="ajax-get ">
已开启<!--开启-->
</a>
<else/>
<a href="{:U('change_status',array('field'=>'show_status','value'=>1,'ids'=>$data['id']))}" class="ajax-get " style="color:#ff0000">
已关闭<!--关闭-->
</a>
</eq>
</span>
</div>
</td>
<td>{:set_show_time($data['start_time'])}</td>
</tr>
</volist>
</empty>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
<a class="sch-btn" href="{:U('Export/server_list',array_merge(['xlsname'=>'区服管理_区服列表'.((I('type',1)==2)?'_开发者区服':'_官方区服')],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="Server/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">
<script src="__STATIC__/layer/layer.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>
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('ServerNotice/lists')}");
$(function(){
//搜索功能
$("#search").click(function(){
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;
}
var start = $("#time-start").val();
var end = $("#time-end").val();
if (start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
}
window.location.href = url;
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
pickerPosition:'bottom-left'
});
var game_name = "{:I('game_name')}";
$("#server_version").change(function(){
$.ajax({
url:"{:U('Ajax/getGameList')}",
type:"get",
data:{sdk_type:$("#server_version option:selected").val()},
dataType:'json',
success:function(response){
str = '<option value="">游戏名称</option>';
// $.each(response.data, function(index, item){
// console.log(item.id);
// str += '<option value="'+item.id+' '+(promote_id && item.id == promote_id?'selected':'')+'">'+item.nickname+'</option>';
// });
data = response.data;
for (var i in data){
str += "<option value='"+data[i].relation_game_name+"' "+(game_name && data[i].relation_game_name == game_name?'selected':'')+">"+data[i].relation_game_name+"</option>"
}
$("#game_name").empty();
$("#game_name").append(str);
$("#game_name").select2();
$("#game_name").change();
}
})
});
$("#server_version").change();
var game_server = "{:I('server_name')}";
$("#game_name").change(function(){
$.ajax({
url:"{:U('Ajax/getGmeServer')}",
type:"post",
data:{sdk_version:$("#server_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();
}
})
});
})
</script>
</block>

@ -9,7 +9,7 @@ use GuzzleHttp\Client;
class GameSourceService {
const IS_FIXED_IOS13 = true;
const IS_FIXED_IOS13 = false;
const DEBUG = true;
public function __construct()
@ -92,7 +92,8 @@ class GameSourceService {
return false;
}
if (self::IS_FIXED_IOS13 && $game['sdk_version'] == 2) {
$isNewSdk = (isset($gameSource['is_new_sdk']) && $gameSource['is_new_sdk'] == 1);
if ($isNewSdk && $game['sdk_version'] == 2) {
$channelFolder = $this->getChannelConfigFolder($zip, $packData);
return $this->packChannelFolder($zip, $channelFolder);
} else {

@ -958,4 +958,54 @@ class PromoteService {
return M('promote', 'tab_')->add($data);
}
public function getLandingPageIdentifier($url)
{
$code = $this->getUrlParam($url, 'code');
if ($code === null) {
$pid = $this->getUrlParam($url, 'gid');
$gid = $this->getUrlParam($url, 'pid');
if ($gid === null || $gid === null) {
return null;
} else {
return $gid . '-' . $pid;
}
}
return $code;
}
public function getDownloadIdentifier($url)
{
$code = $this->getUrlParam($url, 'code');
if ($code === null) {
$pid = $this->getUrlParam($url, 'game_id');
$gid = $this->getUrlParam($url, 'promote_id');
if ($gid === null || $gid === null) {
return null;
} else {
return $gid . '-' . $pid;
}
}
return $code;
}
private function getUrlParam($url, $name)
{
$items = parse_url($url);
$queryString = ltrim($items['query'], 's=');
$queryString = ltrim($queryString, '/');
$queryString = rtrim($queryString, '.html');
$rows = explode('/', $queryString);
$codeIndex = null;
foreach ($rows as $key => $value) {
if ($key >= 3 && $value == $name) {
$codeIndex = $key;
break;
}
}
if ($codeIndex !== null) {
return $rows[$codeIndex + 1] ?? null;
}
return null;
}
}

@ -1190,15 +1190,15 @@ function age_verify($cardno, $name)
{
$date = age($cardno, $name);
if ($date['resp']['code'] == 0 && $date > 0) {
if ($date['status'] == "01") {
$age = floor((time() - strtotime($date['data']['birthday'])) / (60 * 60 * 24 * 365));
if ($age > 17) {
return 1;
} else {
return 2;
}
} elseif ($date['resp']['code'] != 0 && $date > 0) {
return 0;
} elseif (isset($date['status']) && $date['status'] != '01') {
return $date['status'];
} else {
return $date;
}
@ -1207,13 +1207,14 @@ function age_verify($cardno, $name)
//根据配置向接口发送身份证号和姓名进行验证
function age($cardno, $name)
{
$host = "http://idcard.market.alicloudapi.com";
$path = "/lianzhuo/idcard";
$host = "https://idcardcert.market.alicloudapi.com";
$path = "/idCardCert";
$method = "GET";
$appcode = C('tool_age.appcode');
// $appcode = C('tool_age.appcode');
$appcode = "244181f0846541a19e24df409736d3b9";
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
$querys = "cardno=" . $cardno . "&name=" . $name;
$querys ="idCard={$cardno}&name={$name}";
$bodys = "";
$url = $host . $path . "?" . $querys;
$curl = curl_init();
@ -1222,7 +1223,7 @@ function age($cardno, $name)
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
if (1 == strpos("$" . $host, "https://")) {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
@ -1231,15 +1232,11 @@ function age($cardno, $name)
if (empty($output)) {
return -1;//用完
}
if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == '200') {
$headersize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$header = substr($output, 0, $headersize);
$body = substr($output, $headersize);
curl_close($curl);
return json_decode($body, true);
} else {
return -2;//失败
}
$r = json_decode($output, true);
if ($r['status'] == "02") return 0;
return $r;
}
/*短信发送验证限制条件 */

@ -1182,13 +1182,20 @@ class DownloadController extends BaseController {
}
if (!empty(I('begtime')) && empty(I('endtime'))) {
$map['tab_spend.pay_time'] = ['egt', strtotime(I('begtime'))];
} elseif (empty(I('begtime')) && !empty(I('endtime'))) {
$map['tab_spend.pay_time'] = ['elt', strtotime(I('endtime')) + 86399];
} elseif (!empty(I('begtime')) && !empty(I('endtime'))) {
$map['tab_spend.pay_time'] = ['between', [strtotime(I('begtime')), strtotime(I('endtime')) + 86399]];
}else {
$nowTime = date('Y-m-d');
$initBegTime = date('Y-m-d', strtotime('-6 day', strtotime($nowTime)));
$initEndTime = date('Y-m-d');
$initBegTime = strtotime($initBegTime);
$initEndTime = strtotime($initEndTime);
$map['tab_spend.pay_time'] = ['between',[$initBegTime,$initEndTime]];
}
empty(I('relation_game_id')) || $map['tab_game.relation_game_id'] = I('relation_game_id');
@ -1196,7 +1203,7 @@ class DownloadController extends BaseController {
empty(I('server_id')) || $map['tab_spend.server_id'] = I('server_id');
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('order_number')) || $map['tab_spend.order_number'] = I('order_number');
empty(I('pay_order_number')) || $map['tab_spend.pay_order_number'] = I('pay_order_number');
$map['tab_spend.pay_status'] = 1;
$map['tab_spend.is_check'] = ['neq', 2];
@ -1218,7 +1225,7 @@ class DownloadController extends BaseController {
// $this->ajaxReturn(array("status" => -1, "msg" => "添加导出日志失败", 'ret' => $res));
$this->error('添加下载失败');
}
$this->success('添加下载成功',U('listsIndex'));
$this->success('添加下载成功,导出数据不包含当天',U('listsIndex'));
}
public function userRecharge_data_export() {
@ -1233,14 +1240,14 @@ class DownloadController extends BaseController {
$costBegin = I('cost_begin', ''); //充值总额范围
$costEnd = I('cost_end', '');
$nowTime = date('Y-m-d');
$initBegTime = date('Y-m-d', strtotime('-6 day', strtotime($nowTime)));
$initBegTime = empty(I('begtime')) ? $initBegTime : I('begtime');
$initBegTime = date('Y-m-d', strtotime('-7 day', strtotime($nowTime)));
$initBegTime = empty(I('begtime')) ? $initBegTime : I('begtime');
$initEndTime = $nowTime;
$initEndTime = empty(I('endtime')) ? $initEndTime : I('endtime');
$begTime = strtotime($initBegTime);
$endTime = strtotime($initEndTime);
$endTime += 3600 * 24;
$map1['chain'] = ['like','%'.'/'.PID.'/'.'%'];
$rs = M('promote','tab_')->where($map1)->field('id,account,nickname')->select();
$childPromoteIds = '';
@ -1618,9 +1625,6 @@ class DownloadController extends BaseController {
if (!empty($own_id)) {
if (!empty($map['_string'])) {
unset($map['_string']);
unset($userPlayInfoWhere['_string']);
unset($userGameLoginWhere['_string']);
unset($spendWhere['_string']);
}
$map['tab_apply.promote_id'] = $queryPromote['id'];//本账号
@ -1635,7 +1639,7 @@ class DownloadController extends BaseController {
$map["apply_time"] = ["between",[strtotime($begtime1),strtotime($endtime1)]];
}
if(!empty($begtime) && !empty($endtime)) {
$map["apply_time"] = ["between",[strtotime($begtime),strtotime($endtime) + 3600 * 24 -1]];
$map["apply_time"] = ["between",[strtotime($begtime),strtotime($endtime) + 3600 * 24]];
}
$serverField = '';
$serverJoin = '';
@ -1756,26 +1760,59 @@ class DownloadController extends BaseController {
public function registerExcelInfo($id,$map) {
$xlsName = "注册明细";
$xlsCell = array(
array('account','玩家账号'),
array('promote_account','推广账号'),
array('device_number','设备IMIE/IDFA'),
array('register_time','注册时间'),
array('register_ip','注册ip'),
array('login_time','登陆时间'),
array('login_ip','登陆ip')
'玩家账号',
'推广账号',
'设备IMIE/IDFA',
'注册时间',
'注册ip',
'登陆时间',
'登陆ip'
);
$model = M('user','tab_');
$data = $model->field('account,device_number,promote_account,register_time,register_ip,login_time,login_ip')->where($map)->order('tab_user.id desc')->select();
$xlsData = [];
foreach ($data as $key1 => $value1) {
$value1['register_time'] = date("Y-m-d H:i:s",$value1['register_time']);
$value1['login_time'] = date("Y-m-d H:i:s",$value1['login_time']);
$value1['account'] = $this->encryption($value1['account']);
$value1['device_number'] = $this->encryption($value1['device_number']);
$xlsData[] = $value1;
$data1 = $model->field('account')->where($map)->order('tab_user.id desc')->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++) {
$model = M('user','tab_');
$data = $model
->field('account,device_number,promote_account,register_time,register_ip,login_time,login_ip')
->where($map)
->limit(($i-1)*$perSize ,$perSize)
->order('tab_user.id desc')
->select();
foreach($data as $value1) {
$csvData['account'] = $this->encryption($value1['account']);
$csvData['promote_account'] = $value1['promote_account'];
$csvData['device_number'] = $this->encryption($value1['device_number']);
$csvData['register_time'] = date("Y-m-d H:i:s",$value1['register_time']);
$csvData['register_ip'] = $value1['register_ip'];
$csvData['login_time'] = date("Y-m-d H:i:s",$value1['login_time']);
$csvData['login_ip'] = $value1['login_ip'];
mb_convert_variables('GBK', 'UTF-8', $csvData);
fputcsv($fp, $csvData);
}
unset($csvData);
ob_flush();
flush();
}
$this->exportExcel($xlsName, $xlsCell, $xlsData,$id);
fclose($fp);
$this->backSuccessExport($id);
}
//玩家角色excel信息
@ -1834,12 +1871,12 @@ class DownloadController extends BaseController {
$begTime = strtotime($initBegTime);
$endTime = strtotime($initEndTime);
$params['begin_time'] = $begTime;
$params['end_time'] = $endTime +3600 * 24 -1;
$params['end_time'] = $endTime -1;
if(!empty($map['apply_time'][1])) {
$begTime = $map['apply_time'][1][0];
$endTime = $map['apply_time'][1][1];
$params['begin_time'] = $begTime;
$params['end_time'] = $endTime + 3600 * 24 -1;
$params['end_time'] = $endTime -1;
unset($map['apply_time']);
}
if(!empty($map['tab_server.server_id'])) {
@ -2484,72 +2521,141 @@ class DownloadController extends BaseController {
public function settlementExcelInfo($id,$map) {
$xlsName = "结算明细";
$xlsCell = array(
array('pay_order_number','游戏订单号'),
array('game_name','游戏'),
array('user_account','玩家账号'),
array('promote_account','推广员账号'),
array('pay_amount','订单总额'),
array('pay_amount_zhi','直充'),
array('pay_amount_nei','内充'),
array('selle_ratio','分成比例(直充)'),
array('selle_ratio','分成比例(内充)'),
array('income','收益'),
array('pay_time','充值时间'),
array('selle_status','订单状态'),
'游戏订单号',
'游戏',
'玩家账号',
'推广员账号',
'订单总额',
'直充',
'内充',
'分成比例(直充)',
'分成比例(内充)',
'收益',
'充值时间',
'订单状态',
);
$model = M('spend', 'tab_');
$data = $model->field('pay_order_number,game_name,user_account,promote_account,pay_amount,pay_way,if(selle_ratio >= 0,selle_ratio,0) as selle_ratio,pay_time,selle_status,pay_status,withdraw_id')
->where($map)
->order('id desc')
->select();
->select();
$total = [];
$total = $model->field('sum(pay_amount) as pay_amount,sum(if(pay_way > -1,pay_amount,0)) as direct_pay_amount,sum(if(pay_way = -1,pay_amount,0)) as inner_pay_amount,sum(if(selle_ratio >= 0,selle_ratio * pay_amount,0)) as income')
->where($map)
->find();
$total['direct_pay_amount'] = empty($total['direct_pay_amount']) ? '0.00' : $total['direct_pay_amount'];
$total['inner_pay_amount'] = empty($total['inner_pay_amount']) ? '0.00' : $total['inner_pay_amount'];
$total['income'] = empty($total['income']) ? 0 : $total['income'];
$total['income'] = bcdiv($total['income'], 100, 2);
//提现状态
$withdrawIds = [];
foreach ($data as $key => $value) {
if ($value['withdraw_id'] > 0 && !in_array($value['withdraw_id'], $withdrawIds)) {
$withdrawIds[] = $value['withdraw_id'];
}
}
if(empty($withdrawIds)) {
$withdrawIds = "-10000";
}
$withdrawStatus = M('withdraw', 'tab_')
->where(array('id' => ['in',$withdrawIds]))
->getField('id,status');
$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 = count($data)?:0 ;
foreach ($data as &$list) {
//提现状态
$list['pay_order_number'] = $this->encryption($list['pay_order_number']);
$list['user_account'] = $this->encryption($list['user_account']);
if ($list['pay_status'] == 1) {
switch ($list['selle_status']) {
case 0:
$list['selle_status'] = '未提现';
break;
default:
if ($list['withdraw_id'] > 0) {
$list['selle_status'] = FinanceController::$withdrawStatus[$withdrawStatus[$list['withdraw_id']]];
} else {
$list['selle_status'] = '';
}
break;
$perSize = 5000;//每次查询的条数
$pages = ceil($accessNum / $perSize);
for($i = 1; $i <= $pages; $i++) {
$data = $model->field('pay_order_number,game_name,user_account,promote_account,pay_amount,pay_way,if(selle_ratio >= 0,selle_ratio,0) as selle_ratio,pay_time,selle_status,pay_status,withdraw_id')
->where($map)
->order('id desc')
->limit(($i-1)*$perSize ,$perSize)
->select();
$withdrawIds = [];
foreach ($data as $key => $value) {
if ($value['withdraw_id'] > 0 && !in_array($value['withdraw_id'], $withdrawIds)) {
$withdrawIds[] = $value['withdraw_id'];
}
} else {
$list['selle_status'] = '支付失败';
}
$list['income'] = bcmul($list['pay_amount'], bcdiv($list['selle_ratio'], 100, 2), 2);
$list['pay_time'] = date('Y-m-d H:i:s', $list['pay_time']);
if($list['pay_way'] == -1) {
$list['pay_amount_zhi'] = 0;
$list['pay_amount_nei'] = $list['pay_amount'];
}else {
$list['pay_amount_zhi'] = $list['pay_amount'];
$list['pay_amount_nei'] = 0;
if(empty($withdrawIds)) {
$withdrawIds = "-10000";
}
}
$withdrawStatus = M('withdraw', 'tab_')
->where(array('id' => ['in',$withdrawIds]))
->getField('id,status');
foreach ($data as &$list) {
//提现状态
$list['pay_order_number'] = $this->encryption($list['pay_order_number']);
$list['user_account'] = $this->encryption($list['user_account']);
if ($list['pay_status'] == 1) {
switch ($list['selle_status']) {
case 0:
$list['selle_status'] = '未提现';
break;
default:
if ($list['withdraw_id'] > 0) {
$list['selle_status'] = FinanceController::$withdrawStatus[$withdrawStatus[$list['withdraw_id']]];
} else {
$list['selle_status'] = '';
}
break;
}
} else {
$list['selle_status'] = '支付失败';
}
$list['income'] = bcmul($list['pay_amount'], bcdiv($list['selle_ratio'], 100, 2), 2);
$list['pay_time'] = date('Y-m-d H:i:s', $list['pay_time']);
if($list['pay_way'] == -1) {
$list['pay_amount_zhi'] = 0;
$list['pay_amount_nei'] = $list['pay_amount'];
}else {
$list['pay_amount_zhi'] = $list['pay_amount'];
$list['pay_amount_nei'] = 0;
}
$csvData["pay_order_number"] = $list["pay_order_number"];
$csvData["game_name"] = $list["game_name"];
$csvData["user_account"] = $list["user_account"];
$csvData["promote_account"] = $list["promote_account"];
$csvData["pay_amount"] = $list["pay_amount"];
$csvData["pay_amount_zhi"] = $list["pay_amount_zhi"];
$csvData["pay_amount_nei"] = $list["pay_amount_nei"];
$csvData["selle_ratio"] = $list["selle_ratio"];
$csvData["selle_ratio1"] = $list["selle_ratio"];
$csvData["income"] = $list["income"];
$csvData["pay_time"] = $list["pay_time"];
$csvData["selle_status"] = $list["selle_status"];
mb_convert_variables('GBK', 'UTF-8', $csvData);
fputcsv($fp, $csvData);
$xlsData[] = $csvData;
}
unset($xlsData);
ob_flush();
flush();
}
$allData['pay_order_number'] = '合计';
$allData['game_name'] = '--';
$allData['user_account'] = '--';
$allData['promote_account'] = '--';
$allData['pay_amount'] = $total['pay_amount'];
$allData['pay_amount_zhi'] = $total['direct_pay_amount'];
$allData['pay_amount_nei'] = $total['inner_pay_amount'];
$allData['selle_ratio'] = '--';
$allData['selle_ratio1'] = '--';
$allData['income'] = $total['income'];
$allData['pay_time'] = '--';
$allData['selle_status'] = '--';
mb_convert_variables('GBK', 'UTF-8', $allData);
fputcsv($fp, $allData);
$xlsData[] = $allData;
fclose($fp);
$this->backSuccessExport($id);
$xlsData = $data;
$this->exportExcel($xlsName, $xlsCell, $xlsData,$id);
// $this->exportExcel($xlsName, $xlsCell, $xlsData,$id);
}
@ -2663,7 +2769,20 @@ class DownloadController extends BaseController {
$spendGenericList = $spendRepository->getPayAmountGroupByDayAndType($params);//通用币充值
$params['pay_way'] = -1;
$spendBindingList = $spendRepository->getPayAmountGroupByDayAndType($params);//绑定币充值
$allData['role_num'] = 0;
$allData['user_num'] = 0;
$allData['new_user_num'] = 0;
$allData['new_device_num'] = 0;
$allData['new_ip_num'] = 0;
$allData['login_user_num'] = 0;
$allData['spend_user_num'] = 0;
$allData['spend_num'] = 0;
$allData['spend_all_amount'] = 0;
$allData['spend_cash'] = 0;
$allData['spend_generic'] = 0;
$allData['spend_binding'] = 0;
$allData['spend_discount'] = 0;
$allData['spend_voucher'] = 0;
foreach ($params['dayList'] as $day) {
$date = date('Ymd', strtotime($day));
$records[] = [
@ -2683,12 +2802,29 @@ class DownloadController extends BaseController {
'spend_discount' => 0,
'spend_voucher' => 0,
];
$allData['role_num'] += $roleNumList[$day];
$allData['user_num'] += $userNumList[$day];
$allData['new_user_num'] += $newUserNumList[$day];
$allData['new_device_num'] += $newDeviceNumList[$day];
$allData['new_ip_num'] += $newIpNumList[$day];
$allData['login_user_num'] += $loginUserNumList[$day];
$allData['spend_user_num'] += $spendUserNumList[$day];
$allData['spend_num'] += $spendNumList[$day];
$allData['spend_all_amount'] = bcadd($allData['spend_all_amount'], $spendAllAmountList[$day], 2);
$allData['spend_cash'] = bcadd($allData['spend_cash'], $spendCashList[$day], 2);
$allData['spend_generic'] = bcadd($allData['spend_generic'], $spendGenericList[$day], 2);
$allData['spend_binding'] = bcadd($allData['spend_binding'], $spendBindingList[$day], 2);
$allData['spend_discount'] = bcadd($allData['spend_discount'], 0, 2);
$allData['spend_voucher'] = bcadd($allData['spend_voucher'], 0, 2);
}
$allData['day'] = '合计';
$records[] = $allData;
$xlsData = [];
foreach ($records as $key1 => $value1) {
$xlsData[] = $value1;
}
$this->exportExcel($xlsName, $xlsCell, $xlsData,$id);
}
@ -2819,18 +2955,18 @@ class DownloadController extends BaseController {
public function userRechargeExcelInfo($id,$map) {
$xlsName = "充值玩家";
$xlsCell = array(
array('user_account','玩家账号'),
array('game_name','游戏名称'),
array('server_name','游戏区服'),
array('sdk_version','平台'),
array('role_name','角色名'),
array('role_level','等级'),
array('recharge_cost','充值总额'),
array('recharge_count','充值次数'),
array('recharge_cost_today','昨日充值'),
array('unlogin_day','未登录天数'),
array('play_time','最后登录时间'),
array('promote_account','推广员账号'),
'玩家账号',
'游戏名称',
'游戏区服',
'平台',
'角色名',
'等级',
'充值总额',
'充值次数',
'昨日充值',
'未登录天数',
'最后登录时间',
'推广员账号',
);
$subMap = [];
@ -2879,55 +3015,96 @@ class DownloadController extends BaseController {
->buildSql();
$map['_string'] = 'ui.role_id in (' . $subQuery . ')';
}
$map['uc.create_time'] = ['between', [$map['begintime'], $map['endtime'] - 1]];
$secondDay = 24*3600 + 1;
$map['uc.create_time'] = ['between', [$map['begintime'], $map['endtime'] - $secondDay]];
unset($map['begintime']);
unset($map['endtime']);
//$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;
$subQuery = M('user_play_data_count', 'tab_')->alias('uc')
->field($field)
->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')
->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')
->where($map)
->group('uc.role_id,uc.server_id,uc.game_id')
->buildSql();
$roles = M()->alias('record')
->table($subQuery)
->select();
foreach ($roles as $role) {
$records[] = [
'user_account' => encryption($role['user_account']),
'game_name' => $role['game_name'],
'role_name' => $role['role_name'],
'role_id' => $role['role_id'],
'role_level' => $role['role_level'],
'server_id' => $role['server_id'],
'server_name' => $role['server_name'],
'recharge_cost' => empty($role['recharge_cost']) ? 0 : $role['recharge_cost'],
'recharge_count' => empty($role['recharge_count']) ? 0 : $role['recharge_count'],
'recharge_cost_today' => empty($role['recharge_cost_today']) ? 0 : $role['recharge_cost_today'],
'play_time' => $role['play_time'],
'play_ip' => $role['play_ip'],
'promote_id' => $role['promote_id'],
'promote_account' => $role['promote_account'],
'sdk_version' => $role['sdk_version'],
'unlogin_day' => intval((strtotime(date('Y-m-d 00:00:00')) - strtotime(date('Y-m-d 00:00:00', $role['play_time']))) / (24 * 3600))
];
}
$total = [];
$total = M('user_play_data_count', 'tab_')->alias('uc')
->field($fieldUC)
->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')
->where($map)
->find();
$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($roles)?:0 ;
$xlsData = [];
foreach ($records as $key1 => $value1) {
$value1['user_account'] = $this->encryption($value1['user_account']);
$value1['play_time'] = date('Y-m-d H:i:s',$value1['play_time']);
if($value1['sdk_version'] == 1) {
$value1['sdk_version'] = "Android";
}else {
$value1['sdk_version'] = "ios";
}
$xlsData[] = $value1;
}
$this->exportExcel($xlsName, $xlsCell, $xlsData,$id);
$perSize = 5000;//每次查询的条数
$pages = ceil($accessNum / $perSize);
for($i = 1; $i <= $pages; $i++) {
$data = M()->alias('record')
->table($subQuery)
->limit(($i-1)*$perSize ,$perSize)
->select();
foreach($data as $key => $value) {
$csvData['user_account'] = empty($value['user_account']) ? '--' : encryption($value['user_account']);
$csvData['game_name'] = empty($value['game_name']) ? '--' :$value['game_name'];
$csvData['server_name'] = empty($value['server_name']) ? '--' :$value['server_name'];
if($value['sdk_version'] == 1) {
$csvData['sdk_version'] = "Android";
}else if($value['sdk_version'] == 2) {
$csvData['sdk_version'] = "ios";
} else {
$csvData['sdk_version'] = "--";
}
$csvData['role_name'] = empty($value['role_name']) ? '--' :$value['role_name'];
$csvData['role_level'] = empty($value['role_level']) ? '--' :$value['role_level'];
$csvData['recharge_cost'] = empty($value['recharge_cost']) ? 0 : $value['recharge_cost'];
$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['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'];
mb_convert_variables('GBK', 'UTF-8', $csvData);
fputcsv($fp, $csvData);
$xlsData[] = $csvData;
}
unset($xlsData);
ob_flush();
flush();
}
$allData['user_account'] = '合计';
$allData['game_name'] = '--';
$allData['server_name'] = '--';
$allData['sdk_version'] = '--';
$allData['role_name'] = '--';
$allData['role_level'] = '--';
$allData['recharge_cost'] = $total['recharge_cost'];
$allData['recharge_count'] = $total['recharge_count'];
$allData['recharge_cost_today'] = $total['recharge_cost_today'];
$allData['unlogin_day'] = '--';
$allData['play_time'] = '--';
$allData['promote_account'] = '--';
mb_convert_variables('GBK', 'UTF-8', $allData);
fputcsv($fp, $allData);
$xlsData[] = $allData;
fclose($fp);
$this->backSuccessExport($id);
}
public function rechargeExcelInfo($id,$map) {
@ -2969,66 +3146,111 @@ class DownloadController extends BaseController {
$perSize = 5000;//每次查询的条数
$pages = ceil($accessNum / $perSize);
for($i = 1; $i <= $pages; $i++) {
$model = M('spend','tab_');
$data = $model
->field('tab_spend.*,tab_promote.account as pro_account,tab_promote.real_name as pro_real_name,tab_promote.chain as chain')
->join('tab_game on tab_spend.game_id = tab_game.id')
->join('left join tab_promote on tab_spend.promote_id = tab_promote.id')
->where($map)
->limit(($i-1)*$perSize ,$perSize)
->order('tab_spend.id desc')
->select();
foreach ($data as $key1 => $value1) {
$value1['pay_way'] = $this->payWay[$value1['pay_way']];
$value1['pay_time'] = date('Y-m-d H:i:s',$value1['pay_time']);
$value1['p_p_proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')';
$value1['p_proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')';
$value1['proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')';
// $value1['user_account'] = substr_replace($value1['user_account'],'************',3,12);
$value1['user_account'] = $this->encryption($value1['user_account']);
$value1['order_number'] = $this->encryption($value1['order_number']);
if(!empty($value1['chain'])) {
$chain = trim($value1['chain'],'/');
$chainArr = explode('/', $chain);
if(!empty($chainArr[1])) {
$thisPromoteData1 = D('Promote')
->field('account,real_name')
->where(array('id' => $chainArr[1]))
->find();
$value1['p_p_proinfo'] = $thisPromoteData1['account'].'('.$thisPromoteData1['real_name'].')'; //部门长
}
if(!empty($chainArr[2])) {
$thisPromoteData2 = D('Promote')
->field('account,real_name')
->where(array('id' => $chainArr[2]))
->find();
$value1['p_proinfo'] = $thisPromoteData2['account'].'('.$thisPromoteData2['real_name'].')'; //组长
}
}
$csvData["user_account"] = $value1["user_account"];
$csvData["order_number"] = $value1["order_number"];
$csvData["pay_amount"] = $value1["pay_amount"];
$csvData["pay_way"] = $value1["pay_way"];
$csvData["game_name"] = $value1["game_name"];
$csvData["server_name"] = $value1["server_name"];
$csvData["game_player_name"] = $value1["game_player_name"];
$csvData["p_p_proinfo"] = $value1["p_p_proinfo"];
$csvData["p_proinfo"] = $value1["p_proinfo"];
$csvData["proinfo"] = $value1["proinfo"];
$csvData["pay_time"] = $value1["pay_time"];
mb_convert_variables('GBK', 'UTF-8', $csvData);
fputcsv($fp, $csvData);
$xlsData[] = $csvData;
}
unset($xlsData);
ob_flush();
flush();
}
fclose($fp);
$this->backSuccessExport($id);
$promoteIdData = [];
$promoteData = [];
for($i = 1; $i <= $pages; $i++) {
$model = M('spend','tab_');
$data = $model
->field('tab_spend.*,tab_promote.account as pro_account,tab_promote.real_name as pro_real_name,tab_promote.chain as chain,tab_promote.level,tab_promote.parent_id')
->join('tab_game on tab_spend.game_id = tab_game.id')
->join('left join tab_promote on tab_spend.promote_id = tab_promote.id')
->where($map)
->limit(($i-1)*$perSize ,$perSize)
->order('tab_spend.id desc')
->select();
foreach ($data as $list) {
switch ($list['level']) {
case 3:
$promoteIdData[] = $list['parent_id'];
break;
case 4:
$promoteIdData[] = $list['parent_id'];
$chain = trim($list['chain'], '/');
$chainArr = explode('/', $chain);
$promoteIdData[] = $chainArr[1];
break;
}
}
if (!empty($promoteIdData)) {
$promoteIdData = array_unique($promoteIdData);
$promoteData = M('promote', 'tab_')->where(array('id' => ['in',$promoteIdData]))->getField('id,account,real_name');
}
foreach ($data as $key1 => $value1) {
$value1['pay_way'] = $this->payWay[$value1['pay_way']];
$value1['pay_time'] = date('Y-m-d H:i:s',$value1['pay_time']);
$value1['p_p_proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')';
$value1['p_proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')';
$value1['proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')';
// $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']);
switch ($value1['level']) {
case 3:
$value1['p_p_pro_account'] = $promoteData[$value1['parent_id']]['account'];
$value1['p_p_pro_real_name'] = $promoteData[$value1['parent_id']]['real_name'];
$value1['p_pro_account'] = $value1['pro_account'];
$value1['p_pro_real_name'] = $value1['pro_real_name'];
break;
case 4:
$promoteIdData[] = $value1['parent_id'];
$chain = trim($value1['chain'], '/');
$chainArr = explode('/', $chain);
$value1['p_p_pro_account'] = $promoteData[$chainArr[1]]['account'];
$value1['p_p_pro_real_name'] = $promoteData[$chainArr[1]]['real_name'];
$value1['p_pro_account'] = $promoteData[$value1['parent_id']]['account'];
$value1['p_pro_real_name'] = $promoteData[$value1['parent_id']]['real_name'];
break;
}
$value1['p_p_proinfo'] = $value1['p_p_pro_account'].'('.$value1['p_p_pro_real_name'].')'; //部门长
$value1['p_proinfo'] = $value1['p_pro_account'].'('.$value1['p_pro_real_name'].')'; //组长
unset($value1['p_p_pro_account']);
unset($value1['p_p_pro_real_name']);
unset($value1['p_pro_account']);
unset($value1['p_pro_real_name']);
$csvData["user_account"] = $value1["user_account"];
$csvData["pay_order_number"] = $value1["pay_order_number"];
$csvData["pay_amount"] = $value1["pay_amount"];
$csvData["pay_way"] = $value1["pay_way"];
$csvData["game_name"] = $value1["game_name"];
$csvData["server_name"] = $value1["server_name"];
$csvData["game_player_name"] = $value1["game_player_name"];
$csvData["p_p_proinfo"] = $value1["p_p_proinfo"];
$csvData["p_proinfo"] = $value1["p_proinfo"];
$csvData["proinfo"] = $value1["proinfo"];
$csvData["pay_time"] = $value1["pay_time"];
mb_convert_variables('GBK', 'UTF-8', $csvData);
fputcsv($fp, $csvData);
$xlsData[] = $csvData;
}
unset($xlsData);
ob_flush();
flush();
}
$income = '0.00';
$income = M('Spend', 'tab_')
->field('sum(tab_spend.pay_amount) as income')
->join('tab_game on tab_spend.game_id = tab_game.id')
->join('left join tab_promote on tab_spend.promote_id = tab_promote.id')
->where($map)
->order('tab_spend.id desc')
->find()['income'];
$csvData1["user_account"] = "合计";
$csvData1["pay_order_number"] = "--";
$csvData1["pay_amount"] = $income;
$csvData1["pay_way"] = "--";
$csvData1["game_name"] = "--";
$csvData1["server_name"] = "--";
$csvData1["game_player_name"] = "--";
$csvData1["p_p_proinfo"] = "--";
$csvData1["p_proinfo"] = "--";
$csvData1["proinfo"] = "--";
$csvData1["pay_time"] = "--";
mb_convert_variables('GBK', 'UTF-8', $csvData1);
fputcsv($fp, $csvData1);
$xlsData[] = $csvData1;
fclose($fp);
$this->backSuccessExport($id);
}
public function backSuccessExport($id) { //导出成功后

@ -182,6 +182,7 @@ class FinanceController extends BaseController
$parameter['endtime'] = $initEndTime;
$data = [];
$total = [];
$count = 0;
if (intval($endTime - $begTime) / (24 * 3600) <= 31) {
$withdrawIds = [];
@ -222,6 +223,13 @@ class FinanceController extends BaseController
->page($page, $row)
->select();
$count = $model->where($map)->count();
$total = $model->field('sum(pay_amount) as pay_amount,sum(if(pay_way > -1,pay_amount,0)) as direct_pay_amount,sum(if(pay_way = -1,pay_amount,0)) as inner_pay_amount,sum(if(selle_ratio >= 0,selle_ratio * pay_amount,0)) as income')
->where($map)
->find();
$total['direct_pay_amount'] = empty($total['direct_pay_amount']) ? '0.00' : $total['direct_pay_amount'];
$total['inner_pay_amount'] = empty($total['inner_pay_amount']) ? '0.00' : $total['inner_pay_amount'];
$total['income'] = empty($total['income']) ? 0 : $total['income'];
$total['income'] = bcdiv($total['income'], 100, 2);
//提现状态
if (empty($withdrawIds)) {
@ -264,6 +272,7 @@ class FinanceController extends BaseController
$this->assign('listData', $data);
$this->assign('count', $count);
$this->assign('total', $total);
$this->assign('initBegTime', $initBegTime);
$this->assign('initEndTime', $initEndTime);
$this->assign('_page', $page);

@ -142,8 +142,9 @@ class HomeController extends Controller
$this->error('访问错误');
}
$blackList = M('device_bans', 'tab_')->where(['type' => 3])->getField('tag', true);
if (in_array($code, $blackList) || in_array('gid/' . $gameId . '/pid/' . $promoteId, $blackList)) {
$identifier = $code != '' ? $code : 'gid/' . $gameId . '/pid/' . $promoteId;
$isBlack = M('device_bans', 'tab_')->where(['type' => 3, 'tag' => ['like', '%' . $identifier . '%']])->limit(1)->getField('id');
if ($isBlack) {
$this->error('该链接已被禁');
}
@ -197,7 +198,7 @@ class HomeController extends Controller
->find();
$game['icon'] = get_cover($game['icon'], 'path');
$gameSource = M('GameSource', 'tab_')->field(['create_time', 'org_plist_url'])->where(array('game_id' => $game['id']))->find();
$gameSource = M('GameSource', 'tab_')->field(['create_time', 'org_plist_url', 'is_new_sdk'])->where(array('game_id' => $game['id']))->find();
$imageIds = explode(',', $game['flooring_page_imgs']) ?? [];
$imageUrls = [];
@ -207,9 +208,9 @@ class HomeController extends Controller
$game['flooring_page_imgs'] = $imageUrls;
$isNewIos = false;
/* if ($gameSource['create_time'] > strtotime(date('2019-11-27 00:00:00'))) {
if ($gameSource['is_new_sdk'] == 1) {
$isNewIos = true;
} */
}
$downloadUrl = '';
if (!$isNewIos && $isIOS13) {
@ -230,7 +231,30 @@ class HomeController extends Controller
$this->assign('promoteId', $promoteId);
$cur_url = base64_encode(base64_encode("http://" . $_SERVER['HTTP_HOST'] . __SELF__));
$this->assign('cur_url', $cur_url);
$this->display('landingPage');
if ($this->get_device_type() == 'ios') {
$this->display('landingPage');
} else {
$this->display('landingPage2');
}
}
private function get_device_type()
{
//全部变成小写字母
$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
$type = 'other';
//分别进行判断
if(strpos($agent, 'iphone') || strpos($agent, 'ipad'))
{
$type = 'ios';
}
if(strpos($agent, 'android'))
{
$type = 'android';
}
return $type;
}

@ -35,8 +35,9 @@ class PackageController extends Controller
$this->redirect("package/downloadError", ['message' => '访问错误']);
}
$blackList = M('device_bans', 'tab_')->where(['type' => 4])->getField('tag', true);
if (in_array($code, $blackList) || in_array('game_id/' . $gameId . '/promote_id/' . $promoteId, $blackList)) {
$identifier = $code != '' ? $code : 'game_id/' . $gameId . '/promote_id/' . $promoteId;
$isBlack = M('device_bans', 'tab_')->where(['type' => 4, 'tag' => ['like', '%' . $identifier . '%']])->limit(1)->getField('id');
if ($isBlack) {
$this->redirect("package/downloadError", ['message' => '该链接已被禁']);
}
if ($code != '') {

@ -424,7 +424,7 @@ class PromoteCoinController extends BaseController
$targetAccount = isset($promotes[$log['target_id']]) ? $promotes[$log['target_id']]['account'] : '未知推广账号';
}
if ($log['target_type'] == 2) {
$targetAccount = isset($promotes[$log['target_id']]) ? $promotes[$log['target_id']]['account'] : '未知玩家';
$targetAccount = isset($users[$log['target_id']]) ? $users[$log['target_id']]['account'] : '未知玩家';
}
$records[] = [
'id' => $log['id'],

@ -100,7 +100,7 @@ class PromoteController extends BaseController
$today_start = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$today_end = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1;
$today_open_server_list = M("server as sv", "tab_")
$today_open_server_list = M("ServerNotice as sv", "tab_")
->where(
array("sv.start_time" => array("BETWEEN", array($today_start, $today_end)),
"sv.show_status" => 1))
@ -110,7 +110,7 @@ class PromoteController extends BaseController
->page(1, 20)
->select();
$count = M("server", "tab_")
$count = M("ServerNotice", "tab_")
->where(
array("start_time" => array("BETWEEN", array($today_start, $today_end)),
"show_status" => 1))
@ -240,121 +240,79 @@ class PromoteController extends BaseController
private function caculateSpend($pay_time, $condition, $create = [], $type = 0)
{
$map1['promote_id'] = $map['promote_id'] = array('egt', 0);
$map['promote_id'] = array('egt', 0);
$spend = M('Spend', 'tab_');
$map1['pay_status'] = $map['pay_status'] = 1;
$map['pay_status'] = 1;
$today = total(1);
$yesterday = total(5);
$week = total(2);
$mounth = total(3);
unset( $map['create_time']);
$promote_id = get_pid();
$promoteId = M("promote", "tab_")
->field("id")
->where(array('chain' => ['like', '/'.$promote_id . '/%'],'id'=>$promote_id,'_logic'=>'or'))
->select();
$promoteId = implode(',',array_column($promoteId,'id'));
$whereUser['promote_id'] = ['IN', $promoteId];
if ($type == 1) {
$pay_time = total(1);
$start = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$end = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1;
$whereUser['register_time'] = ['between', array($start, $end - 1)];
$userId = M('user', 'tab_')->field('id')->where($whereUser)->select();
} else if ($type == 2) {
$pay_time = total(3);
$start = mktime(0, 0, 0, date('m'), 1, date('Y'));
$end = mktime(0, 0, 0, date('m') + 1, 1, date('Y')) - 1;
$this->getLoginPromote();
$promoteId = $this->loginPromote['id'];
$promoteIds = M("promote", "tab_")
->where(array('chain' => ['like', $this->loginPromote['chain'] . $promoteId . '/%']))
->getField('id', true);
$promoteIds[] = $promoteId;
$map['promote_id'] = ['IN', $promoteIds];
if (in_array($type, [1, 2])) {
$whereUser['promote_id'] = $map['promote_id'];
if ($type == 1) {
$pay_time = total(1);
$start = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$end = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1;
} else {
$pay_time = total(3);
$start = mktime(0, 0, 0, date('m'), 1, date('Y'));
$end = mktime(0, 0, 0, date('m') + 1, 1, date('Y')) - 1;
}
$whereUser['register_time'] = ['between', array($start, $end - 1)];
$userId = M('user', 'tab_')->field('id')->where($whereUser)->select();
}
// if ($userId) {
// var_dump($userId);
// }
if ($userId) {
$userId = M('user', 'tab_')->where($whereUser)->getField('id', true);
$userId = implode(',', array_column($userId, 'id'));
// var_dump($userId);
$map1['user_id'] = $map['user_id'] = ['IN', $userId];
} else if (!$userId && $type != 0) {
return array('sum_mounth' => 0, 'sum_today' => 0);
if ($userId) {
$map['user_id'] = ['IN', $userId];
} else if (!$userId && $type != 0) {
return array('sum_mounth' => 0, 'sum_today' => 0);
}
}
//获取所有会长
$promote_map = "`chain` = '%/{$promote_id}/%' OR id = {$promote_id}";
$promote = M("promote","tab_")->field("id,account")->where($promote_map)->select();
$data =array();
for ($i=0; $i < count($promote); $i++) {
# code...
$proid = M("promote","tab_")->field("id")->where("`chain` like '%/{$promote[$i]['id']}/%'")->select();
$str = '';
for($k=0; $k<count($proid); $k++){
# code...
$str .= ($proid[$k]['id'].",");
if (isset($_REQUEST['game_name'])) {
$map['game_name'] = $_REQUEST['game_name'];
if (isset($_REQUEST['server_id'])) {
$map['server_name'] = $_REQUEST['server_id'];
unset($_REQUEST['server_id']);
}
$str .= "{$promote[$i]['id']}";
$map['promote_id'] = array("in",$str);
if (isset($_REQUEST['game_name'])) {
$map['game_name'] = $_REQUEST['game_name'];
if (isset($_REQUEST['server_id'])) {
$map['server_name'] = $_REQUEST['server_id'];
unset($_REQUEST['server_id']);
}
$dbdata = $spend
->field('
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as count,
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today,
$data = $spend
->field('
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as sum_count,
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as sum_today,
floor(sum(IF(pay_time ' . $yesterday . ',pay_amount,0))*100) as yesterday,
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as week,
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as mounth')
->where($map)
->where("pay_time".$pay_time)
->find();
$dbdata['promote_account'] = $promote[$i]['account'];
} else {
$dbdata = $spend
->field('
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as count,
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today,
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as sum_week,
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as sum_mounth')
->where($map)
->where("pay_time".$pay_time)
->find();
} else {
$data = $spend
->field('
floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as sum_count,
floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as sum_today,
floor(sum(IF(pay_time ' . $yesterday . ',pay_amount,0))*100) as yesterday,
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as week,
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as mounth')
->where($map)
->where("pay_time".$pay_time)
->find();
$dbdata['promote_account'] = $promote[$i]['account'];
}
$data[] = $dbdata;
}
// if ($userId) {
// echo $spend->_sql();die();
// }
foreach ($data as $key => $value) {
$value['count'] ?: 0;
$value['today'] ?: 0;
$value['week'] ?: 0;
$value['mounth'] ?: 0;
static $i = 0;
$i++;
$data[$key]['rand'] = $i;
$data[$key]['count'] = $value['count'] / 100;
$data[$key]['today'] = $value['today'] / 100;
$data[$key]['yesterday'] = $value['yesterday'] / 100;
$data[$key]['week'] = $value['week'] / 100;
$data[$key]['mounth'] = $value['mounth'] / 100;
}
$total = $this->data_total($data);
return $total;
//
floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as sum_week,
floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as sum_mounth')
->where($map)
->where("pay_time".$pay_time)
->find();
}
$data['sum_count'] = empty($data['sum_count']) ? 0 : bcdiv($data['sum_count'], 100 ,2);
$data['sum_today'] = empty($data['sum_today']) ? 0 : bcdiv($data['sum_today'], 100 ,2);
$data['yesterday'] = empty($data['yesterday']) ? 0 : bcdiv($data['yesterday'], 100 ,2);
$data['sum_week'] = empty($data['sum_week']) ? 0 : bcdiv($data['sum_week'], 100 ,2);
$data['sum_mounth'] = empty($data['sum_mounth']) ? 0 : bcdiv($data['sum_mounth'], 100 ,2);
return $data;
}
public function data_total($data)
@ -484,7 +442,7 @@ class PromoteController extends BaseController
$map['sv.show_status'] = 1;
$count_map['show_status'] = 1;
$open_server_list = M("server as sv", "tab_")
$open_server_list = M("ServerNotice as sv", "tab_")
->where($map)
->join("left join tab_game gm on gm.id=sv.game_id")
->field('sv.*,gm.icon')
@ -492,7 +450,7 @@ class PromoteController extends BaseController
->page($pg, 20)
->select();
$count = M("server", "tab_")
$count = M("ServerNotice", "tab_")
->where($count_map)
->count();
//var_dump($count);

@ -32,7 +32,7 @@ class QueryController extends BaseController
$serverId = trim(I('server_id', ''));
$gamePlayerName = trim(I('game_player_name', ''));
$userAccount = trim(I('user_account', ''));
$orderNumber = trim(I('order_number', ''));
$payOrderNumber = trim(I('pay_order_number', ''));
$nowTime = date('Y-m-d');
$initBegTime = date('Y-m-d', strtotime('-6 day', strtotime($nowTime)));
$initBegTime = empty(I('begtime')) ? $initBegTime : I('begtime');
@ -71,8 +71,8 @@ class QueryController extends BaseController
if (!empty($userAccount)) {
$map['tab_spend.user_account'] = $userAccount;
}
if (!empty($orderNumber)) {
$map['tab_spend.order_number'] = $orderNumber;
if (!empty($payOrderNumber)) {
$map['tab_spend.pay_order_number'] = $payOrderNumber;
}
if (isset($_REQUEST['pay_way']) && $_REQUEST['pay_way'] !== '') {
$payWay = intval(I('pay_way'));
@ -91,9 +91,10 @@ class QueryController extends BaseController
$data = [];
$count = 0;
$income = '0.00';
if (intval($endTime - $begTime) / (24 * 3600) <= 31) {
$data = M('Spend', 'tab_')
->field('tab_spend.*,tab_promote.account as pro_account,tab_promote.real_name as pro_real_name,tab_promote.chain as chain')
->field('tab_spend.*,tab_promote.account as pro_account,tab_promote.real_name as pro_real_name,tab_promote.chain as chain,tab_promote.level,tab_promote.parent_id')
->join('tab_game on tab_spend.game_id = tab_game.id')
->join('left join tab_promote on tab_spend.promote_id = tab_promote.id')
->where($map)
@ -105,39 +106,64 @@ class QueryController extends BaseController
->join('tab_game on tab_spend.game_id = tab_game.id')
->where($map)
->count();
$income = M('Spend', 'tab_')
->field('sum(tab_spend.pay_amount) as income')
->join('tab_game on tab_spend.game_id = tab_game.id')
->join('left join tab_promote on tab_spend.promote_id = tab_promote.id')
->where($map)
->order('tab_spend.id desc')
->find()['income'];
}
if (!empty($data)) {
$promoteIdData = [];
foreach ($data as $list) {
switch ($list['level']) {
case 3:
$promoteIdData[] = $list['parent_id'];
break;
case 4:
$promoteIdData[] = $list['parent_id'];
$chain = trim($list['chain'], '/');
$chainArr = explode('/', $chain);
$promoteIdData[] = $chainArr[1];
break;
}
}
$promoteData = [];
if (!empty($promoteIdData)) {
$promoteIdData = array_unique($promoteIdData);
$promoteData = M('promote', 'tab_')->where(array('id' => ['in',$promoteIdData]))->getField('id,account,real_name');
}
foreach ($data as &$list) {
$list['p_p_pro_account'] = $list['pro_account'];
$list['p_p_pro_real_name'] = $list['pro_real_name'];
$list['p_pro_account'] = $list['pro_account'];
$list['p_pro_real_name'] = $list['pro_real_name'];
if (!empty($list['chain'])) {
$chain = trim($list['chain'], '/');
$chainArr = explode('/', $chain);
if (!empty($chainArr[1])) {
$thisPromoteData1 = D('Promote')
->field('account,real_name')
->where(array('id' => $chainArr[1]))
->find();
$list['p_p_pro_account'] = $thisPromoteData1['account']; //部门长
$list['p_p_pro_real_name'] = $thisPromoteData1['real_name'];
}
if (!empty($chainArr[2])) {
$thisPromoteData2 = D('Promote')
->field('account,real_name')
->where(array('id' => $chainArr[2]))
->find();
$list['p_pro_account'] = $thisPromoteData2['account']; //组长
$list['p_pro_real_name'] = $thisPromoteData2['real_name'];
}
switch ($list['level']) {
case 1:
case 2:
$list['p_p_pro_account'] = $list['pro_account'];
$list['p_p_pro_real_name'] = $list['pro_real_name'];
$list['p_pro_account'] = $list['pro_account'];
$list['p_pro_real_name'] = $list['pro_real_name'];
break;
case 3:
$list['p_p_pro_account'] = $promoteData[$list['parent_id']]['account'];
$list['p_p_pro_real_name'] = $promoteData[$list['parent_id']]['real_name'];
$list['p_pro_account'] = $list['pro_account'];
$list['p_pro_real_name'] = $list['pro_real_name'];
break;
case 4:
$promoteIdData[] = $list['parent_id'];
$chain = trim($list['chain'], '/');
$chainArr = explode('/', $chain);
$list['p_p_pro_account'] = $promoteData[$chainArr[1]]['account'];
$list['p_p_pro_real_name'] = $promoteData[$chainArr[1]]['real_name'];
$list['p_pro_account'] = $promoteData[$list['parent_id']]['account'];
$list['p_pro_real_name'] = $promoteData[$list['parent_id']]['real_name'];
break;
}
$list['user_account'] = substr($list['user_account'], 0, 2) . '******' . substr($list['user_account'], 8);
//订单隐藏算法
$orderLen = strlen($list['order_number']);
$orderLen = strlen($list['pay_order_number']);
$strLen = 4;
$hideChar = '';
@ -149,7 +175,7 @@ class QueryController extends BaseController
$hideChar .= '*';
}
$list['order_number'] = substr($list['order_number'], 0, $strLen) . $hideChar . substr($list['order_number'], $orderLen - $strLen);
$list['pay_order_number'] = substr($list['pay_order_number'], 0, $strLen) . $hideChar . substr($list['pay_order_number'], $orderLen - $strLen);
}
}
@ -163,7 +189,7 @@ class QueryController extends BaseController
$parameter['server_id'] = $serverId;
$parameter['game_player_name'] = $gamePlayerName;
$parameter['user_account'] = $userAccount;
$parameter['order_number'] = $orderNumber;
$parameter['pay_order_number'] = $payOrderNumber;
$parameter['own_id'] = $ownId;
$parameter['level_promote_2'] = $levelPromote[0];
$parameter['level_promote_3'] = $levelPromote[1];
@ -177,6 +203,7 @@ class QueryController extends BaseController
}
$this->assign('listData', $data);
$this->assign('count', $count);
$this->assign('income', $income);
$this->assign('initBegTime', $initBegTime);
$this->assign('initEndTime', $initEndTime);
$this->assign('setdate', date("Y-m-d"));
@ -1736,6 +1763,7 @@ class QueryController extends BaseController
$records = [];
$pagination = '';
$count = 0;
$total = [];
if (intval($endTime - $begTime) / (24 * 3600) <= 31) {
$map['chain'] = ['like', $queryPromote['chain'] . $queryPromote['id'] . '/%'];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
@ -1817,19 +1845,31 @@ class QueryController extends BaseController
$field = $fieldUC . ',' . $fieldUI;
$subQuery = M('user_play_data_count', 'tab_')->alias('uc')
->field($field)
->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')
->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')
->where($map)
->group('uc.role_id,uc.server_id,uc.game_id')
->buildSql();
$query = M()->alias('record')
->table($subQuery)
->order($orderBy);
$total = M('user_play_data_count', 'tab_')->alias('uc')
->field($fieldUC)
->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')
->where($map)
->find();
list($records, $pagination, $count) = $this->paginate($query);
foreach ($records as &$list) {
$list['user_account'] = encryption($list['user_account']);
$list['unlogin_day'] = intval((strtotime(date('Y-m-d 00:00:00')) - strtotime(date('Y-m-d 00:00:00', $list['play_time']))) / (24 * 3600));
$list['user_account'] = empty($list['user_account']) ? '--' : encryption($list['user_account']);
$list['game_name'] = empty($list['game_name']) ? '--' : $list['game_name'];
$list['sdk_version'] = empty($list['sdk_version']) ? '--' : getSDKTypeName($list['sdk_version']);
$list['server_name'] = empty($list['server_name']) ? '--' : $list['server_name'];
$list['role_name'] = empty($list['role_name']) ? '--' : $list['role_name'];
$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['promote_account'] = empty($list['promote_account']) ? '--' : $list['promote_account'];
}
}
@ -1839,6 +1879,7 @@ class QueryController extends BaseController
$this->assign('records', $records);
$this->assign('pagination', $pagination);
$this->assign('count', $count);
$this->assign('total', $total);
$this->assign('initBegTime', $initBegTime);
$this->assign('initEndTime', $initEndTime);
$this->assign('sort', $sort);

@ -164,11 +164,11 @@
<td>{$vo.promote_account}</td>
<td>{$vo.pay_amount}</td>
<if condition="$vo.pay_way eq -1">
<td>0</td>
<td>0.00</td>
<td>{$vo.pay_amount}</td>
<else/>
<td>{$vo.pay_amount}</td>
<td>0</td>
<td>0.00</td>
</if>
<td>{$vo.selle_ratio}%|{$vo.selle_ratio}%</td>
<td>{$vo.income}</td>
@ -176,6 +176,19 @@
<td>{$vo.selle_status}</td>
</tr>
</volist>
<tr class="num2">
<td>合计</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>{$total.pay_amount}</td>
<td>{$total.direct_pay_amount}</td>
<td>{$total.inner_pay_amount}</td>
<td>--</td>
<td>{$total.income}</td>
<td>--</td>
<td>--</td>
</tr>
</empty>
</table>
</div>

@ -17,7 +17,16 @@
<link rel="stylesheet" type="text/css" href="__CSS__/index2.css">
<title>{$game['relation_game_name']}</title>
</head>
<body>
<body onclick="checkSafari()">
<style>
.layui-layer-btn0 {
font-size: 18px;
}
.layui-layer-btn .layui-layer-btn1 {
font-size: 18px;
margin-right: 18%;
}
</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']}">
@ -35,7 +44,9 @@
<div class="home">
<div class="home-box">
<div class="heard">
<img src="{$game['icon']}" alt="">
<div style="height: 2.5rem;width: 2.5rem">
<img src="{$game['icon']}" alt="">
</div>
<div class="right">
<div>{$game['relation_game_name']}</div>
<div>{$game['features']}</div>
@ -53,17 +64,18 @@
<div class="evaluate-box">
<div class="number">
<span>{$game['game_score']}</span>
<div class="start">
<img src="__IMG__/start1.png" alt="">
<img src="__IMG__/start1.png" alt="">
<img src="__IMG__/start1.png" alt="">
<img src="__IMG__/start1.png" alt="">
<img src="__IMG__/start.png" alt="">
</div>
<div class="start">
<div class="iconImg ">
<div style=" width: <?php echo round($game['game_score']/5, 2)*100 ?>%;"></div>
</div>
</div>
</div>
<div class="grade">14.48K个评分</div>
</div>
<div class="evaluate-box">
<div class="evaluate-box" style="display: none">
<span>#{$game['recommend_level']}</span>
<div class="grade">网络游戏</div>
</div>
@ -83,7 +95,7 @@
</div>
<div class="synopsis">
<div>简介</div>
<div id="brief_introduction">{$game['features']}</div>
<div id="brief_introduction">{$game['introduction']}</div>
<div id="look_more">
<div class="bg-blur"></div>
<div class="more">查看更多</div>
@ -106,7 +118,7 @@
<img src="__IMG__/start1.png" alt="">
</div>
<div class="strip">
<div style="width: 2.77rem;"></div>
<div style="width: <?php echo round($game['game_score']/5, 2) * 100 ?>%;"></div>
</div>
</div>
<div class="start-number">
@ -160,7 +172,7 @@
<div class="title">信息</div>
<div class="data-box">
<span>大小</span>
<div>{$game['game_size']}MB</div>
<div>{$game['game_size']}</div>
</div>
<div class="data-box">
<span>类别</span>
@ -230,7 +242,7 @@
<div class="swiper-slide-box">
<div>三、信任当前证书</div>
<div class="slide-img">
<img src="__IMG__/3.png" alt="" style="height: 2.06rem;">
<img src="__IMG__/4.png" alt="" style="height: 2.88rem;">
<img src="__IMG__/box-scroll.png" alt="" class="case">
</div>
</div>
@ -239,7 +251,7 @@
<div class="swiper-slide-box">
<div>四、下载过程中若出现以下情况,请检查网络和内存再次尝试下载</div>
<div class="slide-img">
<img src="__IMG__/4.png" alt="" style="height: 2.88rem;">
<img src="__IMG__/3.png" alt="" style="height: 2.06rem;">
<img src="__IMG__/box-scroll.png" alt="" class="case">
</div>
</div>
@ -254,55 +266,141 @@
<div class="swiper-pagination"></div>
</div>
</div>
<div class="blue-btn">点我去信任</div>
<div class="blue-btn" id="go_confirm">点我去信任</div>
</div>
</div>
<?php
?>
<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-heard">
<div>请选择在“Safari”中打开</div>
<img src="__IMG__/arror.png" alt="">
</div>
<div class="safari-info">
<img src="__IMG__/safari.png" alt="">
<div>
<div>该链接只支持<a href="#">Safari</a></div>
<div>请在<a href="#">Safari</a>中打开</div>
</div>
</div>
</div>
</body>
</html>
<script src="__STATIC__/ios9/js/layer/layer.js?VerNo=20190923" type="text/javascript"></script>
<script>
function is_tip_safari() {
var isTipSafari = false;
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
isTipSafari = true;
//$('.safari').show();
} else if(ua.match(/QQ/i) == "qq") {
isTipSafari = true;
//$('.safari').show();
} else if(ua.match(/dingtalk/i) == "dingtalk") {
isTipSafari = true;
//$('.safari').show();
}
return isTipSafari;
}
function checkSafari(){
/*var ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
alert(111);
isTipSafari = true;
$('.safari').show();
} else if(ua.match(/QQ/i) == "qq") {
alert(222);
isTipSafari = true;
$('.safari').show();
} else if(ua.match(/aliapp/i) == "aliapp") {
alert(333);
isTipSafari = true;
$('.safari').show();
} else {
isTipSafari = false
}*/
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$(".safari").css("position", "fixed");
$('.safari').show();
}
}
$(function(){
$('#go_confirm').click(function () {
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
layer.confirm('请您回到手机桌面查看安装包情况,<br/>并在安装完成后点击"点我去信任"进行<br/>快速信任证书即可', {
title: "请确认游戏是否已安装?",
btn: ['已安装', '取消'], //按钮
}, function () {
$('.layui-layer-btn0').css("font-size", "18px");
window.location.href = "__STATIC__/ios9/images/embedded.mobileprovision";
});
});
$('.down-link').on('click', function () {
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
var downLink = $(this).attr('down-link');
// if ($('.bn-rule').length > 0) {
// $('.bn-rule').css('display','block')
// $('.bn-rule').css('z-index','12')
// return
// }
if ($('input[name=isNewIos]').val() == 0 && $('input[name=isIOS13]').val() == 1) {
var iosDownUrl = "{:U('iosDown',array('gid'=>$apply['game_id'],'pid'=>$apply['promote_id'],'status'=>1))}";
if (parseInt("{:I('get.status', 0)}") > 0) {
location.href = "{:U('iosDown',array('gid'=>$apply['game_id'],'pid'=>$apply['promote_id'],'status'=>1))}"
location.href = iosDownUrl;
return
} else {
layer.confirm('请先到官网注册', {title: '提示'}, function () {
// location.href = '{:U("User/login",array("url"=>base64_encode(base64_encode(U("Game/detail",array("id"=>$_GET["id"], "pid" => $apply.promote_id, "gid" => $apply.game_id))))))}';
location.href = "/mobile.php?s=/User/login/pid/" + "{$apply.promote_id}" + "/gid/" + "{$apply.game_id}" + "/url/"+ cur_url + ".html"
});
layer.confirm('请先到官网注册', {title: '提示'}, function () {
// location.href = '{:U("User/login",array("url"=>base64_encode(base64_encode(U("Game/detail",array("id"=>$_GET["id"], "pid" => $apply.promote_id, "gid" => $apply.game_id))))))}';
location.href = "/mobile.php?s=/User/login/pid/" + "{$apply.promote_id}" + "/gid/" + "{$apply.game_id}" + "/url/"+ cur_url + ".html"
});
return
}
}
var downLink = $(this).attr('down-link');
console.log(downLink);
location.href = downLink
});
$('.no-package').click(function() {
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
layer.msg('暂无下载', {
icon: 7,
time: 2000
})
});
if ($("#brief_introduction").length<80) {
if ($("#brief_introduction").text().length<220) {
$("#look_more").hide();
}
$(".more").click(function(){
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
$("#look_more").hide();
$("#brief_introduction").css("overflow", "visible");
$("#brief_introduction").css("display", "block");
});
function swiperGet(){
@ -326,28 +424,53 @@
};
swiperGet();
$(".download").click(function(){
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
$(".window").show();
document.body.style.overflow = 'hidden';
});
$(".window").click(function(){
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
$(".window").hide();
document.body.style.overflow = 'auto';
});
$(".gray-btn").click(function(){
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
event.stopPropagation();
$(".second").show();
swiperGet();
// swiperGet();
document.body.style.overflow = 'hidden';
$(".window").hide();
})
$(".second").click(function(){
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
$(".second").hide();
document.body.style.overflow = 'auto';
})
$(".doubt").click(function(){
var isTipSafari = is_tip_safari();
if (isTipSafari) {
$('.safari').show();
return;
}
$(".second").show();
document.body.style.overflow = 'hidden';
swiperGet();
// swiperGet();
})
});

@ -0,0 +1,134 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta itemprop="name" content="{$game['relation_game_name']}"/>
<meta itemprop="image" content="{$game['icon']}"/>
<meta name="description" itemprop="description" content="{$game['features']}"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1">
<script type="text/javascript" src="__JS__/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="https://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<link href="{:get_cover(C('CH_SET_ICO'),'path')}" type="image/x-icon" rel="shortcut icon">
<title>{$game['relation_game_name']}</title>
<link rel="stylesheet" href="__CSS__/20180207/promition.css">
<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">
</head>
<body class="main_bg" style="background-color: #0a0a0a;height: auto;">
<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;?>">
<?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>
<?php elseif ($isIOS):?>
<div class="bn-rule" style="display: none;"><img id="rule-img" src="__STATIC__/ios9/images/ios-rule.png"></div>
<?php endif;?>
<?php endif;?>
<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>
</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">
$('.down-link').on('click', function () {
if ($('.bn-rule').length > 0) {
$('.bn-rule').css('display','block')
$('.bn-rule').css('z-index','12')
return
}
if ($('input[name=isNewIos]').val() == 0 && $('input[name=isIOS13]').val() == 1) {
if (parseInt("{:I('get.status', 0)}") > 0) {
location.href = "{:U('iosDown',array('gid'=>$apply['game_id'],'pid'=>$apply['promote_id'],'status'=>1))}"
return
} else {
layer.confirm('请先到官网注册', {title: '提示'}, function () {
location.href = "/mobile.php?s=/User/login/pid/" + "{$apply.promote_id}" + "/gid/" + "{$apply.game_id}" + ".html"
})
return
}
}
var downLink = $(this).attr('down-link')
location.href = downLink
});
$('.no-package').click(function() {
layer.msg('暂无下载', {
icon: 7,
time: 2000
})
})
$.ajax({
url: "{:U('Home/generateWechatSign')}",
dataType: 'json',
type: 'post',
data: {url: window.location.href},
success: function(response) {
if (response.status) {
wx.config({
// debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来若要查看传入的参数可以在pc端打开参数信息会通过log打出仅在pc端时才会打印。
appId: response.data.appid,
timestamp: response.data.time,
nonceStr: response.data.randStr,
signature: response.data.sign,
jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone']
})
var title = $('[name=title]').val();
var description = $('[name=desc]').val();
var icon = $('[name=icon]').val();
wxReady(title, description, icon)
}
}
});
function wxReady(title, description, img) {
wx.ready(function () {
wx.onMenuShareAppMessage({
title: title,
desc: description,
link: window.location.href,
imgUrl: img,
type: '',
dataUrl: ''
});
wx.onMenuShareTimeline({
title: title,
link: window.location.href,
imgUrl: img
});
wx.onMenuShareQQ({
title: title,
desc: description,
link: window.location.href,
imgUrl: img
});
wx.onMenuShareWeibo({
title: title,
desc: description,
link: window.location.href,
imgUrl: img
});
wx.onMenuShareQZone({
title: title,
desc: description,
link: window.location.href,
imgUrl: img
});
});
}
</script>
</body>
</html>

@ -127,8 +127,8 @@
</div>
<div class="form-group normal_space">
<input type="text" name="order_number" class="txt normal_txt" placeholder="请输入订单号"
value="{:I('order_number')}">
<input type="text" name="pay_order_number" class="txt normal_txt" placeholder="请输入订单号"
value="{:I('pay_order_number')}">
</div>
<div class="form-group normal_space">
@ -190,15 +190,15 @@
<volist name="listData" id="vo">
<tr class="num2">
<td title="玩家ID{$vo.user_id}">{$vo.user_account}</td>
<td>{$vo.order_number}</td>
<td>{$vo.pay_order_number}</td>
<td>{:get_pay_way($vo['pay_way'])}</td>
<td>{$vo.pay_amount}</td>
<td>{$vo.game_name}</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>
<td>{$vo.p_pro_account}({$vo.p_pro_real_name})</td>
<td>{$vo.pro_account}({$vo.pro_real_name})</td>
<td>{$vo.p_p_pro_account}({$vo.p_p_pro_real_name})</td>
<td>{$vo.p_pro_account}({$vo.p_pro_real_name})</td>
<td>{$vo.pro_account}({$vo.pro_real_name})</td>
<td>{$vo.pay_time|date='Y-m-d H:i:s',###}</td>
<!-- <td>-->
<!-- <a href="{:U('Query/viewSpendDetailed',array('id'=>$vo['id']))}" style="cursor: pointer"-->
@ -206,6 +206,19 @@
<!-- </td>-->
</tr>
</volist>
<tr>
<td>合计</td>
<td>--</td>
<td>--</td>
<td>{$income}</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
</empty>
</table>
</div>

@ -155,7 +155,7 @@
<tr data-id="{$vo.id}" class="<eq name='mod' value='1'>odd</eq>">
<td>{$record.user_account}</td>
<td>{$record.game_name}</td>
<td>{:getSDKTypeName($record['sdk_version'])}</td>
<td>{$record.sdk_version}</td>
<td>{$record.server_name}</td>
<td>{$record.role_name}</td>
<td>{$record.role_level}</td>
@ -163,10 +163,24 @@
<td>{$record.recharge_count}</td>
<td>{$record.recharge_cost_today}</td>
<td>{$record.unlogin_day}</td>
<td>{$record.play_time|date='Y-m-d H:i:s',###}</td>
<td>{$record.play_time}</td>
<td>{$record.promote_account}</td>
</tr>
</volist>
<tr>
<td>合计</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>{$total.recharge_cost}</td>
<td>{$total.recharge_count}</td>
<td>{$total.recharge_cost_today}</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
</empty>
</table>

@ -70,7 +70,7 @@
<div class="list">
<li class="selected">监护工程概述</li>
<li class="" >申请服务流程</li>
<li class="" >监护工程概述</li>
<li class="" >介绍详细说明</li>
<li class="" >健康提示</li>
<li class="" >纠纷处理</li>
</div>
@ -121,7 +121,7 @@
</div>
<div style="display:none;">
<div class="content_box">
<div class="headline">监护工程概述</div>
<div class="headline">介绍详细说明</div>
<p>网络游戏未成年人家长监护工程”是一项由文化部指导,义乌市其豪网络科技有限公司旨在加强家长对未成年人参与网络游戏的监护,引导未成年人健康、绿色参与网络游戏,和谐家庭关系的行业自律行动。</p>
<p>2010年2月5日首批试点的六家企业共同启动“监护工程”开始了游戏企业与未成年人家长联合共同预防未成年人沉迷网络游戏的有益尝试。实践中一些成功的案例让我们看到 “监护工程”提供了一种切实可行的方法,一种家长实施监控的管道,使家长纠正部分未成年子女沉迷网游成为可能。</p>
<p>“监护工程”引导家长和未成年人正确面对网络游戏文化,加强相互沟通,在共同约定和认可的时间或规则下健康游戏,既保护了未成年人不受过度沉迷的伤害,也为家长指导未成年人健康游戏提供了有力的技术保障。</p>
@ -239,7 +239,7 @@
<div class="foot_link">
<a href="/media.php?s=/Article/news1/type/supervise.html">家长监护</a>
<a href="/media.php?s=/Service/index.html">客服帮助</a>
<!-- <a href="#">国浩律所</a>-->
<a href="http://www.grandall.com.cn/">国浩律所</a>
</div>
<div class="foot_serial">
<span>备案号琼ICP备19000556号-1</span>

@ -56,6 +56,7 @@
<div class="foot_link">
<a href="/media.php?s=/Article/news1/type/supervise.html">家长监护</a>
<a href="/media.php?s=/Service/index.html">客服帮助</a>
<a href="http://www.grandall.com.cn/">国浩律所</a>
</div>
<div class="foot_serial">
<span>备案号琼ICP备19000556号-1</span>
@ -69,8 +70,8 @@
</div>
</div>
<!-- 侧导航 -->
<a class="side_tabbar" style="z-index: 1" href="http://wpa.qq.com/msgrd?v=3&amp;uin={:C('PC_SET_SERVER_QQ')}&amp;site=qq&amp;menu=yes" target="_blank">
<div class="side_tabbar" style="z-index: 1">
<img src="__IMG__/index_about/qrcode.png" alt="">
</a>
</div>
</block>

@ -59,6 +59,7 @@
<div class="foot_link">
<a href="/media.php?s=/Article/news1/type/supervise.html">家长监护</a>
<a href="/media.php?s=/Service/index.html">客服帮助</a>
<a href="http://www.grandall.com.cn/">国浩律所</a>
</div>
<div class="foot_serial">
<span>备案号琼ICP备19000556号-1</span>
@ -73,9 +74,9 @@
</div>
<!-- 侧导航 -->
<a class="side_tabbar" style="z-index: 1" href="http://wpa.qq.com/msgrd?v=3&amp;uin={:C('PC_SET_SERVER_QQ')}&amp;site=qq&amp;menu=yes" target="_blank">
<div class="side_tabbar" style="z-index: 1">
<img src="__IMG__/index_about/qrcode.png" alt="">
</a>
</div>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=IlhuMR32KKlrV3pR6BuvSLVLQKQeEjwP"></script>
<script src="__JS__/collaborate.js" type="text/javascript"></script>
<!-- WPA start -->

@ -31,6 +31,7 @@
<div class="foot_link">
<a href="/media.php?s=/Article/news1/type/supervise.html">家长监护</a>
<a href="/media.php?s=/Service/index.html">客服帮助</a>
<a href="http://www.grandall.com.cn/">国浩律所</a>
</div>
<div class="foot_serial">
<span>备案号琼ICP备19000556号-1</span>
@ -44,7 +45,7 @@
</div>
</div>
<!-- 侧导航 -->
<a class="side_tabbar" style="z-index: 1" href="http://wpa.qq.com/msgrd?v=3&amp;uin={:C('PC_SET_SERVER_QQ')}&amp;site=qq&amp;menu=yes" target="_blank">
<div class="side_tabbar" style="z-index: 1">
<img src="__IMG__/index_about/qrcode.png" alt="">
</a>
</div>
</block>

@ -169,9 +169,9 @@
</div>
<div class="way-show">
<div>您当前选择的是:<span>支付宝</span></div>
<div><a href="{:U('Service/detail',['kefu'=>'pay'])}">充值遇到问题</a> </div>
<div><a href="{:U('Service/detail',['kefu'=>'pay'])}">充值遇到问题</a> </div>
</div>
<div class="recharge-btn">账户充值</div>
<div class="recharge-btn" style="cursor: pointer">账户充值</div>
</div>
</div>
</div>
@ -187,7 +187,7 @@
<div class="foot_link">
<a href="/media.php?s=/Article/news1/type/supervise.html">家长监护</a>
<a href="/media.php?s=/Service/index.html">客服帮助</a>
<!-- <a href="#">国浩律所</a>-->
<a href="http://www.grandall.com.cn/">国浩律所</a>
</div>
<div class="foot_serial">
<span>备案号琼ICP备19000556号-1</span>

@ -130,15 +130,15 @@ class SsgController extends BaseController {
$_SESSION['user_id'] = $user_id;
$user = M('user', 'tab_')->where(array(
'id' => $user_id
'id' => $user_id
))->find();
if (!$user['promote_id'] && $promote) {
M('user', 'tab_')->where(array(
'id' => $user_id
))->save(array(
'promote_id' => $promoteId,
'promote_account' => $promote['account']
));
M('user', 'tab_')->where(array(
'id' => $user_id
))->save(array(
'promote_id' => $promoteId,
'promote_account' => $promote['account']
));
}
}
$this->ajaxReturn(array("ErrorCode"=>$res_code,"ResultMsg"=>$res_msg),'JSON');
@ -182,15 +182,15 @@ class SsgController extends BaseController {
#验证短信验证码
$this -> sms_verify($user['account'], $user['code']);
$res = $this -> doRegister($user['account'],$user['password'],$user['account'],$promoteId,4,2, $game_id);
if(empty($res)){
$res = $this -> doRegister($user['account'],$user['password'],$user['account'],$promoteId,4,2, $game_id);
if(empty($res)){
$this -> set_message(1017, "fail", "添加失败");
}
//添加自动登录
$userApi = new MemberApi();
$user_id = $userApi->login($user['account'], $user['password'],1);
}
//添加自动登录
$userApi = new MemberApi();
$user_id = $userApi->login($user['account'], $user['password'],1);
$this -> set_message(1, "success", "添加成功");
$this -> set_message(1, "success", "添加成功");
}
//忘记密码
@ -229,18 +229,18 @@ class SsgController extends BaseController {
$res = $this -> doRegister($account,$password,'',$promoteId,4,1);
if(empty($res)){
$this -> set_message(1017, "fail", "添加失败");
}
}
//添加自动登录
$userApi = new MemberApi();
$user_id = $userApi->login($account, $password,1);
//添加自动登录
$userApi = new MemberApi();
$user_id = $userApi->login($account, $password,1);
$this -> set_message(1, "success", "添加成功");
$this -> set_message(1, "success", "添加成功");
# code...
}
//消息返回
public function set_message($status=0,$return_code="fail",$return_msg="操作失败"){
public function set_message($status=0,$return_code="fail",$return_msg="操作失败"){
$msg = array(
"status" => $status,
"return_code" => $return_code,
@ -249,6 +249,7 @@ class SsgController extends BaseController {
$this->ajaxReturn($msg,'JSON');
exit();
}
//真正注册代码
public function doRegister($account,$password,$phone,$promote_id,$register_way,$register_type, $game_id = 0)
{
@ -481,15 +482,14 @@ class SsgController extends BaseController {
))->find();
$payLog = M('game_supersign', 'tab_')->where(array(
$isPay = M('game_supersign', 'tab_')->where(array(
'user_id' => $userId,
'game_id' => $gameId
'game_id' => $gameId,
'pay_status' =>1
))->find();
if($payLog && $payLog['pay_status']==1){
//$this->assign("error","亲~您已购买过了~<br/>请到【订单查询】查看订单信息哟~");
//$this->display('blank');
redirect("/mobile.php/Ssg/install_show/user_id/$userId/game_id/$gameId/order_id/".$payLog['order_id']);
if($isPay){
redirect("/mobile.php/Ssg/install_show/user_id/$userId/game_id/$gameId/order_id/".$isPay['order_id']);
}else{
if (!$gameInfo['supersign_token']) {
//$this->error("超级签token未填写");
@ -526,27 +526,19 @@ class SsgController extends BaseController {
exit();
}
$payLog = M('game_supersign', 'tab_')->where(array(
$isPay = M('game_supersign', 'tab_')->where(array(
'user_id' => $userId,
'game_id' => $gameId
))->find();
'game_id' => $gameId,
'pay_status' => 1
))->find(); //是否有已支付订单
$gameInfo = M('game', 'tab_')->field('game_name,supersign_token')->where(array(
'id' => $gameId,
))->find();
if ($payLog && $payLog['pay_status']==0) {
$orderId = $payLog['order_id'];
}elseif ($payLog && $payLog['pay_status']==1){
/*$orderId = $payLog['order_id'];
if(stripos($_SERVER['HTTP_HOST'], '.wmtxkj.cn') || $_SERVER['HTTP_HOST']=='127.0.0.1' || stripos($_SERVER['HTTP_HOST'], '.free.idcfengye.com')){
redirect("http://".$_SERVER['HTTP_HOST']."/mobile.php/Ssg/install_show/user_id/$userId/game_id/$gameId/order_id/$orderId");
}else{
redirect("https://".$_SERVER['HTTP_HOST']."/mobile.php/Ssg/install_show/user_id/$userId/game_id/$gameId/order_id/$orderId");
}*/
if ($isPay){
$this->assign("error","亲~您已购买过了~<br/>请到【订单查询】查看订单信息哟~");
$this->display('blank');
//$this->error("亲~您已购买过了~请到【订单查询】查看订单信息哟~");
exit();
} else {
$orderId = "SS_" . date('Ymd') . date('His') . sp_random_string(4); // 超级签

@ -662,6 +662,8 @@ class UserController extends BaseController
if (IS_POST) {
$new_pwd = $_REQUEST['new_pwd'];
$u_uid['phone'] = $_REQUEST['phone'];
//验证短信验证码
$this->checksafecode($u_uid['phone'], $_REQUEST['code'], false);
$result = M('user', 'tab_')->where($u_uid)->setField('password', think_ucenter_md5($new_pwd, UC_AUTH_KEY));
if ($result != false) {
$this->success("修改成功", U('User/login'));
@ -893,8 +895,6 @@ class UserController extends BaseController
} else {
$model = M('User', 'tab_')->where($map)->save(array('phone' => ''));
}
$this->suser->set_login_info('phone', $_REQUEST['phone']);
if ($model !== false) {
@ -1000,6 +1000,7 @@ class UserController extends BaseController
}
$logininfo = $this->suser->login_info();
if (IS_POST) {
$resdata['age_status'] = 0;
@ -1016,29 +1017,45 @@ class UserController extends BaseController
// $this->ajaxReturn(array('status' => -1, 'info' => '身份证号码已被使用', 'url' => U('User/userauth')));
// }
}
if (C('tool_age.status') == 0) {
$status = M("Tool","tab_")->field("status")->where("name = 'tool_age'")->find()['status'];
if ($status == 0) {
$this->ajaxReturn(array('status' => 0, 'info' => '实名认证暂未开启!', 'url' => U('User/userauth')));
} else {
$re = age_verify($_REQUEST['real_name'], $_REQUEST['idcard']);
if ($re == 0) {
$this->ajaxReturn(array('status' => 0, 'info' => '审核失败!', 'url' => U('User/userauth')));
}
if ($re == -1) {
$this->ajaxReturn(array('status' => 0, 'info' => '短信数量已使用完!', 'url' => U('User/userauth')));
}
if ($re == -2) {
$this->ajaxReturn(array('status' => 0, 'info' => '连接错误,请检查配置!', 'url' => U('User/userauth')));
}
if ($re == 1) {
$resdata['age_status'] = 2;//成年
}
if ($re == 2) {
$resdata['age_status'] = 3;//未成年
//PC_REAL_NAME_REGISTER
$ages = M("Config")->where("name = 'PC_REAL_NAME_REGISTER'")->field("value")->find()['value'];
if($ages == "1"){
$re =age_verify($_REQUEST['idcard'],$_REQUEST['real_name']);
if ($re == 0) {
$this->ajaxReturn(array('status' => 0, 'info' => '审核失败!', 'url' => U('User/userauth')));
}
if ($re == -1) {
$this->ajaxReturn(array('status' => 0, 'info' => '短信数量已使用完!', 'url' => U('User/userauth')));
}
if ($re == "202") {
$this->ajaxReturn(array('status' => 0, 'info' => '无法验证!【中心中无此身份证记录,军人转业,户口迁移等】', 'url' => U('User/userauth')));
}
if ($re == "203") {
$this->ajaxReturn(array('status' => 0, 'info' => '异常情况!', 'url' => U('User/userauth')));
}
if ($re == "204") {
$this->ajaxReturn(array('status' => 0, 'info' => '姓名格式不正确!', 'url' => U('User/userauth')));
}
if ($re == "205") {
$this->ajaxReturn(array('status' => 0, 'info' => '身份证格式不正确!', 'url' => U('User/userauth')));
}
if ($re == 1) {
$resdata = 2;//成年
}
if ($re == 2) {
$resdata = 3;//未成年
}
}else{
$re = 2;
$resdata = 2;
}
}
if ($re > 0) {
$model = D('User')->where($map)->save(array('real_name' => $_REQUEST['real_name'], 'idcard' => $_REQUEST['idcard'], 'age_status' => $resdata));
}
@ -1051,6 +1068,9 @@ class UserController extends BaseController
}
} else {
$user = D('User')->where(array('id' => $logininfo['user_id']))->find();
if($user["age_status"] > 0){
$user["idcard"] = substr($user["idcard"],0,1)."***********".substr($user["idcard"],-1,1);
}
$this->assign('user', $user);
$this->display();
}
@ -1399,10 +1419,13 @@ class UserController extends BaseController
$this->redirect('Mobile/User/login');
}
$map['user_id'] = $this->suser->login_info('user_id');
$data = D('DownRecord')->table('tab_down_record AS tdr')
->field('tab_game.id,tab_game.dow_status,tab_game.game_name,tab_game.game_size,tab_game.dow_num,tab_game.icon,tab_game.features,tdr.user_id,tab_game.and_dow_address,tab_game.add_game_address,tab_game.ios_dow_address,tab_game.ios_game_address,tab_game.game_score,tab_game.sdk_version')
$data = D('DownRecord')->table('tab_user_game_login_record AS tdr')
->field('tab_game.id,tab_game.dow_status,tab_game.game_name,tab_game.game_size,tab_game.dow_num,
tab_game.icon,tab_game.features,tdr.user_id,tab_game.and_dow_address,tab_game.add_game_address,
tab_game.ios_dow_address,tab_game.ios_game_address,tab_game.game_score,tab_game.sdk_version')
->join("tab_game ON tdr.game_id = tab_game.id")
->where($map)
->group("tdr.user_id, tdr.game_id")
->select();
$this->assign("data", $data);

@ -5,45 +5,45 @@
background: #f5f5f5;
}
</style>
<link rel="stylesheet" type="text/css" href="__CSS__/business.css">
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/foot_tabbar.css">
<script type="text/javascript" src="__JS__/getRem.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=IlhuMR32KKlrV3pR6BuvSLVLQKQeEjwP"></script>
<script type="text/javascript" src="__JS__/business.js"></script>
<div class="business">
<div class="business_box">
<div class="heard_img"><img src="__IMG__/new/lunbo2.png" alt=""></div>
<div class="heard_title">商务合作</div>
<div class="heard_en">COMPANY PROFILE</div>
<div class="introduce">《海南万盟天下科技有限公司》,致力于引进和传播手机游戏,我们愿与广大开发者一同成长,将快乐分享给每一个玩家。欢迎广大开发者与工作人员联系,让您的游戏为我们平台锦上添花。</div>
<div class="bazaar">
<div class="title">市场合作</div>
<div class="info">万盟天下一直坚持开放诚信高效的业务合作,欢迎各位业界同仁前来联系,互利共赢。</div>
</div>
<div class="bazaar">
<div class="title">媒体合作</div>
<div class="info">万盟天下一直希望通过广泛的市场及品牌合作,为用户提供更全面的产品与服务。</div>
</div>
<div class="bazaar">
<div class="title">联系方式</div>
<div class="address" style="margin-bottom: 4px;line-height: 0.4rem">公司地址福建省福州市鼓楼区福大怡山文化创意园11号楼103号</div>
<div style="margin-bottom: 4px;">联系人: 雷女士</div>
<div style="margin-bottom: 4px;">联系电话: 13067391751</div>
<div>邮政编码350004</div>
</div>
<div class="map-box" >
<div id="container"></div>
</div>
</div>
<link rel="stylesheet" type="text/css" href="__CSS__/business.css">
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/foot_tabbar.css">
<script type="text/javascript" src="__JS__/getRem.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=IlhuMR32KKlrV3pR6BuvSLVLQKQeEjwP"></script>
<script type="text/javascript" src="__JS__/business.js"></script>
<div class="business">
<div class="business_box">
<div class="heard_img"><img src="__IMG__/new/lunbo2.png" alt=""></div>
<div class="heard_title">商务合作</div>
<div class="heard_en">BUSINESS COOPERATION</div>
<div class="introduce">《海南万盟天下科技有限公司》,致力于引进和传播手机游戏,我们愿与广大开发者一同成长,将快乐分享给每一个玩家。欢迎广大开发者与工作人员联系,让您的游戏为我们平台锦上添花。</div>
<div class="bazaar">
<div class="title">市场合作</div>
<div class="info">万盟天下一直坚持开放诚信高效的业务合作,欢迎各位业界同仁前来联系,互利共赢。</div>
</div>
<div class="bazaar">
<div class="title">商务合作</div>
<div class="info">万盟天下一直希望通过广泛的市场及品牌合作,为用户提供更全面的产品与服务。</div>
</div>
<div class="bazaar">
<div class="title">联系方式</div>
<div class="address" style="margin-bottom: 4px;line-height: 0.4rem">公司地址福建省福州市鼓楼区福大怡山文化创意园11号楼103号</div>
<div style="margin-bottom: 4px;">联系人: 雷女士</div>
<div style="margin-bottom: 4px;">联系电话: 13067391751</div>
<div>邮政编码350004</div>
</div>
<div class="map-box" >
<div id="container"></div>
</div>
</div>
<!-- 底部标签 -->
<div class="foot_lable">
<div>备案号琼ICP备19000556号-1</div>
<div>网络文化经营许可证编号琼网文20192354-200号</div>
<div>海南万盟天下科技有限公司</div>
<!-- 底部标签 -->
<div class="foot_lable">
<div>备案号琼ICP备19000556号-1</div>
<div>网络文化经营许可证编号琼网文20192354-200号</div>
<div>海南万盟天下科技有限公司</div>
</div>
</div>
</div>
<!-- 底部导航 -->
<div class="foot_tabbar">
<div class="foot_tabbar_box">
@ -61,7 +61,7 @@
<div class="foot_info ">
<a href="{:U('Index/business')}" class="<if condition='ACTION_NAME eq business'>active</if>">
<img src="__IMG__/new/hezuo<if condition='ACTION_NAME eq business'>1</if>.png" alt="">
<span>商合作</span>
<span>合作</span>
</a>
</div>
<div class="foot_info ">

@ -19,8 +19,8 @@
<div class="swiper-container">
<div class="swiper-wrapper">
<volist name="wap_index" id="vo" mod="5" >
<div class="swiper-slide">
<img src="{:get_cover($vo['data'],'path')}" alt="" onclick="location.href='{$vo.url}'">
<div class="swiper-slide" onclick="window.location.href='{$vo.url}'">
<img src="{:get_cover($vo['data'],'path')}" alt="">
</div>
</volist>
@ -71,7 +71,7 @@
<div class="foot_info ">
<a href="{:U('Index/business')}" class="<if condition='ACTION_NAME eq business'>active</if>">
<img src="__IMG__/new/hezuo<if condition='ACTION_NAME eq business'>1</if>.png" alt="">
<span>商合作</span>
<span>合作</span>
</a>
</div>
<div class="foot_info ">

@ -46,7 +46,7 @@
<div class="foot_info ">
<a href="{:U('Index/business')}" class="<if condition='ACTION_NAME eq business'>active</if>">
<img src="__IMG__/new/hezuo<if condition='ACTION_NAME eq business'>1</if>.png" alt="">
<span>商合作</span>
<span>合作</span>
</a>
</div>
<div class="foot_info ">

@ -325,6 +325,7 @@ var PhoneObj = {
//登陆
$("#loginbtn").on("click",function(){
var gameId = $("#game_id").val();
var loginName = $("#userAccount").val();
var loginPass = $("#password").val();
var userCode = $("#userCode").val();
@ -365,7 +366,11 @@ var PhoneObj = {
alert(result.ResultMsg);
GetVerityCode();
} else {
window.location.href = "mobile.php?s=/Ssg/index.html"
if (gameId>0) {
window.location.href = "/mobile.php?s=/Ssg/pay/game_id/"+gameId+".html"
} else {
window.location.href = "/mobile.php?s=/Ssg/index.html"
}
}
}
});
@ -412,7 +417,12 @@ var PhoneObj = {
//弹框确认
function hideAndLogin(){
$("#alert_box").hide();
window.location.href = "mobile.php?s=/Ssg/index.html"
var gameId = $("#game_id").val();
if (gameId) {
window.location.href = "/mobile.php?s=/Ssg/pay/game_id/"+gameId+".html"
} else {
window.location.href = "mobile.php?s=/Ssg/index.html"
}
}
//获取手机验证码
$("#getPhoneCode").on("click",function(){

@ -1,48 +1,47 @@
<extend name="Public/bases" />
<block name="body">
<link href="__CSS__/user.css" rel="stylesheet" >
<script src="__JS__/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="__JS__/getRem.js"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/name.css">
<link rel="stylesheet" type="text/css" href="__CSS__/remove.css">
<link rel="stylesheet" type="text/css" href="__CSS__/forgetPass.css">
<style>
body {
background: white;
}
input,button{
padding: 0;
}
</style>
<div class="name">
<div class="loginPhTwo">
<!-- 子页公共头部 -->
<div class="subpage-heard">找回密码
<div class="subpage-heard">忘记密码
<a href="javascript:window.history.go(-1);" class="arrows"></a>
</div>
<div class="remove-info">
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/shoujibangding.png" alt="">
<div>手机号</div>
<form action="">
<div class="login-box">
<div class="login-input">
<img src="__IMG__/shouji.png" alt="">
<input type="text" placeholder="请输入手机号" name="mobile" id="mobile" value="{$user['phone']}">
</div>
<input type="text" placeholder="请输入手机号" style="padding: 0" name="mobile" id="mobile" value="{$user['phone']}">
</div>
<div class="remove-input">
<div class="remove-inputBox">
<img src="__IMG__/mingzibianji.png" alt="">
<div>验证码</div>
<input type="text" placeholder="请输入验证码" id="code" name="code" value="">
<div class="login-input">
<img src="__IMG__/suo.png" alt="">
<input type="password" placeholder="请输入密码" name="new_pwd" id="new_pwd" value="">
</div>
<div class="login-input">
<img src="__IMG__/suo.png" alt="">
<input type="password" placeholder="请输入确认密码" name="new_pwd_confirm" id="new_pwd_confirm" value="">
</div>
<div class="login-code">
<input type="text" placeholder="输入验证码" id="code" name="code" value="">
<div class="code g-btn jsgetcode" id="sendSafeCode">获取验证码</div>
</div>
<div class="login-btn submit">保存修改</div>
<div class="forget-text">
<div>通过手机号找回密码只适用于手机号注册的账号</div>
<div>用户名注册的账号可<a href="mqqwpa://im/chat?chat_type=wpa&uin={:C('PC_SET_SERVER_QQ')}&version=1&src_type=web&web_src=oicqzone.com">联系客服</a></div>
</div>
<div class="code g-btn jsgetcode" id="sendSafeCode">获取验证码</div>
</div>
<div class="save submit">下一步</div>
<div>
<p class="forget-notice" style="font-size: 0.28rem;text-align: center;line-height: 0.4rem;">
通过手机号找回密码只适用于手机号注册的账号<br>用户名注册的账号可
<a href="http://wpa.qq.com/msgrd?v=3&amp;uin={:C('APP_QQ')}&amp;site=qq&amp;menu=yes"
target="_blank" style="color: #21B1EB;">联系客服</a>
</p>
</div>
</div>
</form>
</div>
<div class="popmsg pop-dialog"></div>
@ -90,27 +89,49 @@
$(".submit").click(function(){
var mobile = $.trim($("#mobile").val());
var code = $.trim($("#code").val());
var new_pwd = $.trim($("#new_pwd").val());
var new_pwd_confirm = $.trim($("#new_pwd_confirm").val());
if(mobile.length == 0){
pmsg.msg('请输入手机号码');
return false;
}
if(new_pwd.length == 0){
pmsg.msg('请输入密码');
return false;
}
if(new_pwd_confirm.length == 0){
pmsg.msg('请输入确认密码');
return false;
}
if(code.length == 0){
pmsg.msg('请输入验证码');
return false;
}
if(new_pwd.length < 6 || new_pwd.length > 12){
pmsg.msg('密码长度6-12个字符');
return false;
}
if(new_pwd != new_pwd_confirm){
pmsg.msg('两次密码输入不一致');
return false;
}
$.ajax({
url:"{:U('forget')}",
url:"{:U('forget1')}",
type:"POST",
dataType:"json",
data:{phone:$.trim($('#mobile').val()),code:$("#code").val()},
data:{
phone:$.trim($('#mobile').val()),
code:$("#code").val(),
new_pwd:new_pwd
},
success:function(result){
if(result.status == 1){
pmsg.msg("验证成功");
pmsg.msg("修改成功");
setTimeout(function () {
window.location.href = result.url;
}, 2000);
} else {
pmsg.msg(result.msg);
pmsg.msg(result.info ? result.info : result.msg);
}
},
error:function(){

@ -76,7 +76,7 @@
<div class="foot_info ">
<a href="{:U('Index/business')}" class="<if condition='ACTION_NAME eq business'>active</if>">
<img src="__IMG__/new/hezuo<if condition='ACTION_NAME eq business'>1</if>.png" alt="">
<span>商合作</span>
<span>合作</span>
</a>
</div>
<div class="foot_info ">

@ -13,7 +13,7 @@
<link href="__CSS__/common-cz.css" rel="stylesheet" >
</head>
<body>
<div class="my">
<div class="my" style="padding-bottom: 1.6rem;min-height: 100vh;">
<div class="register">
<div class="logo"><img src="__IMG__/user/logo2.png" alt=""></div>
<div class="account">
@ -59,7 +59,7 @@
<div class="foot_info ">
<a href="{:U('Index/business')}" class="<if condition='ACTION_NAME eq business'>active</if>">
<img src="__IMG__/new/hezuo<if condition='ACTION_NAME eq business'>1</if>.png" alt="">
<span>商合作</span>
<span>合作</span>
</a>
</div>
<div class="foot_info ">

@ -1,6 +1,6 @@
<!DOCTYPE HTML>
<html>
<head>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="keywords" content="" />
@ -20,109 +20,111 @@
<link rel="stylesheet" type="text/css" href="__CSS__/foot_tabbar.css">
<link rel="stylesheet" type="text/css" href="__CSS__/loginPhTwo.css">
</head>
<body class="unlr">
</head>
<body class="unlr">
<div class="loginPhTwo">
<!-- 子页公共头部 -->
<div class="subpage-heard">手机注册
<a href="javascript:window.history.go(-1);" class="arrows"></a>
</div>
<div class="loginPhTwo">
<!-- 子页公共头部 -->
<div class="subpage-heard">手机注册
<a href="javascript:window.history.go(-1);" class="arrows"></a>
</div>
<div class="login-box">
<div class="login-input">
<img src="__IMG__/user/shouji.png" alt="">
<input type="text" id="mobile" placeholder="请输入手机号">
</div>
<div class="login-input">
<img src="__IMG__/user/suo.png" alt="">
<input id="password" type="password" placeholder="请输入密码">
</div>
<div class="login-code">
<input id="code" type="text" placeholder="输入验证码">
<div class="jsgetcode">获取验证码</div>
</div>
<button class="login-btn submit">注册</button>
</div>
</div>
<div class="popmsg pop-dialog" style="font-size: .28rem"></div>
<script src="__JS__/pop.lwx.min.js"></script>
<script src="__JS__/common.js"></script>
<script>
var pmsg = $('.popmsg').pop();
$(function() {
<div class="login-box">
<div class="login-input">
<img src="__IMG__/user/shouji.png" alt="">
<input type="text" id="mobile" placeholder="请输入手机号">
</div>
<div class="login-input">
<img src="__IMG__/user/suo.png" alt="">
<input id="password" type="password" placeholder="请输入密码">
</div>
<div class="login-code">
<input id="code" type="text" placeholder="输入验证码">
<div class="jsgetcode">获取验证码</div>
</div>
<button class="login-btn submit">注册</button>
<div class="login-agreement">注册即表示同意<a href="{:U('News/protocol')}">《用户协议》</a></div>
</div>
</div>
<div class="popmsg pop-dialog" style="font-size: .28rem"></div>
<script src="__JS__/pop.lwx.min.js"></script>
<script src="__JS__/common.js"></script>
<script>
var pmsg = $('.popmsg').pop();
$(function() {
$(".clearStr").click(function(){
$("#mobile").val('');
$("#mobile").val('');
})
$('.jsgetcode').click(function() {
var tis = this,that = $(tis);
if (that.hasClass('disabled')) {return false;}
var mobile = $.trim($('#mobile').val());
var data = {'phone':mobile};
if (mobile) {
if (/^1[0-9]{10}$/.test(mobile)) {
$.ajax({
type:'POST',
url:'{:U("sendsafecode")}',
data:data,
async: false,
dataType:"Json",
success:function(data){
if(parseInt(data.status) == 1){
pmsg.msg('我们已经发送验证码到你的手机<br/>'+mobile,3000);
clock(tis);
}else{
pmsg.msg(data.msg);
return false;
}
}
});
var tis = this,that = $(tis);
if (that.hasClass('disabled')) {return false;}
var mobile = $.trim($('#mobile').val());
var data = {'phone':mobile};
if (mobile) {
if (/^1[0-9]{10}$/.test(mobile)) {
$.ajax({
type:'POST',
url:'{:U("sendsafecode")}',
data:data,
async: false,
dataType:"Json",
success:function(data){
if(parseInt(data.status) == 1){
pmsg.msg('我们已经发送验证码到你的手机<br/>'+mobile,3000);
clock(tis);
}else{
pmsg.msg(data.msg);
return false;
}
}
});
} else {
pmsg.msg('请输入正确的手机号码');
}
} else {
pmsg.msg('请输入正确的手机号码');
pmsg.msg('请输入手机号码');
}
} else {
pmsg.msg('请输入手机号码');
}
return false;
return false;
});
});
$('.submit').click(function(event) {
var mobile = $.trim($('#mobile').val());
var code = $.trim($('#code').val());
var password = $.trim($('#password').val());
var promoteId = parseInt("{:I('get.pid')}") ? parseInt("{:I('get.pid')}") : 0;
var gameId = parseInt("{:I('get.gid')}") ? parseInt("{:I('get.gid')}") : 0;
if(password.length == 0){
pmsg.msg('密码不能为空');event.preventDefault();
return false;
}
if (mobile) {
});
$('.submit').click(function(event) {
var mobile = $.trim($('#mobile').val());
var code = $.trim($('#code').val());
var password = $.trim($('#password').val());
var promoteId = parseInt("{:I('get.pid')}") ? parseInt("{:I('get.pid')}") : 0;
var gameId = parseInt("{:I('get.gid')}") ? parseInt("{:I('get.gid')}") : 0;
if(password.length == 0){
pmsg.msg('密码不能为空');event.preventDefault();
return false;
}
if (mobile) {
if (code) {
$.ajax({
type:'POST',
url:'{:U("register")}',
data:{'phone':mobile,'code':code,'password':password,'promote_id':promoteId,'game_id':gameId},
dataType:"Json",
success:function(data){
if(data.status == 1){
pmsg.msg(data.msg);
window.location.href = data.url;
}else{
pmsg.msg(data.msg);
return false;
$.ajax({
type:'POST',
url:'{:U("register")}',
data:{'phone':mobile,'code':code,'password':password,'promote_id':promoteId,'game_id':gameId},
dataType:"Json",
success:function(data){
if(data.status == 1){
pmsg.msg(data.msg);
window.location.href = data.url;
}else{
pmsg.msg(data.msg);
return false;
}
}
}
});
return false;
return false;
} else{
pmsg.msg('请输入验证码');event.preventDefault();
pmsg.msg('请输入验证码');event.preventDefault();
}
} else {
pmsg.msg('请输入手机号码');event.preventDefault();
}
});
</script>
</body>
} else {
pmsg.msg('请输入手机号码');event.preventDefault();
}
});
</script>
</body>
</html>

@ -1,12 +1,18 @@
<extend name="Public/bases" />
<block name="body" >
<link href="__CSS__/user.css" rel="stylesheet" >
<script src="__JS__/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="__JS__/getRem.js"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/name.css">
<section class="trunker">
<section class="container">
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link href="__CSS__/user.css" rel="stylesheet" >
<script src="__JS__/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="__JS__/getRem.js"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/name.css">
<link rel="stylesheet" type="text/css" href="__CSS__/common-cz.css">
<title>万盟天下</title>
</head>
<body>
<form id="form" action="" method="post" onsubmit="return false" class="">
<div class="name">
<!-- 子页公共头部 -->
@ -14,82 +20,72 @@
<a href="javascript:window.history.go(-1);" class="arrows"></a>
</div>
<?php if(!empty($user['real_name'])){ ?>
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/shimingrenzhengmoren.png" alt="">
<div>真实姓名</div>
</div>
<input type="text" placeholder="请输入真实姓名" style="padding: 0;color: #292929" name="real_name" id="real_name" value="王大锤">
</div>
<?php }else{ ?>
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/shimingrenzhengmoren.png" alt="">
<div>真实姓名</div>
<if condition="$user.age_status eq 0">
<div class="login-box">
<div class="login-input">
<img src="__IMG__/user/mingzibianji2.png" alt="">
<input id="real_name" type="text" placeholder="请输入真实姓名">
</div>
<div class="login-input">
<img src="__IMG__/user/shimingrenzhengmoren2.png" alt="">
<input id="idcard" type="text" placeholder="请输入身份证号码">
</div>
<button class="login-btn jssubmit">提交</button>
</div>
<else />
<div class="remove-info">
<div class="remove-title">您已进行过实名认证</div>
<div class="remove-input">
<div>真实姓名:{$user['real_name']}</div>
<div>身份证号:{$user['idcard']}</div>
</div>
<div class="save back">返回设置中心</div>
</div>
<input type="text" placeholder="请输入真实姓名" style="padding: 0" name="real_name" id="real_name" value="{$user['real_name']}">
</div>
<?php }?>
<?php if(!empty($user['idcard'])){ ?>
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/haoma.png" alt="">
<div>证件号码</div>
</div>
<input type="text" placeholder="请输入证件号码" style="padding: 0;color: #292929" name="idcard" id="idcard" value="350516518718718748">
</div>
<?php }else{ ?>
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/haoma.png" alt="">
<div>证件号码</div>
</div>
<input type="text" placeholder="请输入证件号码" style="padding: 0" name="idcard" id="idcard" value="{$user['idcard']}">
</div>
<?php }?>
<div class="save jssubmit">保存修改</div>
</div>
</if>
</div>
</form>
</section>
</section>
<style>
.pop-dialog span{
top:25%;
line-height: 1.5;
max-width: 3rem;
padding: 10px;
font-size: .32rem;
}
</style>
<div class="popmsg pop-dialog"></div>
<script src="__JS__/pop.lwx.min.js"></script>
<script src="__STATIC__/isCardID.js"></script>
<script>
$(function() {
$(".back").on("click",function(){
window.history.go(-1)
})
$('.jssubmit').click(function() {
var pmsg = $('.popmsg').pop();
var real_name = $.trim($('#real_name').val());
var idcard = $.trim($('#idcard').val());
var pmsg = $('.popmsg').pop();
if(real_name == ""){
pmsg.msg("请输入真实姓名");
$('#real_name').focus();
return false;
}
if(idcard.length == 0){
pmsg.msg("身份证号码不能为空");
$('#idcard').focus();
return false;
}
if(real_name.length <2){
pmsg.msg("真实姓名必须大于两个字");
$('#real_name').focus();
return false;
}
var reg = /^[\u4E00-\u9FA5]+$/;
if(reg.test(real_name) == false){
pmsg.msg("输入姓名不合法");
$('#real_name').focus();
return false;
}
@ -97,7 +93,10 @@
cache:true,
type:'post',
url:"{:U('User/userauth')}",
data:$('#form').serialize(),
data:{
"idcard":idcard,
"real_name":real_name
},
dataType:'json',
success:function(result){
pmsg.msg(result.info);
@ -116,4 +115,4 @@
});
</script>
</block>
</body>

@ -34,42 +34,42 @@
<img src="{:get_img_url($vo['icon'])}" onerror="this.src='__IMG__/empty.jpg';this.onerror=null">
<span>{$vo.game_name}</span>
</div>
<if condition='$vo.and_dow_address eq "" && $vo.add_game_address eq "" && $vo.ios_dow_address eq "" && $vo.ios_game_address eq "" '>
<a class="btn disabled">立即进入</a>
<else/>
<?php $devicetype = get_device_type();?>
<eq name='devicetype' value='1'>
<eq name="vo.down_port" value="2">
<a href="{$vo['add_game_address']}" class="btn">立即进入</a>
<else />
<a url="<if condition='$vo.dow_status eq 0'>#<else/>{:U('AjaxDown/down_file?game_id='.$vo['relation_game_id'].'&type=1')}</if>" class="btn down">立即进入</a>
</eq>
<else />
<eq name='devicetype' value='2'>
<eq name="vo.down_port" value="2">
<a href="{$vo['add_game_address']}" class="btn">立即进入</a>
<else />
<a url="<if condition='$vo.dow_status eq 0'>#<else/>{:U('AjaxDown/down_file?game_id='.$vo['relation_game_id'].'&type=2')}</if>" class="btn down">立即进入</a>
</eq>
<else/>
<!-- <a url="#" class="btn disabled">下载</a> -->
<eq name="vo.sdk_version" value="1">
<eq name="vo.down_port" value="2">
<a href="{$vo['add_game_address']}" class="btn">立即进入</a>
<else />
<a url="<if condition='$vo.dow_status eq 0'>#<else/>{:U('AjaxDown/down_file?game_id='.$vo['relation_game_id'].'&type=1')}</if>" class="btn down">立即进入</a>
</eq>
</eq>
<eq name="vo.sdk_version" value="2">
<eq name="vo.down_port" value="2">
<a href="{$vo['ios_game_address']}" class="btn">立即进入</a>
<else />
<a url="<if condition='$vo.dow_status eq 0'>#<else/>{:U('AjaxDown/down_file?game_id='.$vo['relation_game_id'].'&type=2')}</if>" class="btn down">立即进入</a>
</eq>
</eq>
</eq>
</eq>
</if>
<!-- <if condition='$vo.and_dow_address eq "" && $vo.add_game_address eq "" && $vo.ios_dow_address eq "" && $vo.ios_game_address eq "" '>-->
<!-- <a class="btn disabled">立即进入</a>-->
<!-- <else/>-->
<!-- <?php $devicetype = get_device_type();?>-->
<!-- <eq name='devicetype' value='1'>-->
<!-- <eq name="vo.down_port" value="2">-->
<!-- <a href="{$vo['add_game_address']}" class="btn">立即进入</a>-->
<!-- <else />-->
<!-- <a url="<if condition='$vo.dow_status eq 0'>#<else/>{:U('AjaxDown/down_file?game_id='.$vo['relation_game_id'].'&type=1')}</if>" class="btn down">立即进入</a>-->
<!-- </eq>-->
<!-- <else />-->
<!-- <eq name='devicetype' value='2'>-->
<!-- <eq name="vo.down_port" value="2">-->
<!-- <a href="{$vo['add_game_address']}" class="btn">立即进入</a>-->
<!-- <else />-->
<!-- <a url="<if condition='$vo.dow_status eq 0'>#<else/>{:U('AjaxDown/down_file?game_id='.$vo['relation_game_id'].'&type=2')}</if>" class="btn down">立即进入</a>-->
<!-- </eq>-->
<!-- <else/>-->
<!-- &lt;!&ndash; <a url="#" class="btn disabled">下载</a> &ndash;&gt;-->
<!-- <eq name="vo.sdk_version" value="1">-->
<!-- <eq name="vo.down_port" value="2">-->
<!-- <a href="{$vo['add_game_address']}" class="btn">立即进入</a>-->
<!-- <else />-->
<!-- <a url="<if condition='$vo.dow_status eq 0'>#<else/>{:U('AjaxDown/down_file?game_id='.$vo['relation_game_id'].'&type=1')}</if>" class="btn down">立即进入</a>-->
<!-- </eq>-->
<!-- </eq>-->
<!-- <eq name="vo.sdk_version" value="2">-->
<!-- <eq name="vo.down_port" value="2">-->
<!-- <a href="{$vo['ios_game_address']}" class="btn">立即进入</a>-->
<!-- <else />-->
<!-- <a url="<if condition='$vo.dow_status eq 0'>#<else/>{:U('AjaxDown/down_file?game_id='.$vo['relation_game_id'].'&type=2')}</if>" class="btn down">立即进入</a>-->
<!-- </eq>-->
<!-- </eq>-->
<!-- </eq>-->
<!-- </eq>-->
<!-- </if>-->
<!-- <a href="{$vo['add_game_address']}">立即进入</a> -->
</div>
</div>

@ -10,7 +10,7 @@
<form id="form" action="" method="post" onsubmit="return false" class="">
<div class="name">
<!-- 子页公共头部 -->
<div class="subpage-heard">修改名字
<div class="subpage-heard">修改昵称
<a href="javascript:window.history.go(-1);" class="arrows"></a>
</div>
<div class="name-info">

@ -4,47 +4,39 @@
<script src="__JS__/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="__JS__/getRem.js"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/name.css">
<section class="trunker">
<section class="container">
<form id="form" action="" method="post" onsubmit="return false" class="">
<div class="name">
<!-- 子页公共头部 -->
<div class="subpage-heard">修改密码
<a href="javascript:window.history.go(-1);" class="arrows"></a>
</div>
<div class="name-info">
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/xiugaimima.png" alt="">
<div>原始密码</div>
</div>
<input type="text" placeholder="请输入原始密码" style="padding: 0" name="old_pwd" id="old_pwd" value="">
</div>
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/xiugaimima.png" alt="">
<div>新密码</div>
</div>
<input type="text" placeholder="请输入新密码" style="padding: 0" name="new_pwd" id="new_pwd" value="">
</div>
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/xiugaimima.png" alt="">
<div>确认密码</div>
</div>
<input type="text" placeholder="请输入确认密码" style="padding: 0" name="com_pwd" id="com_pwd" value="">
</div>
<div class="save jssubmit">保存修改</div>
</div>
<link rel="stylesheet" type="text/css" href="__CSS__/password.css">
<style>
body {
background: white;
}
input,button{
padding: 0;
}
</style>
<div class="name">
<!-- 子页公共头部 -->
<div class="subpage-heard">修改密码
<a href="javascript:window.history.go(-1);" class="arrows"></a>
</div>
<form action="" id="form">
<div class="login-box">
<div class="login-input">
<img src="__IMG__/suo.png" alt="">
<input type="text" placeholder="请输入原始密码" name="old_pwd" id="old_pwd" value="">
</div>
</form>
</section>
</section>
<div class="login-input">
<img src="__IMG__/suo.png" alt="">
<input type="password" placeholder="请输入新密码" name="new_pwd" id="new_pwd" value="">
</div>
<div class="login-input">
<img src="__IMG__/suo.png" alt="">
<input type="password" placeholder="请输入新密码" name="com_pwd" id="com_pwd" value="">
</div>
<div class="login-btn jssubmit">提交</div>
</div>
</form>
</div>
<div class="popmsg pop-dialog"></div>
<script src="__JS__/pop.lwx.min.js"></script>
<script>

@ -4,58 +4,40 @@
<script src="__JS__/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="__JS__/getRem.js"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/name.css">
<link rel="stylesheet" type="text/css" href="__CSS__/remove.css">
<style>
body {
background: white;
}
input,button{
padding: 0;
}
</style>
<div class="name">
<!-- 子页公共头部 -->
<div class="subpage-heard"><empty name="user.phone">绑定手机<else/>解除绑定</empty>
<a href="javascript:window.history.go(-1);" class="arrows"></a>
</div>
<div class="remove-info">
<form id='form' action="" method="post" class="">
<?php if(!empty($user['phone'])){ ?>
<div class="remove-input">
<div class="remove-inputBox">
<img src="__IMG__/shoujibangding.png" alt="">
<div>手机号</div>
<form action="" id="form">
<div class="login-box">
<?php if(!empty($user['phone'])){ ?>
<div class="login-input">
<img src="__IMG__/shouji.png" alt="">
<input style="color: #292929" type="text" placeholder="请输入手机号" readonly style="padding: 0" name="phone" id="phone" value="{$user['phone']}">
</div>
<div style="color: #292929">{$user['phone']}</div>
<input type="hidden" name="phone" id="phone" value="{$user['phone']}">
</div>
<?php }else{ ?>
<div class="name-input">
<div class="name-inputBox">
<img src="__IMG__/shoujibangding.png" alt="">
<div>手机号</div>
<?php }else{ ?>
<div class="login-input">
<img src="__IMG__/shouji.png" alt="">
<input type="text" placeholder="请输入手机号" name="phone" id="phone" value="{$user['phone']}">
</div>
<input type="text" placeholder="请输入手机号" style="padding: 0" name="phone" id="phone" value="{$user['phone']}">
</div>
<?php }?>
<div class="remove-input">
<div class="remove-inputBox">
<img src="__IMG__/mingzibianji.png" alt="">
<div>验证码</div>
<?php }?>
<div class="login-code">
<input type="text" placeholder="请输入验证码" id="scode" name="scode" value="">
<div id="sendSafeCode">获取验证码</div>
</div>
<div class="code g-btn" id="sendSafeCode">获取验证码</div>
<div class="login-btn jssubmit">提交</div>
</div>
<div class="save jssubmit">保存修改</div>
</form>
</div>
</form>
</div>
<div class="popmsg pop-dialog"></div>

@ -84,7 +84,7 @@
</div>
<a href="{:U('usernick')}" class="right">{$user['nickname']}</a>
</div>
<div class="setting-info arror">
<div class="setting-info arror" style="display: none">
<div class="left">
<img src="__IMG__/xingbie2.png" alt="">
<span>性别</span>
@ -127,8 +127,8 @@
</div>
</div>
<div class="btnbox user-set-btnbox">
<a href="javascript:;" class="btn jsquit">退出登录</a>
<div class="btnbox user-set-btnbox jsquit">
退出登录
</div>
<div class="pop pop-window" style="font-size: .28rem;">
@ -149,6 +149,7 @@
var pmsg = $('.popmsg').pop();
$('.portraitbtn').click(function () {
return false;
//pmsg.msg('请到PC端网站或APP应用上更改');
var pop = $('.pop').addClass('pop-head').pop();
pop.open(800, '<div style="font-size: .36rem;margin-top: .5rem;">请到APP上更改头像</div><div class="godownbox"><a href="/media.php?s=/Index/download.html" class="btn">去下载APP</a></div>');

@ -613,3 +613,42 @@ order_time:切分时间' WHERE `id` = 29;
--
ALTER TABLE `tab_device_bans`
MODIFY COLUMN `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '类型 0未知 1设备号 2IP 3落地页链接 4下载链接' AFTER `tag`;
-- 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 '游戏评分';
-- chenzhi 2019-12-04
CREATE TABLE `tab_server_notice` (
`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 AUTO_INCREMENT=488 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='游戏区服预告表';
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');

@ -11,9 +11,10 @@
align-items: center;
justify-content: space-between;
}
.heard>img{
.heard>div>img{
width: 2.5rem;
height: 2.5rem;
border-radius: 0.3rem;
}
.heard>.right{
margin-left: 0.3rem;
@ -70,11 +71,21 @@
.evaluate .start{
display: flex;
align-items: center;
margin-left: 0.32rem;
margin-left: 0.22rem;
}
.evaluate .start>img{
width: 0.3rem;
.evaluate .start .iconImg{
display: inline-block;
vertical-align: middle;
width: 1.84rem;
height: 0.3rem;
background: url("../images/game_score1.png")no-repeat left center;
background-size: auto 100%;
}
.evaluate .start .iconImg>div{
display: block;
height: 100%;
background: url("../images/game_score2.png")no-repeat left center;
background-size: auto 100%;
}
.evaluate-box{
display: flex;
@ -109,13 +120,14 @@
}
.slide-item{
width: 4.4rem;
/* height: 6.22rem; */
/*height: 6.22rem;*/
margin-right: 30px;
list-style: none;
}
.slide-item >img{
width: 100%;
height: 100%;
height: 7.82rem;
pointer-events: none;
}
/*隐藏掉滚动条*/
.slide-box::-webkit-scrollbar {
@ -442,4 +454,60 @@
}
.swiper-container-horizontal>.swiper-pagination-bullets{
bottom: -9px !important;
}
}
.safari{
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.4);
display: flex;
flex-direction: column;
align-items: center;
font-family:PingFang SC;
}
.safari-heard{
width: 6.3rem;
margin-top: 1.4rem;
font-size:0.36rem;
font-weight:500;
color:rgba(255,255,255,1);
display: flex;
justify-content: flex-end;
}
.safari-heard>div{
margin-top: 0.65rem;
}
.safari-heard>img{
width: 1rem;
height: 0.8rem;
margin-left: 0.25rem;
}
.safari-info{
margin-top: 2.4rem;
background: url("../images/safari_bg.png") no-repeat;
width: 6.3rem;
height: 2.8rem;
background-size: 100% 100%;
display: flex;
align-items: center;
justify-content: center;
}
.safari-info>img{
width: 1.5rem;
height: 1.5rem;
margin-right: 0.24rem;
}
.safari-info>div{
color: #fff;
font-size: 0.32rem;
font-weight: 500;
}
.safari-info>div a{
color: #FCE44B;
font-size: 0.32rem;
font-weight: 500;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

@ -54,6 +54,10 @@
background-color: #00A3E1;
color: #fff;
}
.service_left .list li:hover{
cursor:pointer;
}
.service_left .content{
width: 100%;
height: 400px;

@ -9,7 +9,7 @@ html {
color:#333;
overflow-x:hidden;
margin: 0 auto;
max-width: 640px;
/*max-width: 640px;*/
}
img {
/*height: 100%;*/
@ -39,7 +39,7 @@ body {
-webkit-highlight: none;
overflow:auto;
-webkit-tap-highlight-color: rgba(0,0,0,0);
max-width:640px;
/*max-width:640px;*/
margin:0 auto;
}
.clearfix {

@ -0,0 +1,95 @@
.loginPhTwo{
width: 100%;
font-family:PingFang SC;
}
.login-box{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.login-input{
margin-top: 0.6rem;
width: 5.5rem;
height: 0.8rem;
display: flex;
align-items: center;
justify-content: center;
background:rgba(245,245,245,1);
border-radius:0.4rem;
}
.login-input>img{
width: 0.42rem;
height: 0.42rem;
}
.login-input>input{
font-size: 0.28rem;
border: 0;
outline: 0;
height: 0.6rem;
width: 4rem;
margin-left: 0.16rem;
background-color: rgba(245,245,245,1);
}
.login-input>input::placeholder{
color: #A9A9A9;
}
.login-code{
margin-top: 0.6rem;
display: flex;
align-items: center;
justify-content: center;
}
.login-code>input{
width: 3rem;
height: 0.8rem;
background-color: #F5F5F5;
border-radius: 0.4rem;
font-size: 0.28rem;
text-align: center;
border: 0;
outline: 0;
}
.login-code>input::placeholder{
text-align: center;
color: #A9A9A9;
}
.login-code>div{
width: 2.3rem;
height: 0.8rem;
background-color: #389AED;
font-size: 0.28rem;
color: #FFFFFF;
border-radius: 0.4rem;
margin-left: 0.2rem;
text-align: center;
line-height: 0.8rem;
}
.login-btn{
margin-top: 0.6rem;
width: 5.5rem;
height: 0.8rem;
background-color: #389AED;
border-radius: 0.4rem;
font-size: 0.32rem;
color: #fff;
text-align: center;
line-height: 0.8rem;
outline: 0;
border: 0;
}
.forget-text{
font-size: 0.24rem;
color: #292929;
margin-top: 0.3rem;
font-weight: 400;
text-align: center;
line-height: 0.4rem;
}
.forget-text a{
color: #389AED;
font-size: 0.24rem;
font-weight: 400;
margin-left: 0.1rem;
cursor: pointer;
}

@ -77,4 +77,14 @@
line-height: 0.8rem;
outline: 0;
border: 0;
}
}
.login-agreement {
font-size: 0.24rem;
color: #292929;
margin-top: 0.32rem;
}
.login-agreement>a {
color: #389AED;
font-size: 0.24rem;
}

@ -45,4 +45,142 @@
line-height: 0.8rem;
text-align: center;
margin: 0.3rem auto 0 auto;
}
}
.remove-info{
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
font-family:PingFang SC;
}
.remove-title{
margin-top: 1.2rem;
font-size:0.4rem;
font-weight:500;
color:rgba(33,177,235,1);
}
.remove-input {
width: 3.6rem;
height: 0.78rem;
font-size: 0.28rem;
margin-top: 0.52rem;
color: #292929;
font-size: 0.24rem;
font-weight: 400;
}
.remove-input>div:last-child{
margin-top: 0.28rem;
}
.save{
margin-top: 1.2rem;
width:5rem;
height:0.8rem;
background:rgba(33,177,235,1);
border-radius:0.4rem;
font-size:0.32rem;
font-family:PingFang SC;
font-weight:500;
color:rgba(255,255,255,1);
line-height: 0.8rem;
text-align: center;
}
.loginPhTwo{
width: 100%;
font-family:PingFang SC;
}
.login-box{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.login-input{
margin-top: 0.6rem;
width: 5.5rem;
height: 0.8rem;
display: flex;
align-items: center;
justify-content: center;
background:rgba(245,245,245,1);
border-radius:0.4rem;
}
.login-input>img{
width: 0.42rem;
height: 0.42rem;
}
.login-input>input{
font-size: 0.28rem;
border: 0;
outline: 0;
height: 0.6rem;
width: 4rem;
margin-left: 0.16rem;
background-color: rgba(245,245,245,1);
}
.login-input>input::placeholder{
color: #A9A9A9;
}
.login-code{
margin-top: 0.6rem;
display: flex;
align-items: center;
justify-content: center;
}
.login-code>input{
width: 3rem;
height: 0.8rem;
background-color: #F5F5F5;
border-radius: 0.4rem;
font-size: 0.28rem;
text-align: center;
border: 0;
outline: 0;
}
.login-code>input::placeholder{
text-align: center;
color: #A9A9A9;
}
.login-code>div{
width: 2.3rem;
height: 0.8rem;
background-color: #389AED;
font-size: 0.28rem;
color: #FFFFFF;
border-radius: 0.4rem;
margin-left: 0.2rem;
text-align: center;
line-height: 0.8rem;
}
.login-btn{
margin-top: 0.6rem;
width: 5.5rem;
height: 0.8rem;
background-color: #389AED;
border-radius: 0.4rem;
font-size: 0.32rem;
color: #fff;
text-align: center;
line-height: 0.8rem;
outline: 0;
border: 0;
}
.forget-text{
font-size: 0.24rem;
color: #292929;
margin-top: 0.3rem;
font-weight: 400;
text-align: center;
line-height: 0.4rem;
}
.forget-text a{
color: #389AED;
font-size: 0.24rem;
font-weight: 400;
margin-left: 0.1rem;
cursor: pointer;
}

@ -0,0 +1,95 @@
.loginPhTwo{
width: 100%;
font-family:PingFang SC;
}
.login-box{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.login-input{
margin-top: 0.6rem;
width: 5.5rem;
height: 0.8rem;
display: flex;
align-items: center;
justify-content: center;
background:rgba(245,245,245,1);
border-radius:0.4rem;
}
.login-input>img{
width: 0.42rem;
height: 0.42rem;
}
.login-input>input{
font-size: 0.28rem;
border: 0;
outline: 0;
height: 0.6rem;
width: 4rem;
margin-left: 0.16rem;
background-color: rgba(245,245,245,1);
}
.login-input>input::placeholder{
color: #A9A9A9;
}
.login-code{
margin-top: 0.6rem;
display: flex;
align-items: center;
justify-content: center;
}
.login-code>input{
width: 3rem;
height: 0.8rem;
background-color: #F5F5F5;
border-radius: 0.4rem;
font-size: 0.28rem;
text-align: center;
border: 0;
outline: 0;
}
.login-code>input::placeholder{
text-align: center;
color: #A9A9A9;
}
.login-code>div{
width: 2.3rem;
height: 0.8rem;
background-color: #389AED;
font-size: 0.28rem;
color: #FFFFFF;
border-radius: 0.4rem;
margin-left: 0.2rem;
text-align: center;
line-height: 0.8rem;
}
.login-btn{
margin-top: 0.6rem;
width: 5.5rem;
height: 0.8rem;
background-color: #389AED;
border-radius: 0.4rem;
font-size: 0.32rem;
color: #fff;
text-align: center;
line-height: 0.8rem;
outline: 0;
border: 0;
}
.forget-text{
font-size: 0.24rem;
color: #292929;
margin-top: 0.3rem;
font-weight: 400;
text-align: center;
line-height: 0.4rem;
}
.forget-text a{
color: #389AED;
font-size: 0.24rem;
font-weight: 400;
margin-left: 0.1rem;
cursor: pointer;
}

@ -1,61 +1,95 @@
.remove-info{
.loginPhTwo{
width: 100%;
font-family:PingFang SC;
}
.remove-input {
padding: 0.15rem 0.3rem;
.login-box{
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #F5F5F5;
height: 0.78rem;
font-size: 0.28rem;
justify-content: center;
}
.remove-inputBox {
.login-input{
margin-top: 0.6rem;
width: 5.5rem;
height: 0.8rem;
display: flex;
align-items: center;
font-size:0.28rem;
font-family:PingFang SC;
font-weight:500;
color:rgba(41,41,41,1)
justify-content: center;
background:rgba(245,245,245,1);
border-radius:0.4rem;
}
.remove-inputBox>img{
width: 0.3rem;
height: 0.3rem;
margin-right: 0.23rem;
.login-input>img{
width: 0.42rem;
height: 0.42rem;
}
.remove-inputBox>input{
width: 1.8rem;
height: 0.5rem;
.login-input>input{
font-size: 0.28rem;
border: 0;
outline: 0;
padding: 0;
height: 0.6rem;
width: 4rem;
margin-left: 0.16rem;
background-color: rgba(245,245,245,1);
}
.login-input>input::placeholder{
color: #A9A9A9;
}
.login-code{
margin-top: 0.6rem;
display: flex;
align-items: center;
justify-content: center;
}
.login-code>input{
width: 3rem;
height: 0.8rem;
background-color: #F5F5F5;
border-radius: 0.4rem;
font-size: 0.28rem;
margin-left: 0.33rem;
}
.code{
width:1.84rem;
height:0.6rem;
background:rgba(33,177,235,1);
border-radius:0.3rem;
font-size:0.28rem;
font-family:PingFang SC;
font-weight:400;
color:rgba(255,255,255,1);
text-align: center;
line-height: 0.6rem;
border: 0;
outline: 0;
}
.login-code>input::placeholder{
text-align: center;
color: #A9A9A9;
}
.save{
width:5rem;
height:0.8rem;
background:rgba(33,177,235,1);
border-radius:0.4rem;
font-size:0.32rem;
font-family:PingFang SC;
font-weight:500;
color:rgba(255,255,255,1);
.login-code>div{
width: 2.3rem;
height: 0.8rem;
background-color: #389AED;
font-size: 0.28rem;
color: #FFFFFF;
border-radius: 0.4rem;
margin-left: 0.2rem;
text-align: center;
line-height: 0.8rem;
}
.login-btn{
margin-top: 0.6rem;
width: 5.5rem;
height: 0.8rem;
background-color: #389AED;
border-radius: 0.4rem;
font-size: 0.32rem;
color: #fff;
text-align: center;
margin: 0.3rem auto 0 auto;
margin-bottom: 10px;
line-height: 0.8rem;
outline: 0;
border: 0;
}
.forget-text{
font-size: 0.24rem;
color: #292929;
margin-top: 0.3rem;
font-weight: 400;
text-align: center;
line-height: 0.4rem;
}
.forget-text a{
color: #389AED;
font-size: 0.24rem;
font-weight: 400;
margin-left: 0.1rem;
cursor: pointer;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -1,17 +1,27 @@
$(function(){
var img = $(".swiper-container .swiper-slide").length;
var swiper = new Swiper('.swiper-container', {
loop: true,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
/*autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false,
},*/
autoplay: img > 1,
});
if(img<=1){
var swiper = new Swiper('.swiper-container', {
loop: true,
autoplay: img > 1,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
});
}else{
var swiper = new Swiper('.swiper-container', {
loop: true,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
autoplay: {
stopOnLastSlide: false,
disableOnInteraction: false,
},
});
}
});
Loading…
Cancel
Save