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

master
chenzhi 5 years ago
commit 8007d9954f

@ -297,17 +297,17 @@ class AutoPackController extends Think
$map = [];
$map['status'] = 1;
$map['enable_status'] = ['in', '0,2'];
$applys = M('apply', 'tab_')->field('id,game_id,game_name,promote_id,promote_account,sdk_version')
->where($map)
->order('bale_sort desc,id desc')
->limit(200)
->select();
if (count($applys) == 0) {
Printer::export('无等待队列', true);
}
$applyIds = array_column($applys, 'id');
M('apply', 'tab_')->where(['id' => ['in', $applyIds]])->save(['enable_status' => 3]);
@ -353,7 +353,7 @@ class AutoPackController extends Think
->field('a.id,a.game_id,a.game_name,a.promote_account,a.pack_url,a.plist_url,a.promote_id,a.sdk_version,a.enable_status')
->join('tab_apply_launch as al on (al.apply_id=a.id) ')
->where($map)
->limit(300)
->limit(300)
->group('a.id')
->select();
foreach ($apply as $key => $value) {
@ -367,7 +367,7 @@ class AutoPackController extends Think
$launchmodel -> where(['apply_id' => $value['id']]) -> setField('launch_packge', 0);
continue;
}
if (!empty($gameSourceUrl) && is_file($gameSourceUrl)) {
$launch = $launchmodel -> where(['apply_id' => $value['id'], 'launch_packge' => array('in', [0, 2, 3])]) -> select();
@ -1054,6 +1054,4 @@ class AutoPackController extends Think
return '';
}
}
}

@ -126,4 +126,53 @@ class ConsoleController extends Think {
}
}
}
public function deleteRepeatUserPlayInfo()
{
// $gameId = 157;
// $gameId = 155;
$gameId = 153;
$sql = 'select id from tab_user_play_info a left join (
select role_id, server_id, game_id, count(1) from tab_user_play_info where server_id="' . $serverId . '" and game_id = ' . $gameId . ' GROUP BY role_id, server_id, game_id, server_name having count(1) > 1
) b on a.role_id=b.role_id where a.server_id=b.server_id and a.game_id=b.game_id and a.server_id="' . $serverId . '" and a.game_id = ' . $gameId . ' order by a.role_id, a.server_id, a.game_id';
$model = new \Think\Model();
$servers = M('server', 'tab_')->field('server_id')->where(['game_id' => $gameId])->group('server_id')->select();
foreach ($servers as $server) {
$serverId = $server['server_id'];
$sql = 'select a.id, a.role_id, a.server_id, a.game_id, a.role_level from tab_user_play_info a left join (
select role_id, server_id, game_id, count(1) from tab_user_play_info where server_id="' . $serverId . '" and game_id = ' . $gameId . ' GROUP BY role_id, server_id, game_id, server_name having count(1) > 1
) b on a.role_id=b.role_id where a.server_id=b.server_id and a.game_id=b.game_id and a.server_id="' . $serverId . '" and a.game_id = ' . $gameId . ' order by a.role_id, a.server_id, a.game_id';
// var_dump($sql);
$result = $model->query($sql);
$uniqueRole = null;
$items = [];
foreach ($result as $item) {
$items[$item['role_id']][] = $item;
}
$maxRoleIds = [];
$repeatIds = [];
foreach ($items as $roles) {
$maxRole = null;
foreach ($roles as $role) {
if ($maxRole == null) {
$maxRole = $role;
} elseif ($role['role_level'] > $maxRole['role_level']) {
$repeatIds[] = $maxRole['id'];
$maxRole = $role;
} else {
$repeatIds[] = $role['id'];
}
}
$maxRoleIds[] = $maxRole['id'];
}
if (count($repeatIds) > 0) {
M('user_play_info', 'tab_')->where(['id' => ['in', $repeatIds], 'game_id' => $gameId, 'server_id' => $serverId])->delete();
echo M()->getLastSql();
echo PHP_EOL;
}
}
}
}

@ -8,6 +8,7 @@
// +----------------------------------------------------------------------
namespace Admin\Controller;
use User\Api\UserApi;
use Com\Wechat;
use Com\WechatAuth;
@ -16,32 +17,34 @@ use Com\WechatAuth;
* 后台用户控制器
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
*/
class UserController extends AdminController {
class UserController extends AdminController
{
/**
* 用户管理首页
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
*/
public function index(){
$nickname = I('nickname');
if(isset($_REQUEST['status'])){
$map['status'] = $_REQUEST['status'];
}
if(is_numeric($nickname)){
$map['uid|nickname']= array(intval($nickname),array('like','%'.$nickname.'%'),'_multi'=>true);
}else{
$map['nickname'] = array('like', '%'.(string)$nickname.'%');
}
$list = $this->lists('Member', $map);
public function index()
{
$nickname = I('nickname');
if (isset($_REQUEST['status'])) {
$map['status'] = $_REQUEST['status'];
}
if (is_numeric($nickname)) {
$map['uid|nickname'] = array(intval($nickname), array('like', '%' . $nickname . '%'), '_multi' => true);
} else {
$map['nickname'] = array('like', '%' . (string)$nickname . '%');
}
$list = $this->lists('Member', $map);
int_to_string($list);
$this->assign('_list', $list);
$this->meta_title = '管理员列表';
$this->m_title = '管理员列表';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'User/index','status'=>1])->find());
$this->m_title = '管理员列表';
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'User/index', 'status' => 1])->find());
$this->display();
}
@ -49,7 +52,8 @@ class UserController extends AdminController {
* 修改昵称初始化
* @author huajie <banhuajie@163.com>
*/
public function updateNickname(){
public function updateNickname()
{
$nickname = M('Member')->getFieldByUid(UID, 'nickname');
$this->assign('nickname', $nickname);
$this->meta_title = '修改昵称';
@ -60,7 +64,8 @@ class UserController extends AdminController {
* 修改昵称提交
* @author huajie <banhuajie@163.com>
*/
public function submitNickname(){
public function submitNickname()
{
//获取参数
$nickname = I('post.nickname');
$password = I('post.password');
@ -68,25 +73,25 @@ class UserController extends AdminController {
empty($password) && $this->error('请输入密码');
//密码验证
$User = new UserApi();
$uid = $User->login(UID, $password, 4);
$User = new UserApi();
$uid = $User->login(UID, $password, 4);
($uid == -2) && $this->error('密码不正确');
$Member = D('Member');
$data = $Member->create(array('nickname'=>$nickname));
if(!$data){
$Member = D('Member');
$data = $Member->create(array('nickname' => $nickname));
if (!$data) {
$this->error($Member->getError());
}
$res = $Member->where(array('uid'=>$uid))->save($data);
$res = $Member->where(array('uid' => $uid))->save($data);
if($res){
$user = session('user_auth');
$user['username'] = $data['nickname'];
if ($res) {
$user = session('user_auth');
$user['username'] = $data['nickname'];
session('user_auth', $user);
session('user_auth_sign', data_auth_sign($user));
$this->success('修改昵称成功!');
}else{
} else {
$this->error('修改昵称失败!');
}
}
@ -95,7 +100,8 @@ class UserController extends AdminController {
* 修改密码初始化
* @author huajie <banhuajie@163.com>
*/
public function updatePassword(){
public function updatePassword()
{
$this->meta_title = '修改密码';
$this->display('updatepassword');
}
@ -104,24 +110,25 @@ class UserController extends AdminController {
* 修改密码提交
* @author huajie <banhuajie@163.com>
*/
public function submitPassword(){
public function submitPassword()
{
//获取参数
$password = I('post.old');
$password = I('post.old');
empty($password) && $this->error('请输入原密码');
$data['password'] = I('post.password');
empty($data['password']) && $this->error('请输入新密码');
$repassword = I('post.repassword');
empty($repassword) && $this->error('请输入确认密码');
if($data['password'] !== $repassword){
if ($data['password'] !== $repassword) {
$this->error('您输入的新密码与确认密码不一致');
}
$Api = new UserApi();
$res = $Api->updateInfo(UID, $password, $data);
if($res['status']){
$Api = new UserApi();
$res = $Api->updateInfo(UID, $password, $data);
if ($res['status']) {
$this->success('修改密码成功!');
}else{
} else {
$this->error($res['info']);
}
}
@ -130,13 +137,14 @@ class UserController extends AdminController {
* 用户行为列表
* @author huajie <banhuajie@163.com>
*/
public function action(){
public function action()
{
//获取列表数据
$Action = M('Action')->where(array('status'=>array('gt',-1)));
$list = $this->lists($Action);
$Action = M('Action')->where(array('status' => array('gt', -1)));
$list = $this->lists($Action);
int_to_string($list);
// 记录当前列表页的cookie
Cookie('__forward__',$_SERVER['REQUEST_URI']);
Cookie('__forward__', $_SERVER['REQUEST_URI']);
$this->assign('_list', $list);
$this->meta_title = '用户行为';
@ -147,9 +155,10 @@ class UserController extends AdminController {
* 新增行为
* @author huajie <banhuajie@163.com>
*/
public function addAction(){
public function addAction()
{
$this->meta_title = '新增行为';
$this->assign('data',null);
$this->assign('data', null);
$this->display('editaction');
}
@ -157,12 +166,13 @@ class UserController extends AdminController {
* 编辑行为
* @author huajie <banhuajie@163.com>
*/
public function editAction(){
public function editAction()
{
$id = I('get.id');
empty($id) && $this->error('参数不能为空!');
$data = M('Action')->field(true)->find($id);
$this->assign('data',$data);
$this->assign('data', $data);
$this->meta_title = '编辑行为';
$this->display('editaction');
}
@ -171,12 +181,13 @@ class UserController extends AdminController {
* 更新行为
* @author huajie <banhuajie@163.com>
*/
public function saveAction(){
public function saveAction()
{
$res = D('Action')->update();
if(!$res){
if (!$res) {
$this->error(D('Action')->getError());
}else{
$this->success($res['id']?'更新成功!':'新增成功!', Cookie('__forward__'));
} else {
$this->success($res['id'] ? '更新成功!' : '新增成功!', Cookie('__forward__'));
}
}
@ -184,23 +195,24 @@ class UserController extends AdminController {
* 会员状态修改
* @author 朱亚杰 <zhuyajie@topthink.net>
*/
public function changeUserStatus($method=null){
$id = array_unique((array)I('id',0));
if( in_array(C('USER_ADMINISTRATOR'), $id)){
public function changeUserStatus($method = null)
{
$id = array_unique((array)I('id', 0));
if (in_array(C('USER_ADMINISTRATOR'), $id)) {
$this->error("不允许对超级管理员执行该操作!");
}
$id = is_array($id) ? implode(',',$id) : $id;
if ( empty($id) ) {
$id = is_array($id) ? implode(',', $id) : $id;
if (empty($id)) {
$this->error('请选择要操作的数据!');
}
$map['uid'] = array('in',$id);
$map1['id'] = array('in',$id);
$status=I('method')=='forbidUser'?0:1;
$res= M('UcenterMember')->where($map1)->setField('status',$status);
$res1= M('Member')->where($map)->setField('status',$status);
if($res&&$res1){
$map['uid'] = array('in', $id);
$map1['id'] = array('in', $id);
$status = I('method') == 'forbidUser' ? 0 : 1;
$res = M('UcenterMember')->where($map1)->setField('status', $status);
$res1 = M('Member')->where($map)->setField('status', $status);
if ($res && $res1) {
$this->success('更新成功!');
}else{
} else {
$this->error('更新失败!');
}
@ -211,43 +223,45 @@ class UserController extends AdminController {
* 会员状态修改
* @author 朱亚杰 <zhuyajie@topthink.net>
*/
public function changeStatus($method=null){
$id = array_unique((array)I('id',0));
if( in_array(C('USER_ADMINISTRATOR'), $id)){
public function changeStatus($method = null)
{
$id = array_unique((array)I('id', 0));
if (in_array(C('USER_ADMINISTRATOR'), $id)) {
$this->error("不允许对超级管理员执行该操作!");
}
$id = is_array($id) ? implode(',',$id) : $id;
if ( empty($id) ) {
$id = is_array($id) ? implode(',', $id) : $id;
if (empty($id)) {
$this->error('请选择要操作的数据!');
}
$map['uid'] = array('in',$id);
switch ( strtolower($method) ){
$map['uid'] = array('in', $id);
switch (strtolower($method)) {
case 'forbiduser':
\Think\Log::actionLog('User/changeStatus?method=forbidUser','user',1);
$this->forbid('Member', $map );
\Think\Log::actionLog('User/changeStatus?method=forbidUser', 'user', 1);
$this->forbid('Member', $map);
break;
case 'resumeuser':
\Think\Log::actionLog('User/changeStatus?method=resumeuser','user',1);
$this->resume('Member', $map );
\Think\Log::actionLog('User/changeStatus?method=resumeuser', 'user', 1);
$this->resume('Member', $map);
break;
case 'deleteuser':
\Think\Log::actionLog('User/changeStatus?method=deleteuser','user',1);
$this->delete('Member', $map );
\Think\Log::actionLog('User/changeStatus?method=deleteuser', 'user', 1);
$this->delete('Member', $map);
break;
default:
$this->error('参数非法');
}
}
public function add($username = '', $password = '', $repassword = '', $email = '',$second_pwd=''){
public function add($username = '', $password = '', $repassword = '', $email = '', $second_pwd = '')
{
if(IS_POST){
if (IS_POST) {
/*检测用户名是否为空*/
if (empty($username)){
if (empty($username)) {
$this->error('管理员账号不能为空!');
}
/* 检测密码 */
if($password != $repassword){
if ($password != $repassword) {
$this->error('管理员密码和确认密码不一致!');
}
$usernameUser = M('UcenterMember', 'sys_')->field('username')->where(['username' => $username])->find();
@ -259,84 +273,87 @@ class UserController extends AdminController {
$this->error('邮箱已存在!');
}
/* 调用注册接口注册用户 */
$User = new UserApi;
$uid = $User->register($username, $password, $email,$second_pwd);
if(0 < $uid){ //注册成功
$User = new UserApi;
$uid = $User->register($username, $password, $email, $second_pwd);
if (0 < $uid) { //注册成功
$user = array('uid' => $uid, 'nickname' => $username, 'status' => 1);
$data['uid'] = $uid;
$data['group_id'] = I('auth');
M('auth_group_access')->data($data)->add();
if(!M('Member')->add($user)){
if (!M('Member')->add($user)) {
$this->error('用户添加失败!');
} else {
\Think\Log::actionLog('User/add','Member',$uid);
$this->success('用户添加成功!',U('index'));
\Think\Log::actionLog('User/add', 'Member', $uid);
$this->success('用户添加成功!', U('index'));
}
} else { //注册失败,显示错误信息
$this->error($this->showRegError($uid));
}
} else {
$list=D('AuthGroup')->where(array('status'=>1))->select();
$this->assign('lists',$list);
$list = D('AuthGroup')->where(array('status' => 1))->select();
$this->assign('lists', $list);
$this->meta_title = '新增管理员';
$this->m_title = '管理员列表';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'User/index','status'=>1])->find());
$this->m_title = '管理员列表';
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'User/index', 'status' => 1])->find());
$this->display();
}
}
/**
* 系统非常规MD5加密方法
* @param string $str 要加密的字符串
* @return string
*/
function think_ucenter_md5($str, $key = 'ThinkUCenter'){
return '' === $str ? '' : md5(sha1($str) . $key);
}
public function edit($id){
/**
* 系统非常规MD5加密方法
* @param string $str 要加密的字符串
* @return string
*/
function think_ucenter_md5($str, $key = 'ThinkUCenter')
{
return '' === $str ? '' : md5(sha1($str) . $key);
}
public function edit($id)
{
// var_dump(session());exit;
if(IS_POST){
if(isset($_POST['bind_wx'])){
if($_POST['bind_wx']=='unbind_wx'){
$info['admin_openid']='';
}else{
$info['admin_openid']=session('admin_openid');
if($info['admin_openid']==''){
if (IS_POST) {
if (isset($_POST['bind_wx'])) {
if ($_POST['bind_wx'] == 'unbind_wx') {
$info['admin_openid'] = '';
} else {
$info['admin_openid'] = session('admin_openid');
if ($info['admin_openid'] == '') {
$this->error('请在30分钟内扫描并关注微信公众号');
}
}
}
if($_POST['auth']==''&&$id!=1){
if ($_POST['auth'] == '' && $id != 1) {
$this->error('请选择用户权限!');
}
if($_POST['password']==''){
if ($_POST['password'] == '') {
//$this->error('请填写管理员密码!');
}
if(!empty($_POST['password']) && (strlen($_POST['password'])<6 || strlen($_POST['password']) > 30)){
if (!empty($_POST['password']) && (strlen($_POST['password']) < 6 || strlen($_POST['password']) > 30)) {
$this->error('管理员密码长度必须在6-30个字符之间');
}
if($_POST['second_pwd']==''){
if ($_POST['second_pwd'] == '') {
//$this->error('请填写二级密码!');
}
if(!empty($_POST['second_pwd']) && (strlen($_POST['second_pwd'])<6 || strlen($_POST['second_pwd']) > 30)){
if (!empty($_POST['second_pwd']) && (strlen($_POST['second_pwd']) < 6 || strlen($_POST['second_pwd']) > 30)) {
$this->error('二级密码长度必须在6-30个字符之间');
}
if($_POST['email']==''){
if ($_POST['email'] == '') {
$this->error('请填写邮箱!');
}
$pattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
if(!preg_match( $pattern, $_POST['email'])) {
$this->error('邮箱格式不正确!');
}
if(isset($_POST['mobile'])&&$_POST['mobile']!=''){
$pattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
if (!preg_match($pattern, $_POST['email'])) {
$this->error('邮箱格式不正确!');
}
if (isset($_POST['mobile']) && $_POST['mobile'] != '') {
$dx = A('Phone');
$res = $dx->check_tel_code($_POST['mobile'],$_POST['code']);
$res = $dx->check_tel_code($_POST['mobile'], $_POST['code']);
switch ($res) {
case '-1':
$this->error('短信验证码无效,请重新获取');
@ -349,27 +366,27 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
break;
}
}
$Member=D('UcenterMember');
$mem=D('Member');
$au=D('AuthGroupAccess');
$map['id']=$id;
$maps['uid']=$id;
$info['username']=$_POST['username'];
$in['nickname']=$_POST['username'];
$pwd=$this->think_ucenter_md5($_POST['password'],UC_AUTH_KEY);
$spwd=$this->think_ucenter_md5($_POST['second_pwd'],UC_AUTH_KEY);
$rpwd=$Member->where(array('id'=>$id))->find();
$oldpwd=$rpwd['password'];
$oldspwd=$rpwd['second_pwd'];
$Member = D('UcenterMember');
$mem = D('Member');
$au = D('AuthGroupAccess');
$map['id'] = $id;
$maps['uid'] = $id;
$info['username'] = $_POST['username'];
$in['nickname'] = $_POST['username'];
$pwd = $this->think_ucenter_md5($_POST['password'], UC_AUTH_KEY);
$spwd = $this->think_ucenter_md5($_POST['second_pwd'], UC_AUTH_KEY);
$rpwd = $Member->where(array('id' => $id))->find();
$oldpwd = $rpwd['password'];
$oldspwd = $rpwd['second_pwd'];
$User = new UserApi;
$info['password']= (empty($pwd) || $pwd==$oldpwd)?$oldpwd:$pwd;
$info['second_pwd']= (empty($spwd) || $spwd==$oldspwd)?$oldspwd:$spwd;
$info['email']=$_POST['email'];
$info['mobile']=isset($_POST['mobile'])?$_POST['mobile']:'';
$ss['group_id']=$_POST['auth'];
$ss['houtai']=$_POST['houtai'];
$smember=$Member->where($map)->save($info);
$meb=$mem->where($maps)->save($in);
$info['password'] = (empty($pwd) || $pwd == $oldpwd) ? $oldpwd : $pwd;
$info['second_pwd'] = (empty($spwd) || $spwd == $oldspwd) ? $oldspwd : $spwd;
$info['email'] = $_POST['email'];
$info['mobile'] = isset($_POST['mobile']) ? $_POST['mobile'] : '';
$ss['group_id'] = $_POST['auth'];
$ss['houtai'] = $_POST['houtai'];
$smember = $Member->where($map)->save($info);
$meb = $mem->where($maps)->save($in);
if ($au->where(array('uid' => $id))->find()) {
if ($ss['group_id'] == '') {
unset($ss['group_id']);
@ -379,178 +396,223 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
$ss['uid'] = $id;
$ag = $au->add($ss);
}
if($smember !== false||$meb||$ag){
M('user_pwd')->where($maps)->setField('password',think_encrypt($info['password']));
$this->success('修改成功!',U('User/index'));
}else{
$this->error('修改失败!',U('User/index'));
if ($smember !== false || $meb || $ag) {
M('user_pwd')->where($maps)->setField('password', think_encrypt($info['password']));
$this->success('修改成功!', U('User/index'));
} else {
$this->error('修改失败!', U('User/index'));
}
}else{
$map['id']=$_GET['id'];
$Member=D('UcenterMember')->where($map)->find();
$au=D('AuthGroupAccess')->where(array('uid'=>$_GET['id']))->find();
$this->assign("authid",$au["group_id"]);
$this->assign("houtai",$au["houtai"]);
$list=D('AuthGroup')->where(array('status'=>1))->select();
$username=$_POST['username'];
$password=$_POST['password'];
$this->assign('lists',$list);
$this->assign('list',$Member);
$this->assign('sd',$group);
$this->meta_title = '编辑管理员';
$this->m_title = '管理员列表';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'User/index','status'=>1])->find());
} else {
$map['id'] = $_GET['id'];
$Member = D('UcenterMember')->where($map)->find();
$au = D('AuthGroupAccess')->where(array('uid' => $_GET['id']))->find();
$this->assign("authid", $au["group_id"]);
$this->assign("houtai", $au["houtai"]);
$list = D('AuthGroup')->where(array('status' => 1))->select();
$username = $_POST['username'];
$password = $_POST['password'];
$this->assign('lists', $list);
$this->assign('list', $Member);
$this->assign('sd', $group);
$this->meta_title = '编辑管理员';
$this->m_title = '管理员列表';
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'User/index', 'status' => 1])->find());
$this->display();
}
}
public function bdwx(){
$map['id']=UID;
$Member=D('UcenterMember')->field('id,username,admin_openid,openid_sign')->where($map)->find();
$this->assign('id',$map['id']);
$this->assign('list',$Member);
public function bdwx()
{
$map['id'] = UID;
$Member = D('UcenterMember')->field('id,username,admin_openid,openid_sign')->where($map)->find();
$this->assign('id', $map['id']);
$this->assign('list', $Member);
$this->meta_title = '绑定微信';
$this->display();
}
public function updatelist($p=0){
public function updatelist($p = 0)
{
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
if(isset($_REQUEST['op_account'])){
if ($_REQUEST['op_account']=='全部') {
if (isset($_REQUEST['row'])) {
$row = $_REQUEST['row'];
} else {
$row = 10;
}
if (isset($_REQUEST['op_account'])) {
if ($_REQUEST['op_account'] == '全部') {
unset($_REQUEST['op_account']);
}else{
$map['op_account'] = trim($_REQUEST['op_account']);
} else {
$map['op_account'] = trim($_REQUEST['op_account']);
unset($_REQUEST['op_account']);
}
}
if(isset($_REQUEST['game_name'])){
$map['game_name'] = trim($_REQUEST['game_name']);
if (isset($_REQUEST['game_name'])) {
$map['game_name'] = trim($_REQUEST['game_name']);
unset($_REQUEST['game_name']);
}
if(isset($_REQUEST['account'])){
$map['user_account'] = array('like','%'.trim($_REQUEST['account']).'%');
if (isset($_REQUEST['account'])) {
$map['user_account'] = array('like', '%' . trim($_REQUEST['account']) . '%');
unset($_REQUEST['account']);
}
if(isset($_REQUEST['huobi'])){
$map['type'] = $_REQUEST['huobi'];
if (isset($_REQUEST['huobi'])) {
$map['type'] = $_REQUEST['huobi'];
unset($_REQUEST['huobi']);
}
if(isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])){
$map['create_time'] = array('BETWEEN',array(strtotime($_REQUEST['timestart']),strtotime($_REQUEST['timeend'])+24*60*60-1));
unset($_REQUEST['timestart']);unset($_REQUEST['timeend']);
}elseif(isset($_REQUEST['timestart'])){
$map['create_time'] = ['GT',strtotime(I('timestart'))];
if (isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])) {
$map['create_time'] = array('BETWEEN', array(strtotime($_REQUEST['timestart']), strtotime($_REQUEST['timeend']) + 24 * 60 * 60 - 1));
unset($_REQUEST['timestart']);
}elseif(isset($_REQUEST['timeend'])){
$map['create_time'] = ['LT',strtotime(I('timeend'))+86399];
unset($_REQUEST['timeend']);
} elseif (isset($_REQUEST['timestart'])) {
$map['create_time'] = ['GT', strtotime(I('timestart'))];
unset($_REQUEST['timestart']);
} elseif (isset($_REQUEST['timeend'])) {
$map['create_time'] = ['LT', strtotime(I('timeend')) + 86399];
unset($_REQUEST['timeend']);
}
$list=M('balance_edit','tab_')
$list = M('balance_edit', 'tab_')
->where($map)
->order('create_time desc')
->page($page, $row)
->select();
$count = M('balance_edit','tab_')->where($map)->count();
$count = M('balance_edit', 'tab_')->where($map)->count();
//分页
$page = set_pagination($count,$row);
if($page) {$this->assign('_page', $page);}
$this->assign('list',$list);
$page = set_pagination($count, $row);
if ($page) {
$this->assign('_page', $page);
}
$this->assign('list', $list);
$this->meta_title = '修改记录';
$this->m_title = '账户修改记录';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Member/login_record','status'=>1])->find());
$this->m_title = '账户修改记录';
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Member/login_record', 'status' => 1])->find());
$this->display('updatelist');
}
/**
* 获取用户注册错误信息
* @param integer $code 错误编码
* @param integer $code 错误编码
* @return string 错误信息
*/
private function showRegError($code = 0){
private function showRegError($code = 0)
{
switch ($code) {
case -1: $error = '管理员账号长度必须在16个字符以内'; break;
case -2: $error = '管理员账号被禁止注册!'; break;
case -3: $error = '管理员账号被占用!'; break;
case -4: $error = '管理员密码长度必须在6-30个字符之间'; break;
case -5: $error = '邮箱格式不正确!'; break;
case -6: $error = '邮箱长度必须在1-32个字符之间'; break;
case -7: $error = '邮箱被禁止注册!'; break;
case -8: $error = '邮箱被占用!'; break;
case -9: $error = '手机格式不正确!'; break;
case -10: $error = '手机被禁止注册!'; break;
case -11: $error = '手机号被占用!'; break;
case -12: $error = '二级密码长度必须在6-30个字符之间';break;
default: $error = '未知错误';
case -1:
$error = '管理员账号长度必须在16个字符以内';
break;
case -2:
$error = '管理员账号被禁止注册!';
break;
case -3:
$error = '管理员账号被占用!';
break;
case -4:
$error = '管理员密码长度必须在6-30个字符之间';
break;
case -5:
$error = '邮箱格式不正确!';
break;
case -6:
$error = '邮箱长度必须在1-32个字符之间';
break;
case -7:
$error = '邮箱被禁止注册!';
break;
case -8:
$error = '邮箱被占用!';
break;
case -9:
$error = '手机格式不正确!';
break;
case -10:
$error = '手机被禁止注册!';
break;
case -11:
$error = '手机号被占用!';
break;
case -12:
$error = '二级密码长度必须在6-30个字符之间';
break;
default:
$error = '未知错误';
}
return $error;
}
public function get_openid(){
public function get_openid()
{
$User = new UserApi;
if($_POST['id']>999){
$this->ajaxReturn(array('status'=>0,'msg'=>'管理员id不能大于999'));
if ($_POST['id'] > 999) {
$this->ajaxReturn(array('status' => 0, 'msg' => '管理员id不能大于999'));
}
$data = $User->verifyPwd($_POST['id'], $_POST['pwd']);
if(!$data){
$this->ajaxReturn(array('status'=>0,'msg'=>'密码错误,请重新选择'));
if (!$data) {
$this->ajaxReturn(array('status' => 0, 'msg' => '密码错误,请重新选择'));
}
$appid = C('wechat.appid');
$appid = C('wechat.appid');
$appsecret = C('wechat.appsecret');
$result=auto_get_access_token(dirname(__FILE__).'/access_token_validity.txt');
if($result['is_validity']){
session('token',$result['access_token']);
$auth = new WechatAuth($appid, $appsecret,$result['access_token']);
}else{
$auth = new WechatAuth($appid, $appsecret);
$result = auto_get_access_token(dirname(__FILE__) . '/access_token_validity.txt');
if ($result['is_validity']) {
session('token', $result['access_token']);
$auth = new WechatAuth($appid, $appsecret, $result['access_token']);
} else {
$auth = new WechatAuth($appid, $appsecret);
$token = $auth->getAccessToken();
$token['expires_in_validity']=time()+$token['expires_in'];
wite_text(json_encode($token),dirname(__FILE__).'/access_token_validity.txt');
session('token',$token['access_token']);
$token['expires_in_validity'] = time() + $token['expires_in'];
wite_text(json_encode($token), dirname(__FILE__) . '/access_token_validity.txt');
session('token', $token['access_token']);
}
$times=date('s',time());
$times = date('s', time());
// $scene_id=strrev($_POST['id'].$times);
$scene_id=$_POST['id'].$times.$_POST['type'];
session('scene_id',$scene_id);
$ticket = $auth->qrcodeCreate($scene_id,600);//10分钟
if($ticket==''){
$return=array('status'=>0,'data'=>'获取ticket失败');
$scene_id = $_POST['id'] . $times . $_POST['type'];
session('scene_id', $scene_id);
$ticket = $auth->qrcodeCreate($scene_id, 600);//10分钟
if ($ticket == '') {
$return = array('status' => 0, 'data' => '获取ticket失败');
}
$qrcode = $auth->showqrcode($ticket['ticket']);
$return=array('status'=>1,'data'=>$qrcode);
$return = array('status' => 1, 'data' => $qrcode);
$this->ajaxReturn($return);
}
function checkpwd(){
function checkpwd()
{
$User = new UserApi;
$data = $User->verifyPwd($_POST['id'], $_POST['pwd']);
$this->ajaxReturn(array('data'=>$data));
$this->ajaxReturn(array('data' => $data));
}
function checkOpenidpic(){
function checkOpenidpic()
{
sleep(2);
$data=M('ucenter_member')->where(array('id'=>$_REQUEST['id']))->find();
if($data['openid_sign']==session('scene_id')){
$this->ajaxReturn(array("status"=>1));
}else{
$this->ajaxReturn(array("status"=>0));
$data = M('ucenter_member')->where(array('id' => $_REQUEST['id']))->find();
if ($data['openid_sign'] == session('scene_id')) {
$this->ajaxReturn(array("status" => 1));
} else {
$this->ajaxReturn(array("status" => 0));
}
}
public function delete($id){
public function delete($id)
{
M()->startTrans();
$res1 = M('member')->delete($id);
$res2 = M('ucenter_member')->delete($id);
$res3 = M('auth_group_access')->where(array('uid'=>$id))->delete();
if($res1 && $res2 && $res3){
$res3 = M('auth_group_access')->where(array('uid' => $id))->delete();
if ($res1 && $res2 && $res3) {
M()->commit();
$this->success('删除成功');
}else{
} else {
M()->rollback();
$this->error('删除失败'.M()->getError());
$this->error('删除失败' . M()->getError());
}
}
@ -558,7 +620,7 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
{
$map = [];
if (isset($_REQUEST['game_name'])) {
$map['game_name'] = ['like', trim($_REQUEST['game_name'])."%"];
$map['game_name'] = ['like', trim($_REQUEST['game_name']) . "%"];
unset($_REQUEST['game_name']);
}
if (isset($_REQUEST['server_id'])) {
@ -578,19 +640,19 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
$promoter_ids = D("Promote")->where($queryStr)->field('id')->select();
$promoter_ids ? $map['promote_id'] = ['in', implode(',', array_column($promoter_ids, 'id'))] : null;
}
}
if (isset($_REQUEST['game_type'])) {
$map['sdk_version'] = trim($_REQUEST['game_type']);
unset($_REQUEST['game_type']);
}
empty(I('user_account')) || $map['user_account'] = ['like',"%".I('user_account')."%"];
empty(I('user_account')) || $map['user_account'] = ['like', "%" . I('user_account') . "%"];
$list = $this->lists(M('user_play_info', 'tab_'), $map, 'play_time desc');
$this->assign('list', $list);
$this->meta_title = '角色数据';
$this->m_title = '角色查询';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'User/rolelist','status'=>1])->find());
$this->m_title = '角色查询';
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'User/rolelist', 'status' => 1])->find());
$this->display();
@ -600,47 +662,51 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
* 更新游戏角色数据
* @param $id
*/
public function user_update($ids){
public function user_update($ids)
{
$res = D('User')->update_user_player($ids);
$this->success("更新成功:{$res['suc']}个,失败:{$res['ero']}");
}
/**
* 更新游戏角色数据
* @param $id
*/
public function age(){
if (IS_POST){
public function age()
{
if (IS_POST) {
$data = $_POST;
$a = new ToolController();
$re = $a->save($data);
\Think\Log::actionLog('User/age','User',1);
\Think\Log::actionLog('User/age', 'User', 1);
$this->success('保存成功');
}else{
$data = I('type',1) == 1? C('age'):C('age_prevent');
$this->assign('data',$data);
$this->meta_title = I('type',1) == 1?"实名认证设置":'防沉迷设置';
$this->m_title = I('type',1)==1?'实名认证设置':'防沉迷设置';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'User/age/type/'.I('type',1),'status'=>1])->find());
} else {
$data = I('type', 1) == 1 ? C('age') : C('age_prevent');
$this->assign('data', $data);
$this->meta_title = I('type', 1) == 1 ? "实名认证设置" : '防沉迷设置';
$this->m_title = I('type', 1) == 1 ? '实名认证设置' : '防沉迷设置';
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'User/age/type/' . I('type', 1), 'status' => 1])->find());
$this->display();
}
}
public function update_pwd(){
if(IS_POST){
if(strlen($_POST['new_pwd'])<6||strlen($_POST['new_pwd'])>30){
public function update_pwd()
{
if (IS_POST) {
if (strlen($_POST['new_pwd']) < 6 || strlen($_POST['new_pwd']) > 30) {
$this->error('密码格式不正确!');
}
$oldspwd=$this->think_ucenter_md5($_POST['password'],UC_AUTH_KEY);
$newpwd =$this->think_ucenter_md5($_POST['new_pwd'],UC_AUTH_KEY);
$Member=D('UcenterMember');
$rpwd=$Member->where(array('id'=>session('user_auth.uid')))->find();
if($oldspwd==$rpwd['password']){
$Member->where(array('id'=>session('user_auth.uid')))->save(['password'=>$newpwd]);
$this->success('修改成功!',U('User/index'));
}else{
$oldspwd = $this->think_ucenter_md5($_POST['password'], UC_AUTH_KEY);
$newpwd = $this->think_ucenter_md5($_POST['new_pwd'], UC_AUTH_KEY);
$Member = D('UcenterMember');
$rpwd = $Member->where(array('id' => session('user_auth.uid')))->find();
if ($oldspwd == $rpwd['password']) {
$Member->where(array('id' => session('user_auth.uid')))->save(['password' => $newpwd]);
$this->success('修改成功!', U('User/index'));
} else {
$this->error('原密码错误!');
}
@ -648,14 +714,14 @@ function think_ucenter_md5($str, $key = 'ThinkUCenter'){
$this->display();
}
public function get_server_lists($game_id=0){
$server = M("server","tab_");
public function get_server_lists($game_id = 0)
{
$server = M("server", "tab_");
$map['game_id'] = $game_id;
$lists = $server->field('id,server_name,game_name')->where($map)->select();
if(empty($lists)){
return $this->ajaxReturn(array('status'=>0,'data'=>''));
if (empty($lists)) {
return $this->ajaxReturn(array('status' => 0, 'data' => ''));
}
return $this->ajaxReturn(array('status'=>1,'data'=>$lists));
return $this->ajaxReturn(array('status' => 1, 'data' => $lists));
}
}

@ -1 +1 @@
{"news":[{"time":"0:00","count":0},{"time":"1:00","count":0},{"time":"2:00","count":1},{"time":"3:00","count":0},{"time":"4:00","count":0},{"time":"5:00","count":0},{"time":"6:00","count":0},{"time":"7:00","count":0},{"time":"8:00","count":0},{"time":"9:00","count":1},{"time":"10:00","count":0},{"time":"11:00","count":2},{"time":"12:00","count":0},{"time":"13:00","count":0},{"time":"14:00","count":3},{"time":"15:00","count":1},{"time":"16:00","count":1},{"time":"17:00","count":1},{"time":"18:00","count":3},{"time":"19:00","count":0},{"time":"20:00","count":2},{"time":"21:00","count":0},{"time":"22:00","count":3},{"time":"23:00","count":2}],"sum":{"news":20,"active":43,"player":10,"money":50.059999999999995},"active":[{"time":"0:00","count":0},{"time":"1:00","count":0},{"time":"2:00","count":2},{"time":"3:00","count":0},{"time":"4:00","count":0},{"time":"5:00","count":0},{"time":"6:00","count":0},{"time":"7:00","count":0},{"time":"8:00","count":0},{"time":"9:00","count":2},{"time":"10:00","count":3},{"time":"11:00","count":7},{"time":"12:00","count":1},{"time":"13:00","count":1},{"time":"14:00","count":4},{"time":"15:00","count":1},{"time":"16:00","count":1},{"time":"17:00","count":3},{"time":"18:00","count":5},{"time":"19:00","count":0},{"time":"20:00","count":2},{"time":"21:00","count":1},{"time":"22:00","count":8},{"time":"23:00","count":2}],"player":[{"time":"0:00","count":0},{"time":"1:00","count":0},{"time":"2:00","count":0},{"time":"3:00","count":0},{"time":"4:00","count":0},{"time":"5:00","count":0},{"time":"6:00","count":0},{"time":"7:00","count":0},{"time":"8:00","count":0},{"time":"9:00","count":0},{"time":"10:00","count":1},{"time":"11:00","count":1},{"time":"12:00","count":0},{"time":"13:00","count":0},{"time":"14:00","count":1},{"time":"15:00","count":3},{"time":"16:00","count":2},{"time":"17:00","count":1},{"time":"18:00","count":0},{"time":"19:00","count":0},{"time":"20:00","count":0},{"time":"21:00","count":0},{"time":"22:00","count":0},{"time":"23:00","count":1}],"money":[{"time":"0:00","count":0},{"time":"1:00","count":0},{"time":"2:00","count":0},{"time":"3:00","count":0},{"time":"4:00","count":0},{"time":"5:00","count":0},{"time":"6:00","count":0},{"time":"7:00","count":0},{"time":"8:00","count":0},{"time":"9:00","count":0},{"time":"10:00","count":"1.01"},{"time":"11:00","count":"9.00"},{"time":"12:00","count":0},{"time":"13:00","count":0},{"time":"14:00","count":"0.01"},{"time":"15:00","count":"10.01"},{"time":"16:00","count":"11.02"},{"time":"17:00","count":"14.00"},{"time":"18:00","count":0},{"time":"19:00","count":0},{"time":"20:00","count":0},{"time":"21:00","count":0},{"time":"22:00","count":0},{"time":"23:00","count":"5.01"}]}
{"news":[{"time":"0:00","count":1},{"time":"1:00","count":0},{"time":"2:00","count":0},{"time":"3:00","count":0},{"time":"4:00","count":0},{"time":"5:00","count":0},{"time":"6:00","count":0},{"time":"7:00","count":0},{"time":"8:00","count":0},{"time":"9:00","count":0},{"time":"10:00","count":1},{"time":"11:00","count":1},{"time":"12:00","count":1},{"time":"13:00","count":1},{"time":"14:00","count":12},{"time":"15:00","count":1},{"time":"16:00","count":3},{"time":"17:00","count":0},{"time":"18:00","count":0},{"time":"19:00","count":2},{"time":"20:00","count":6},{"time":"21:00","count":0},{"time":"22:00","count":0},{"time":"23:00","count":0}],"sum":{"news":29,"active":49,"player":7,"money":13.17},"active":[{"time":"0:00","count":2},{"time":"1:00","count":0},{"time":"2:00","count":0},{"time":"3:00","count":0},{"time":"4:00","count":0},{"time":"5:00","count":0},{"time":"6:00","count":0},{"time":"7:00","count":0},{"time":"8:00","count":1},{"time":"9:00","count":4},{"time":"10:00","count":7},{"time":"11:00","count":1},{"time":"12:00","count":4},{"time":"13:00","count":2},{"time":"14:00","count":12},{"time":"15:00","count":3},{"time":"16:00","count":5},{"time":"17:00","count":0},{"time":"18:00","count":0},{"time":"19:00","count":2},{"time":"20:00","count":6},{"time":"21:00","count":0},{"time":"22:00","count":0},{"time":"23:00","count":0}],"player":[{"time":"0:00","count":0},{"time":"1:00","count":0},{"time":"2:00","count":0},{"time":"3:00","count":0},{"time":"4:00","count":0},{"time":"5:00","count":0},{"time":"6:00","count":0},{"time":"7:00","count":0},{"time":"8:00","count":0},{"time":"9:00","count":0},{"time":"10:00","count":0},{"time":"11:00","count":0},{"time":"12:00","count":0},{"time":"13:00","count":1},{"time":"14:00","count":2},{"time":"15:00","count":0},{"time":"16:00","count":0},{"time":"17:00","count":0},{"time":"18:00","count":0},{"time":"19:00","count":1},{"time":"20:00","count":2},{"time":"21:00","count":1},{"time":"22:00","count":0},{"time":"23:00","count":0}],"money":[{"time":"0:00","count":0},{"time":"1:00","count":0},{"time":"2:00","count":0},{"time":"3:00","count":0},{"time":"4:00","count":0},{"time":"5:00","count":0},{"time":"6:00","count":0},{"time":"7:00","count":0},{"time":"8:00","count":0},{"time":"9:00","count":0},{"time":"10:00","count":0},{"time":"11:00","count":0},{"time":"12:00","count":0},{"time":"13:00","count":"6.01"},{"time":"14:00","count":"3.08"},{"time":"15:00","count":0},{"time":"16:00","count":0},{"time":"17:00","count":0},{"time":"18:00","count":0},{"time":"19:00","count":"4.02"},{"time":"20:00","count":"0.05"},{"time":"21:00","count":"0.01"},{"time":"22:00","count":0},{"time":"23:00","count":0}]}

@ -106,7 +106,6 @@ class PromoteRepository {
$params['time_column'] = 'create_time';
$map = $this->getPublicAchievementMap($ids, $params);
$items = M('user_play_info', 'tab_')->field(['count(distinct user_id) count', 'promote_id'])->where($map)->group('promote_id')->select();
$records = [];
foreach ($items as $item) {
$promoteId = $item['promote_id'];
@ -119,7 +118,6 @@ class PromoteRepository {
$records[$promoteId] = $item['count'];
}
}
$records = $this->assembleZero($ids, $records, 0);
return $records;
@ -162,7 +160,7 @@ class PromoteRepository {
}
}
$records = $this->assembleZero($ids, [], 0);
$records = $this->assembleZero($ids, $records, 0);
return $records;
}
@ -188,7 +186,7 @@ class PromoteRepository {
$inQuery = M('user_play_info', 'tab_')->field('create_ip')->group('create_ip')->where($map)->buildSql();
$resultMap = ['create_ip' => ['exp', ' in (' . $inQuery . ')']];
$items = M('user_play_info', 'tab_')->field(['count(*) count', 'promote_id'])->where($resultMap)->group('promote_id')->select();
$items = M('user_play_info', 'tab_')->field(['count(DISTINCT create_ip) count', 'promote_id'])->where($resultMap)->group('promote_id')->select();
$records = [];
foreach ($items as $item) {
@ -203,7 +201,7 @@ class PromoteRepository {
}
}
$records = $this->assembleZero($ids, [], 0);
$records = $this->assembleZero($ids, $records, 0);
return $records;
}
@ -233,7 +231,8 @@ class PromoteRepository {
$inQuery = M('user_play_info', 'tab_')->field('user_id')->group('user_id')->where($map)->buildSql();
$resultMap = ['_string' => 'user_id in (' . $inQuery . ')'];
$items = M('user_play_info', 'tab_')->field(['count(*) count', 'promote_id'])->where($resultMap)->group('promote_id')->select();
$items = M('user_play_info', 'tab_')->field(['count(DISTINCT user_id) count', 'promote_id'])->where($resultMap)->group('promote_id')->select();
// var_dump(M()->getLastSql());
$records = [];
foreach ($items as $item) {
$promoteId = $item['promote_id'];
@ -247,7 +246,7 @@ class PromoteRepository {
}
}
$records = $this->assembleZero($ids, [], 0);
$records = $this->assembleZero($ids, $records, 0);
return $records;
}
@ -370,6 +369,7 @@ class PromoteRepository {
$params['time_column'] = 'pay_time';
$map = $this->getPublicAchievementMap($ids, $params);
$map['pay_status'] = 1;
$items = M('spend', 'tab_')->field(['sum(pay_amount) amount', 'promote_id', 'pay_way'])->where($map)->group('promote_id, pay_way')->select();
// echo M()->getLastSql();die();
$records = [];

@ -194,6 +194,7 @@ class Notify3Controller extends BaseController
$data['type'] = 1;
$data['sub_type'] = 1;
$data['target_id'] = $promote['id'];
$data['promote_id'] = $promote['id'];
$data['target_level'] = $promote['level'];
$data['target_type'] = 1;
$data['ref_id'] = $order['id'];

@ -82,6 +82,9 @@ class ArticleController extends HomeController {
$field = 'id as document_id,category_id';
$decumentData = M('document')->field($field)->where("id={$id}")->find();
$promote_id = get_pid();
if(empty($promote_id)) {
$promote_id = 0;
}
foreach ($decumentData as $key => $value) {
$decumentData['promote_id'] = $promote_id;
$decumentData['create_time'] = time();

@ -1738,8 +1738,8 @@ class DownloadController extends BaseController {
array('promote_account','推广账号'),
array('register_time','注册时间'),
array('register_ip','注册ip'),
array('login_time','登陆时间'),
array('login_ip','登陆ip')
array('login_time','登陆时间'),
array('login_ip','登陆ip')
);
$model = M('user','tab_');
@ -1747,6 +1747,8 @@ class DownloadController extends BaseController {
//var_dump($data);
$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']);
$xlsData[] = $value1;
}

@ -101,6 +101,7 @@ class HomeController extends Controller
public function promitionofregestion()
{
// 旧版兼容
A('Home')->landingPage();
die();
@ -171,9 +172,12 @@ class HomeController extends Controller
'dow_status',
'features',
'flooring_page_imgs',
'game_score',
'recommend_level',
'game_size',
'introduction'
];
$map = ['id' => intval($gameId)];
$game = M('game', 'tab_')->field($columns)->where($map)->find();
if ($game['sdk_version'] == 1 && $isIOS) {
@ -213,6 +217,7 @@ class HomeController extends Controller
$this->assign('isAndroid', $isAndroid);
$this->assign('apply', $apply);
$this->assign('game', $game);
$this->assign('promoteId', $promoteId);
$this->display('landingPage');
}

@ -1132,15 +1132,15 @@ class PromoteController extends BaseController
$this->error('您输入的手机号码格式不合法', U('Promote/edit_chlid', array('id' => $id, 'type' => I('type', 0))));
}
if (empty($_REQUEST['email'])) {
$this->error('电子邮箱不能为空', U('Promote/edit_chlid', array('id' => $id, 'type' => I('type', 0))));
return false;
}
$pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
if (!preg_match($pattern, $_REQUEST['email'])) {
$this->error('您输入的电子邮箱地址不合法', U('Promote/edit_chlid', array('id' => $id, 'type' => I('type', 0))));
};
// if (empty($_REQUEST['email'])) {
// $this->error('电子邮箱不能为空', U('Promote/edit_chlid', array('id' => $id, 'type' => I('type', 0))));
// return false;
// }
// $pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
// if (!preg_match($pattern, $_REQUEST['email'])) {
// $this->error('您输入的电子邮箱地址不合法', U('Promote/edit_chlid', array('id' => $id, 'type' => I('type', 0))));
// };
$user = new PromoteApi();
$res = $user->edit($_POST);

@ -1530,7 +1530,7 @@ class QueryController extends BaseController
$map['tab_user_play_info.promote_id'] = $promoteId;
$data = M('user_play_info', 'tab_')
->field('tab_user_play_info.user_account,tab_user_play_info.game_name,tab_user_play_info.sdk_version,tab_user_play_info.play_time,tab_user_play_info.server_name,tab_user_play_info.role_name')
->field('tab_user_play_info.user_account,tab_user_play_info.game_name,tab_user_play_info.sdk_version,tab_user_play_info.create_time,tab_user_play_info.server_name,tab_user_play_info.role_name')
->join('tab_game on tab_user_play_info.game_id = tab_game.id')
->where($map)
->order('tab_user_play_info.id desc')
@ -1709,118 +1709,167 @@ class QueryController extends BaseController
$isSelf = I('is_self', 0);
$roleName = I('role_name', '');
$userAccount = I('user_account', '');
$promoteId = I('promote_id', 0);
$sdkVersion = I('sdk_version', 0);
$costBegin = I('cost_begin', '');
$costEnd = I('cost_end', '');
$lastSortName = trim(I('last_sort_name', ''));
$sortName = trim(I('sort_name', ''));
$sort = intval(I('sort', 1));
$sortNameData = ['recharge_cost', 'recharge_count', 'recharge_cost_today', 'unlogin_day'];
$nowTime = date('Y-m-d');
$initBegTime = date('Y-m-d', strtotime('-6 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;
$promote = $this->getLoginPromote();
$levelPromote = $this->getLevelPromote();
$queryPromote = $this->getQueryPromote($levelPromote);
$map[] = [
'_logic' => 'or',
'id' => $queryPromote['id'],
'chain' => ['like', $queryPromote['chain'] . $queryPromote['id'] . '/%']
];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$records = [];
$pagination = '';
$count = 0;
if (intval($endTime - $begTime) / (24 * 3600) <= 31) {
$map[] = [
'_logic' => 'or',
'id' => $queryPromote['id'],
'chain' => ['like', $queryPromote['chain'] . $queryPromote['id'] . '/%']
];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$map = [];
if (count($ids) > 0) {
$map = ['promote_id' => ['in', $ids]];
} else {
$map['_string'] = '1<>1';
}
$map = [];
if (count($ids) > 0) {
$map = ['promote_id' => ['in', $ids]];
} else {
$map['_string'] = '1<>1';
}
$spendMap = $map;
if ($gameId != 0) {
$map['game_id'] = $gameId;
}
if ($serverId != 0) {
$map['server_id'] = $serverId;
}
if ($roleName != '') {
$map['role_name'] = ['like', '%' . $roleName . '%'];
}
if ($userAccount != '') {
$map['user_account'] = ['like', '%' . $userAccount . '%'];
}
if ($sdkVersion != 0) {
$map['sdk_version'] = $sdkVersion;
}
if ($isSelf) {
$map['promote_id'] = $queryPromote['id'];
$spendMap['promote_id'] = $queryPromote['id'];
}
if ($costBegin != '' || $costEnd != '') {
$having = '';
if ($costBegin != '' && $costEnd != '') {
$having = 'sum(cost) between ' . $costBegin . ' and ' . $costEnd;
} elseif ($costBegin != '' && $costEnd == '') {
$having = 'sum(cost) >= ' . $costBegin;
} elseif ($costBegin == '' && $costEnd != '') {
$having = 'sum(cost) <= ' . $costEnd;
$subMap = [];
if ($gameId != 0) {
$map['game_id'] = $gameId;
$subMap['game_id'] = $gameId;
}
if ($serverId != 0) {
$map['server_id'] = $serverId;
$subMap['server_id'] = $serverId;
}
if ($roleName != '') {
$map['role_name'] = ['like', '%' . $roleName . '%'];
}
if ($userAccount != '') {
$map['user_account'] = ['like', '%' . $userAccount . '%'];
}
if ($sdkVersion != 0) {
$map['sdk_version'] = $sdkVersion;
}
if ($isSelf) {
$map['promote_id'] = $queryPromote['id'];
}
$subMap = $map;
$subMap['pay_status'] = 1;
$subMap['pay_game_status'] = 1;
$subQuery = M('spend', 'tab_')->field('game_player_id')->where($subMap)->group('game_player_id')->having($having)->buildSql();
$map['_string'] = 'role_id in (' . $subQuery . ')';
}
$query = M('user_play_info', 'tab_')->where($map)->order('play_time desc');
list($roles, $pagination, $count) = $this->paginate($query);
$roleIds = array_column($roles, 'role_id');
$spendMap['pay_status'] = 1;
$spendMap['pay_game_status'] = 1;
if (count($roleIds) > 0) {
$spendMap['game_player_id'] = ['in', $roleIds];
} else {
$spendMap['_string'] = '1<>1';
}
$allRecharges = M('spend', 'tab_')->field('count(*) count, sum(cost) cost, game_player_id')->where($spendMap)->group('game_player_id')->select();
$allRecords = [];
foreach ($allRecharges as $recharge) {
$allRecords[$recharge['game_player_id']] = $recharge;
}
$roleIds = M('user_play_data_count', 'tab_')->group('role_id')->getField('role_id', true);
$map['role_id'] = ['in', $roleIds];
$subMap['create_time'] = ['between', [$begTime, $endTime - 1]];
if ($costBegin != '' || $costEnd != '') {
$having = '';
if ($costBegin != '' && $costEnd != '') {
$having = 'sum(recharge_cost) between ' . $costBegin . ' and ' . $costEnd;
} elseif ($costBegin != '' && $costEnd == '') {
$having = 'sum(recharge_cost) >= ' . $costBegin;
} elseif ($costBegin == '' && $costEnd != '') {
$having = 'sum(recharge_cost) <= ' . $costEnd;
}
$subQuery = M('user_play_data_count', 'tab_')->field('role_id')
->where($subMap)
->group('game_id,server_id,role_id')
->having($having)
->buildSql();
$map['_string'] = 'role_id in(' . $subQuery . ')';
}
$spendMap['pay_time'] = ['between', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))]];
$todayRecharges = M('spend', 'tab_')->field('sum(cost) cost, game_player_id')->where($spendMap)->group('game_player_id')->select();
$todayRecords = [];
foreach ($todayRecharges as $recharge) {
$todayRecords[$recharge['game_player_id']] = $recharge;
}
$orderBy = 'play_time desc';
if (!empty($sortName)) {
if (in_array($sortName, $sortNameData)) {
$desc = ' desc';
$asc = ' asc';
if ($sortName == 'unlogin_day') {
$sortName = 'play_time';
$desc = ' asc';
$asc = ' desc';
}
if ($lastSortName == 'unlogin_day') {
$lastSortName = 'play_time';
}
if ($lastSortName != $sortName) {
$sortString = $desc;
$sort = 1;
} else {
$sortString = ($sort == 1) ? $desc : $asc;
}
$orderBy = $sortName . $sortString;
}
}
$records = [];
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' => isset($allRecords[$role['role_id']]) ? round(floatval($allRecords[$role['role_id']]['cost']), 2) : 0,
'recharge_count' => isset($allRecords[$role['role_id']]) ? $allRecords[$role['role_id']]['count'] : 0,
'recharge_cost_today' => isset($todayRecords[$role['role_id']]) ? round(floatval($todayRecords[$role['role_id']]['cost']), 2) : 0,
'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))
];
$spendMap['uc . create_time'] = ['between', [$begTime, $endTime - 1]];
$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';
$sqlCost = M('user_play_data_count', 'tab_')->alias('uc')
->field('sum(uc . recharge_cost) cost')
->where($spendMap)
->buildSql();
$sqlCount = M('user_play_data_count', 'tab_')->alias('uc')
->field('sum(uc . recharge_count) count')
->where($spendMap)
->buildSql();
$spendMap['uc . create_time'] = ['between', [strtotime(date('Y - m - d 00:00:00')), strtotime(date('Y - m - d 23:59:59'))]];
$sqlTodayCost = M('user_play_data_count', 'tab_')->alias('uc')
->field('sum(uc . recharge_count) count')
->where($spendMap)
->buildSql();
$subQuery = M('user_play_info', 'tab_')
->field("*,$sqlCost as recharge_cost,$sqlCount as recharge_count,$sqlTodayCost as recharge_cost_today")
->where($map)
->order('play_time desc')
->buildSql();
$query = M()->field(' * ')
->table($subQuery)
->alias('a')
->order($orderBy);
list($roles, $pagination, $count) = $this->paginate($query);
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))
];
}
}
$games = $this->getGamesByPromote($promote);
$this->assign('games', $games);
$this->assign('promotes', $promotes);
$this->assign('groupPromotes', $groupPromotes);
$this->assign('records', $records);
$this->assign('pagination', $pagination);
$this->assign('count', $count);
$this->assign('initBegTime', $initBegTime);
$this->assign('initEndTime', $initEndTime);
$this->assign('sort', $sort);
$this->display('userRecharges');
}
@ -1905,11 +1954,11 @@ class QueryController extends BaseController
public function achievement()
{
$time = I('time', date('Y-m-d'));
if(!empty($time)) {
$defaultTime = $time ;
}else {
$defaultTime = date('Y-m-d',time());
$time = I('time', date('Y - m - d'));
if (!empty($time)) {
$defaultTime = $time;
} else {
$defaultTime = date('Y - m - d', time());
}
$sdkVersion = I('sdk_version', 0);
$gameId = I('game_id', 0);
@ -1954,14 +2003,14 @@ class QueryController extends BaseController
if (count($ids) > 0) {
$rows = M('promote', 'tab_')
->field(['id', 'chain'])
->where(['chain' => ['like', [$parent['chain'] . $parent['id'] . '/%']], 'level' => ['gt', $parent['level'] + 1]])
->where(['chain' => ['like', [$parent['chain'] . $parent['id'] . ' /%']], 'level' => ['gt', $parent['level'] + 1]])
->select();
}
$basicPromotes = [];
foreach ($ids as $id) {
foreach ($rows as $row) {
$needChain = $parent['chain'] . $parent['id'] . '/' . $id . '/';
$needChain = $parent['chain'] . $parent['id'] . ' / ' . $id . ' / ';
if (strpos($row['chain'], $needChain) !== false) {
$basicPromotes[$row['id']] = $id;
}
@ -2000,7 +2049,7 @@ class QueryController extends BaseController
$rechargeCountList = $promoteRepository->getRechargeCountByIds($ids, $params);
$rechargeUserCountList = $promoteRepository->getRechargeUserCountByIds($ids, $params);
$rechargeAmountList = $promoteRepository->getRechargeAmountByIds($ids, $params);
if (I('p', 1) == 1) {
$selfParams = $params;
$selfParams['isContainSubs'] = false;
@ -2013,7 +2062,6 @@ class QueryController extends BaseController
$selfRechargeCountList = $promoteRepository->getRechargeCountByIds([$parent['id']], $selfParams);
$selfRechargeUserCountList = $promoteRepository->getRechargeUserCountByIds([$parent['id']], $selfParams);
$selfRechargeAmountList = $promoteRepository->getRechargeAmountByIds([$parent['id']], $selfParams);
$records[] = [
'id' => $parent['id'],
'account' => $parent['account'],
@ -2027,7 +2075,7 @@ class QueryController extends BaseController
'login_user_count' => $selfLoginUserCountList[$parent['id']],
'recharge_count' => $selfRechargeCountList[$parent['id']],
'recharge_user_count' => $selfRechargeUserCountList[$parent['id']],
'recharge_amount' => $selfRechargeAmountList[$parent['id']]['ban_coin'] + $rechargeAmountList[$parent['id']]['coin'] + $rechargeAmountList[$parent['id']]['cash'],
'recharge_amount' => $selfRechargeAmountList[$parent['id']]['ban_coin'] + $selfRechargeAmountList[$parent['id']]['coin'] + $selfRechargeAmountList[$parent['id']]['cash'],
'recharge_by_ban_coin' => $selfRechargeAmountList[$parent['id']]['ban_coin'],
'recharge_by_coin' => $selfRechargeAmountList[$parent['id']]['coin'],
'recharge_by_cash' => $selfRechargeAmountList[$parent['id']]['cash'],
@ -2070,13 +2118,13 @@ class QueryController extends BaseController
$this->assign('parentid', $parentId);
$this->assign('count', $count);
$this->assign('timeout', $timeout);
$this->assign('time',$defaultTime);
$this->assign('time', $defaultTime);
$this->display();
}
public function getChildPromoteList()
{
$promoteId = intval(I('post.promote_id', 0));
$promoteId = intval(I('post . promote_id', 0));
$promoteId = empty($promoteId) ? PID : $promoteId;
$promoteList = getAllPromoteListByType(3, false, $promoteId);
$data['status'] = 1;
@ -2084,4 +2132,31 @@ class QueryController extends BaseController
$this->ajaxReturn($data);
}
public function userPlayDataCount()
{
$time = strtotime(date('Y - m - d 00:00:00', time() - (3600 * 24)));
$spendMap['pay_status'] = 1;
$spendMap['pay_game_status'] = 1;
$spendMap['game_player_id'] = ['gt', 0];
$spendMap['pay_time'] = ['between', [$time, strtotime(date('Y - m - d 23:59:59', $time))]];
$field = 'FROM_UNIXTIME(pay_time, "%Y-%m-%d") as day,game_id,server_id,game_player_id,sum(pay_amount) as recharge_cost,count(id) as recharge_count';
$spendCostData = M('spend', 'tab_')->field($field)
->where($spendMap)
->group('day,game_player_id,server_id,game_id')
->select();
$data = [];
foreach ($spendCostData as $list) {
$save['game_id'] = $list['game_id'];
$save['server_id'] = $list['server_id'];
$save['role_id'] = $list['game_player_id'];
$save['recharge_cost'] = $list['recharge_cost'];
$save['recharge_count'] = $list['recharge_count'];
$save['create_time'] = strtotime($list['day']);
$data[] = $save;
}
M('user_play_data_count', 'tab_')->addAll($data);
}
}

@ -1,133 +1,294 @@
<!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">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="__JS__/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="__JS__/getRem.js"></script>
<script type="text/javascript" src="__JS__/swiper.min.js"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/swiper.min.css">
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/index2.css">
<title>home</title>
</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;?>">
<?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>
<body>
<div class="home">
<div class="home-box">
<div class="heard">
<img src="{$game['icon']}" alt="">
<div class="right">
<div>{$game['relation_game_name']}</div>
<div>{$game['features']}</div>
<div>
<?php if ($downloadUrl == 'https://'.$_SERVER['HTTP_HOST']) :?>
<div class="download">免费安装</div>
<?php else :?>
<div class="download">免费安装</div>
<?php endif ;?>
<img src="__IMG__/wenhao.png" class="doubt" alt="">
</div>
</div>
</div>
<div class="evaluate">
<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>
<div class="grade">14.48K个评分</div>
</div>
<div class="evaluate-box">
<span>#{$game['recommend_level']}</span>
<div class="grade">网络游戏</div>
</div>
<div class="evaluate-box">
<span>16+</span>
<div class="grade">年龄</div>
</div>
</div>
<div class="slide_list">
<ul class="slide-box">
<volist name="game['flooring_page_imgs']" id="item">
<li class="slide-item">
<img src="{$item}" alt="">
</li>
</volist>
</ul>
</div>
<div class="synopsis">
<div>简介</div>
<div id="brief_introduction">{$game['features']}</div>
<div id="look_more">
<div class="bg-blur"></div>
<div class="more">查看更多</div>
</div>
</div>
<div class="appraisal">
<div class="title">评分及评论</div>
<div class="appraisal-box">
<div class="left">
<span>{$game['game_score']}</span>
<span>满分5分</span>
</div>
<div class="right">
<div class="start-number">
<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__/start1.png" alt="">
</div>
<div class="strip">
<div style="width: 2.77rem;"></div>
</div>
</div>
<div class="start-number">
<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="">
</div>
<div class="strip">
<div style="width: 0.24rem;"></div>
</div>
</div>
<div class="start-number">
<div class="start">
<img src="__IMG__/start1.png" alt="">
<img src="__IMG__/start1.png" alt="">
<img src="__IMG__/start1.png" alt="">
</div>
<div class="strip">
<div style="width: 0.06rem;"></div>
</div>
</div>
<div class="start-number">
<div class="start">
<img src="__IMG__/start1.png" alt="">
<img src="__IMG__/start1.png" alt="">
</div>
<div class="strip">
<div style="width: 0.04rem;"></div>
</div>
</div>
<div class="start-number">
<div class="start">
<img src="__IMG__/start1.png" alt="">
</div>
<div class="strip">
<div style="width: 0;"></div>
</div>
</div>
<div class="mark">14.48K个评分</div>
</div>
</div>
</div>
<div class="device">
<div class="title">新功能</div>
<div class="soon-title">更新说明:</div>
<div class="del">1、优化用户体验</div>
</div>
<div class="information">
<div class="title">信息</div>
<div class="data-box">
<span>大小</span>
<div>{$game['game_size']}MB</div>
</div>
<div class="data-box">
<span>类别</span>
<div>游戏</div>
</div>
<div class="data-box">
<span>语言</span>
<div>英语,简体中文</div>
</div>
<div class="data-box">
<span>年龄分级</span>
<div>限16岁以上</div>
</div>
<div class="data-box">
<span>价格</span>
<div>免费</div>
</div>
<div class="privacy">隐私政策</div>
</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=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
});
<div class="foot">
<div>
<div>闽ICP备19000000号-0</div>
<div>闽网文{2019}1554-099号</div>
</div>
<div>抵制不良游戏,拒绝盗版游戏。注意自我保护,谨防受骗上当。</div>
<div>适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。</div>
</div>
</div>
$('.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)
}
}
<div class="window" style="display: none;">
<div class="containner">
<div class="containner-box">
<div class="text"> 购买至尊下载赠送限量至尊超级礼包价值100元</div>
<div class="text">• 至尊下载:永不闪退、不丢数据稳定有保障</div>
<div class="text"> • 同一设备安装一次可在一年内无限次下载重装</div>
<div class="blue-btn" onclick="location.href='mobile.php/Ssg/pay/game_id/{$game[\'id\']}/promote_id/{$promoteId}'">¥10至尊下载</div>
<div class="gray-btn" onclick="location.href='{$downloadUrl}'">普通下载</div>
</div>
</div>
</div>
<div class="second" style="display: none;">
<div class="second-box">
<div class="title">升级IOS9后游戏打不开怎么办</div>
<div class="carousel">
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="swiper-slide-box">
<div>一、游戏安装完毕,点击游戏图标弹出如下提示:</div>
<div class="slide-img">
<img src="__IMG__/1.png" alt="" style=" height: 2.86rem;">
<img src="__IMG__/box-scroll.png" alt="" class="case">
</div>
</div>
</div>
<div class="swiper-slide">
<div class="swiper-slide-box">
<div>二、进入[设置] - [通用] - [描述文件]:找到对应证书名称</div>
<div class="slide-img">
<img src="__IMG__/2.png" alt="" style="height: 2.75rem;">
<img src="__IMG__/box-scroll.png" alt="" class="case">
</div>
</div>
</div>
<div class="swiper-slide">
<div class="swiper-slide-box">
<div>三、信任当前证书</div>
<div class="slide-img">
<img src="__IMG__/3.png" alt="" style="height: 2.06rem;">
<img src="__IMG__/box-scroll.png" alt="" class="case">
</div>
</div>
</div>
<div class="swiper-slide">
<div class="swiper-slide-box">
<div>四、下载过程中若出现以下情况,请检查网络和内存再次尝试下载</div>
<div class="slide-img">
<img src="__IMG__/4.png" alt="" style="height: 2.88rem;">
<img src="__IMG__/box-scroll.png" alt="" class="case">
</div>
</div>
</div>
<div class="swiper-slide">
<div class="swiper-slide-box">
<div>五、如果您已验证并正常体验游戏,一段时间后,点击游戏图标再次出现信任提示且无法信任时,请卸载游戏包,重新安装游戏验证</div>
</div>
</div>
</div>
<!-- Add Pagination -->
<div class="swiper-pagination"></div>
</div>
</div>
<div class="blue-btn">点我去信任</div>
</div>
</div>
</body>
</html>
<script>
$(function(){
if ($("#brief_introduction").length<80) {
$("#look_more").hide();
}
$(".more").click(function(){
$("#look_more").hide();
$("#brief_introduction").css("overflow", "visible");
});
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
});
function swiperGet(){
var swiper = new Swiper('.swiper-container', {
loop: true,
// autoplay: img > 1,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false,
},
});
}
</script>
</body>
</html>
};
swiperGet();
$(".download").click(function(){
$(".window").show();
document.body.style.overflow = 'hidden';
});
$(".window").click(function(){
$(".window").hide();
document.body.style.overflow = 'auto';
});
$(".gray-btn").click(function(){
event.stopPropagation();
$(".second").show();
swiperGet();
document.body.style.overflow = 'hidden';
$(".window").hide();
})
$(".second").click(function(){
$(".second").hide();
document.body.style.overflow = 'auto';
})
$(".doubt").click(function(){
$(".second").show();
document.body.style.overflow = 'hidden';
swiperGet();
})
})
</script>

@ -75,7 +75,7 @@
background-color: #fff;
border-radius: 10px;
}
@media screen and (min-width: 768px) {
.register-box-max {
width: 50%;

@ -97,7 +97,7 @@
<tr>
<td class="l"><i style="margin-right:4px;color:red">*</i>电子邮箱</td>
<td class="l">电子邮箱</td>
<td class="r">

@ -16,7 +16,7 @@
<div class="page-list normal_list promote-mychlid-list">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据中心></span><span>团队推广业绩</span></div>
<div class="location-container">当前位置:<span>数据管理></span><span>团队推广业绩</span></div>
</div>
<img src="__IMG__/20180207/icon_normal_game.png">
<span class="title_main">团队推广业绩</span>
@ -109,8 +109,8 @@
<!-- <td>{$record.new_create_role_device_count}</td> -->
<td>{$record.new_create_role_ip_count}</td>
<td>{$record.login_user_count}</td>
<td>{$record.recharge_count}</td>
<td>{$record.recharge_user_count}</td>
<td>{$record.recharge_count}</td>
<td>{$record.recharge_amount}</td>
<td>{$record.recharge_by_cash}</td>
<td>{$record.recharge_by_coin}</td>

@ -72,8 +72,7 @@
</div>
<div class="form-group normal_space">
<input type="submit" class="submit" id='submit' url="{:U('Query/register','model='.$model['name'],false)}"
value="查询">
<input type="submit" class="submit" id='submit' url="{:U('Query/register','model='.$model['name'],false)}" value="查询">
</div>
<div class="form-group normal_space" style="margin-left: 46px;">

@ -1,6 +1,7 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/account.css" rel="stylesheet" >
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.3" rel="stylesheet">
<style>
.form-group {
float: left;
@ -9,6 +10,16 @@
.form-group label {
line-height: 34px;
height: 34px;
}
.iconsort {
font-size: 1rem;
}
.normal_table tr .sort {
color: #145ccd;
cursor: pointer;
}
.trunk-search .select-time .txt {
width: 100px;
}
</style>
</block>
@ -16,7 +27,7 @@
<div class="page-list normal_list promote-mychlid-list">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据中心></span><span>玩家充值</span></div>
<div class="location-container">当前位置:<span>数据管理></span><span>玩家充值</span></div>
</div>
<img src="__IMG__/20180207/icon_normal_game.png">
<span class="title_main">玩家充值</span>
@ -60,7 +71,20 @@
<label> ~ </label>
<input type="text" class="txt float-input" name="cost_end" style="width: 50px" value="{:I('cost_end')}" >
</div>
<div class="form-group normal_space fr" style="display: flex;">
<label class="form-title select-title" style="position: relative;">充值时间:</label>
<div class="select-time">
<input type="text" readonly id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{$initBegTime}">
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" readonly id="edate" class="txt" name="endtime" placeholder="结束时间" value="{$initEndTime}">
</div>
</div>
<div class="form-group normal_space">
<input type="hidden" name="last_sort_name" id="last_sort_name" value="{:I('sort_name', '')}">
<input type="hidden" name="sort_name" id="sort_name" value="{:I('sort_name', '')}">
<input type="hidden" name="sort" id="sort" value="{$sort}">
<input type="submit" class="submit" value="查询">
</div>
<div class="form-group normal_space">
@ -77,10 +101,50 @@
<th>游戏区服</th>
<th>角色名</th>
<th>等级</th>
<th>充值总额</th>
<th>充值次数</th>
<th>今日充值</th>
<th>未登录天数</th>
<th class="sort" sort-name="recharge_cost">充值总额
<if condition="'recharge_cost' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
</if>
<else/>
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="recharge_count">充值次数
<if condition="'recharge_count' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
</if>
<else/>
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="recharge_cost_today">今日充值
<if condition="'recharge_cost_today' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
</if>
<else/>
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="unlogin_day">未登录天数
<if condition="'unlogin_day' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
</if>
<else/>
<i class="iconfont iconsort"></i>
</if>
</th>
<th>最后登录时间</th>
<th>推广员账号</th>
</tr>
@ -124,11 +188,41 @@
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript" src="__JS__/common.js"></script>
<script type="text/javascript">
$(function(){
$(".select_gallery").select2();
var date = "{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
var gameId = $('#game-select').val();
var defaultServerId = $('#server-select').attr('data-server');
getGameServers(gameId, defaultServerId)
@ -160,7 +254,18 @@ $(function(){
}
var promoteUrl = "{:U('Query/getSubPromotes')}"
initPromoteSelect(promoteUrl)
initPromoteSelect(promoteUrl);
$('.sort').click(function () {
var element = $(this);
var sortName = element.attr('sort-name');
var sort = parseInt($('#sort').val());
sort = (sort === 1) ? 2 : 1;
$('#sort').val(sort);
$('#sort_name').val(sortName);
$('form').trigger('submit');
});
})
</script>
</block>

@ -16,7 +16,7 @@
<div class="page-list normal_list promote-mychlid-list">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据中心></span><span>角色查询</span></div>
<div class="location-container">当前位置:<span>数据管理></span><span>角色查询</span></div>
</div>
<img src="__IMG__/20180207/icon_normal_game.png">
<span class="title_main">角色查询</span>

@ -98,7 +98,7 @@
<td>{$vo.game_name}</td>
<td>--</td>
<td>{:getSDKTypeName($vo['sdk_version'])}</td>
<td>{$vo.play_time|date='Y-m-d H:i:s',###}</td>
<td>{$vo.create_time|date='Y-m-d H:i:s',###}</td>
<td>{$vo.server_name}</td>
<td>{$vo.role_name}</td>
</tr>

@ -12,6 +12,12 @@
<script type="text/javascript" src="__JS__/pay/common.js"></script>
<script type="text/javascript" src="__JS__/pay/yeepay.js"></script>
<link rel="stylesheet" href="__CSS__/dialog_base.css" />
<script src="__JS__/rem.js"></script>
<script src="__JS__/recharge.js"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css" />
<link rel="stylesheet" type="text/css" href="__CSS__/heard.css" />
<link rel="stylesheet" type="text/css" href="__CSS__/foot.css" />
<link rel="stylesheet" type="text/css" href="__CSS__/recharge.css" />
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<if condition="I('error') eq '账号不存在'">
<script type="text/javascript">
@ -79,333 +85,117 @@
</script>
<!-- 主体内容 -->
<div class="paywrap">
<div class="pay_box">
<div class="pay_l fl">
<div class="pay_l_t">选择充值方式</div>
<ul id="paytypes">
<if condition="get_tool_status('alipay') eq 1">
<li class="li_h" data-type="alipay"><span class="p2 g" id="p2">支付宝</span></li>
</if>
<if condition="get_tool_status('weixin') eq 1 or get_tool_status('wei_xin') eq 1 or get_tool_status('weixin_gf') eq 1">
<li data-type="wechat" class=""><span class="p26 g" id="p26">微信支付(余额)</span></li>
</if>
<if condition="get_tool_status('jft') eq 1">
<li class="" data-type="jft"><span class="p1_1 g" id="p1">竣付通</span></li>
</if>
<if condition="get_tool_status('goldpig') eq 2">
<li class="" data-type="goldpig"><span class="p1_2 g" id="p1">金猪支付</span></li>
</if>
</ul>
<div class="recharge_swiper">
<img src="__IMG__/inner_banner1.png" alt="">
</div>
<div class="recharge_contain">
<div class="recharge_title">
<div class="title">账户充值</div>
</div>
<div class="pay_r fl">
<div id="change_box">
<ul>
<if condition="get_tool_status('alipay') eq 1">
<li class="bb" id="alipay">
<h3 class="pay_tit">您当前选择的是<font> 支付宝</font> <a href="{:U('Service/detail',['kefu'=>'pay'])}">充值遇到问题?</a></h3>
<form id="form_alipay" action="{:U('beginPay')}" method="post">
<ul class="cz_ul">
<li style="position:relative;"> <span> <span class="label_name">充值到:</span>
<input type="checkbox" checked="checked" class="ptbcheckbox" disabled="disabled">
<label class="ptb">平台币</label>
</span>
<div class="ptbtips pa" id="ptbtips">平台币是{:C(APP_NAME)}手机游戏平台统一支付的虚拟货币。玩家可以使用平台币兑换{:C(APP_NAME)}手机游戏平台旗下绝大部分游戏的游戏币。 <a href="javascript:;" class="ptbtipsclose db pa"></a> </div>
</li>
<li> <span> <span class="label_name">充值帐号:</span>
<input type="text" id="toaccount2" name="uname1" class="zh_input" value="">
</span> </li>
<li> <span id="main_user_input"> <span class="label_name">确认帐号:</span>
<input type="text" id="retoaccount2" name="uname2" class="zh_input" value="">
</span> </li>
<li class="clearfix"> <span class="label_name fl">选择金额:</span>
<div class="pay_money_box"> <span>
<input type="radio" name="money" value="10">
<font>10元</font> </span> <span>
<input type="radio" name="money" value="30">
<font>30元</font> </span> <span>
<input type="radio" name="money" value="50">
<font>50元</font> </span> <span class="money_checked">
<input type="radio" name="money" checked="" value="100">
<font>100元</font> </span> <span>
<input type="radio" name="money" value="300">
<font>300元</font> </span> <span>
<input type="radio" name="money" value="500">
<font>500元</font> </span> <span>
<input type="radio" name="money" value="1000">
<font>1000元</font> </span>
<span class="last_money"> <font>其他
<input type="text" maxlength="10" size="10" name="money2" id="money3" class="money2" onkeyup="this.value = this.value.replace(/[^0-9]/g, &#39;&#39;); get_game_coin2();" style="display: inline-block">
</font> </span>
<input type="hidden" id="alipay_amount" name="amount" value="">
<input type="hidden" name="apitype" value="alipay">
</div>
<div class="clear"></div>
</li>
<li class="clearfix"><!-- <span class="label_name">返利券:</span>
<div class="flq_div" id="flq_div2">没有可用的返利券</div> -->
</li>
<li class="clearfix"><span class="label_name"></span>
<div class="flqtips_div">
<p class="flqtips_l">*兑换比例1元=1平台币</p>
<p class="flqtips_r">本次充值获得平台币:<span id="game_coin2">100</span><!-- <br />获得赠宝奖励99999999 --></p>
</div>
</li>
<li> <a class="pay_submit" href="javascript:;" id="alipay_action">立即充值</a></li>
</ul>
</form>
</li>
</if>
<if condition="get_tool_status('weixin') eq 1 or get_tool_status('wei_xin') eq 1 or get_tool_status('weixin_gf') eq 1">
<li class="bb" id="wechat" style="display: none;">
<h3 class="pay_tit">您当前选择的是<font> 微信支付(余额)</font> <a href="{:U('Service/detail',['kefu'=>'pay'])}">充值遇到问题?</a></h3>
<form id="form_wxpay" action="{:U('beginPay')}" method="post">
<ul class="cz_ul">
<li style="position:relative;"> <span> <span class="label_name">充值到:</span>
<input type="checkbox" checked="checked" class="ptbcheckbox" disabled="disabled">
<label class="ptb2">平台币</label>
</span>
<div class="ptbtips pa" id="ptbtips2">平台币是{:C(APP_NAME)}手机游戏平台统一支付的虚拟货币。玩家可以使用平台币兑换{:C(APP_NAME)}手机游戏平台旗下绝大部分游戏的游戏币。 <a href="javascript:;" class="ptbtipsclose db pa"></a> </div>
</li>
<li> <span> <span class="label_name">充值帐号:</span>
<input type="text" id="toaccount3" name="uname1" class="zh_input" value="">
</span> </li>
<li> <span id="main_user_input"> <span class="label_name">确认帐号:</span>
<input type="text" id="retoaccount3" name="uname2" class="zh_input" value="">
</span> </li>
<li class="clearfix"> <span class="label_name fl">选择金额:</span>
<div class="pay_money_box"> <span>
<input type="radio" name="money" value="10">
<font>10元</font> </span> <span>
<input type="radio" name="money" value="30">
<font>30元</font> </span> <span>
<input type="radio" name="money" value="50">
<font>50元</font> </span> <span class="money_checked">
<input type="radio" name="money" checked="" value="100">
<font>100元</font> </span> <span>
<input type="radio" name="money" value="300">
<font>300元</font> </span> <span>
<input type="radio" name="money" value="500">
<font>500元</font> </span> <span>
<input type="radio" name="money" value="1000">
<font>1000元</font> </span> <span class="last_money"> <font>其他
<input type="text" maxlength="10" size="10" name="money2" id="money4" class="money2" onkeyup="this.value = this.value.replace(/[^0-9]/g, &#39;&#39;); get_game_coin3();" style="display: inline-block">
</font> </span>
<input type="hidden" id="wxpay_amount" name="amount" value="">
<input type="hidden" name="apitype" value="weixin">
</div>
<div class="clear"></div>
</li>
<li class="clearfix"><!-- <span class="label_name">返利券:</span>
<div class="flq_div" id="flq_div3">没有可用的返利券</div> -->
</li>
<li class="clearfix"><span class="label_name"></span>
<div class="flqtips_div">
<p class="flqtips_l">*兑换比例1元=1平台币</p>
<p class="flqtips_r">本次充值获得平台币:<span id="game_coin3">100</span><!-- <br />获得赠宝奖励99999999 --></p>
</div>
</li>
<li> <a class="pay_submit" href="javascript:;" id="wechat_action">立即充值</a></li>
</ul>
</form>
</li>
</if>
<if condition="get_tool_status('jft') eq 1">
<li class="bb" id="jft" style="display: none;">
<h3 class="pay_tit">您当前选择的是<font> 竣付通 </font> <a href="{:U('Service/detail',['kefu'=>'pay'])}">充值遇到问题?</a></h3>
<form id="form_jft" action="{:U('juhe_pay',array('ttype'=>2))}" method="post">
<ul class="cz_ul">
<li style="position:relative;"> <span> <span class="label_name">充值到:</span>
<input type="checkbox" checked="checked" class="ptbcheckbox" disabled="disabled">
<label class="ptb3">平台币</label>
</span>
<div class="ptbtips pa" id="ptbtips3">
平台币是{:C(APP_NAME)}手机游戏平台统一支付的虚拟货币。玩家可以使用平台币兑换{:C(APP_NAME)}手机游戏平台旗下绝大部分游戏的游戏币。
<a href="javascript:;" class="ptbtipsclose db pa"></a>
</div>
</li>
<li> <span> <span class="label_name">充值帐号:</span>
<input type="text" id="toaccount11" name="uname1" class="zh_input" value="">
</span> </li>
<li> <span id="main_user_input"> <span class="label_name">确认帐号:</span>
<input type="text" id="retoaccount11" name="uname2" class="zh_input" value="">
</span> </li>
<li class="clearfix"> <span class="label_name fl">选择金额:</span>
<div class="pay_money_box"> <span>
<input type="radio" name="money" value="10">
<font>10元</font> </span> <span>
<input type="radio" name="money" value="30">
<font>30元</font> </span> <span>
<input type="radio" name="money" value="50">
<font>50元</font> </span> <span class="money_checked">
<input type="radio" name="money" checked="" value="100">
<font>100元</font> </span> <span>
<input type="radio" name="money" value="300">
<font>300元</font> </span> <span>
<input type="radio" name="money" value="500">
<font>500元</font> </span> <span>
<input type="radio" name="money" value="1000">
<font>1000元</font> </span> <span class="last_money"> <font>其他
<input type="text" maxlength="10" size="10" name="money" id="money11" class="money2" onkeyup="this.value = this.value.replace(/[^0-9]/g, &#39;&#39;); get_game_coin();" style="display: inline-block">
</font> </span>
<input type="hidden" id="jft_amount" name="amount" value="">
<input type="hidden" name="apitype" value="jft">
</div>
<div class="clear"></div>
</li>
<li class="clearfix"><!-- <span class="label_name">返利券:</span>
<div class="flq_div" id="flq_div3">没有可用的返利券</div> -->
</li>
<li class="clearfix"><span class="label_name"></span>
<div class="flqtips_div">
<p class="flqtips_l">*兑换比例1元=1平台币</p>
<p class="flqtips_r">本次充值获得平台币:<span id="game_coin">100</span><!-- <br />获得赠宝奖励99999999 --></p>
</div>
</li>
<li> <a class="pay_submit" href="javascript:;" id="jft_action">立即充值</a></li>
</ul>
</form>
</li>
</if>
<if condition="get_tool_status('goldpig') eq 2">
<li class="bb" id="goldpig" style="display: none;">
<h3 class="pay_tit">您当前选择的是<font> 金猪支付 </font> <a href="{:U('Service/detail',['kefu'=>'pay'])}">充值遇到问题?</a></h3>
<form id="form_goldpig" action="{:U('goldpig')}" method="post" target="_blank">
<ul class="cz_ul">
<li style="position:relative;"> <span> <span class="label_name">充值到:</span>
<input type="checkbox" checked="checked" class="ptbcheckbox" disabled="disabled">
<label class="ptb4">平台币</label>
</span>
<div class="ptbtips pa" id="ptbtips4">
平台币是{:C(APP_NAME)}手机游戏平台统一支付的虚拟货币。玩家可以使用平台币兑换{:C(APP_NAME)}手机游戏平台旗下绝大部分游戏的游戏币。
<a href="javascript:;" class="ptbtipsclose db pa"></a>
</div>
</li>
<li> <span> <span class="label_name">充值帐号:</span>
<input type="text" id="toaccount12" name="uname1" class="zh_input" value="">
</span> </li>
<li> <span id="main_user_input"> <span class="label_name">确认帐号:</span>
<input type="text" id="retoaccount12" name="uname2" class="zh_input" value="">
</span> </li>
<li class="clearfix"> <span class="label_name fl">选择金额:</span>
<div class="pay_money_box"> <span>
<input type="radio" name="money" value="10">
<font>10元</font> </span> <span>
<input type="radio" name="money" value="30">
<font>30元</font> </span> <span>
<input type="radio" name="money" value="50">
<font>50元</font> </span> <span class="money_checked">
<input type="radio" name="money" checked="" value="100">
<font>100元</font> </span> <span>
<input type="radio" name="money" value="300">
<font>300元</font> </span> <span>
<input type="radio" name="money" value="500">
<font>500元</font> </span> <span>
<input type="radio" name="money" value="1000">
<font>1000元</font> </span> <span class="last_money"> <font>其他
<input type="text" maxlength="10" size="10" name="money" id="money12" class="money2" onkeyup="this.value = this.value.replace(/[^0-9]/g, &#39;&#39;); get_game_coin4();" style="display: inline-block">
</font> </span>
<input type="hidden" id="goldpig_amount" name="amount" value="">
<input type="hidden" name="apitype" value="goldpig">
</div>
<div class="clear"></div>
</li>
<li class="clearfix"><!-- <span class="label_name">返利券:</span>
<div class="flq_div" id="flq_div3">没有可用的返利券</div> -->
</li>
<li class="clearfix"><span class="label_name"></span>
<div class="flqtips_div">
<p class="flqtips_l">*兑换比例1元=1平台币</p>
<p class="flqtips_r">本次充值获得平台币:<span id="game_coin4">100</span><!-- <br />获得赠宝奖励99999999 --></p>
</div>
</li>
<li> <a class="pay_submit" href="javascript:;" id="goldpig_action">立即充值</a></li>
</ul>
</form>
</li>
</if>
<if condition="get_tool_status('jubaobar') eq 1">
<li class="bb" id="jubaobar" style="display: none;">
<h3 class="pay_tit">您当前选择的是<font> 聚宝云 </font> <a href="{:U('Service/detail',['kefu'=>'pay'])}">充值遇到问题?</a></h3>
<form id="form_jubaobar" action="{:U('juhe_pay',array('ttype'=>1))}" method="post">
<ul class="cz_ul">
<li style="position:relative;"> <span> <span class="label_name">充值到:</span>
<input type="checkbox" checked="checked" class="ptbcheckbox" disabled="disabled">
<label class="ptb">平台币</label>
</span>
<div class="ptbtips pa" id="ptbtips5">
平台币是{:C(APP_NAME)}手机游戏平台统一支付的虚拟货币。玩家可以使用平台币兑换{:C(APP_NAME)}手机游戏平台旗下绝大部分游戏的游戏币。
<a href="javascript:;" class="ptbtipsclose db pa"></a>
</div>
</li>
<li> <span> <span class="label_name">充值帐号:</span>
<input type="text" id="toaccount1" name="uname1" class="zh_input" value="">
</span> </li>
<li> <span id="main_user_input"> <span class="label_name">确认帐号:</span>
<input type="text" id="retoaccount1" name="uname2" class="zh_input" value="">
</span> </li>
<li class="clearfix"> <span class="label_name fl">选择金额:</span>
<div class="pay_money_box"> <span>
<input type="radio" name="money" value="10">
<font>10元</font> </span> <span>
<input type="radio" name="money" value="30">
<font>30元</font> </span> <span>
<input type="radio" name="money" value="50">
<font>50元</font> </span> <span class="money_checked">
<input type="radio" name="money" checked="" value="100">
<font>100元</font> </span> <span>
<input type="radio" name="money" value="300">
<font>300元</font> </span> <span>
<input type="radio" name="money" value="500">
<font>500元</font> </span> <span>
<input type="radio" name="money" value="1000">
<font>1000元</font> </span> <span class="last_money"> <font>其他
<input type="text" maxlength="10" size="10" name="money2" id="money1" class="money2" onkeyup="this.value = this.value.replace(/[^0-9]/g, &#39;&#39;); get_game_coin();" style="display: inline-block">
</font> </span>
<input type="hidden" id="jubaobar_amount" name="amount" value="">
<input type="hidden" name="apitype" value="Jubaobar">
</div>
<div class="clear"></div>
</li>
<li class="clearfix"><!-- <span class="label_name">返利券:</span>
<div class="flq_div" id="flq_div3">没有可用的返利券</div> -->
</li>
<li class="clearfix"><span class="label_name"></span>
<div class="flqtips_div">
<p class="flqtips_l">*兑换比例1元=1平台币</p>
<p class="flqtips_r">本次充值获得平台币:<span id="game_coin">100</span><!-- <br />获得赠宝奖励99999999 --></p>
</div>
</li>
<li> <a class="pay_submit" href="javascript:;" id="jubaobar_action">立即充值</a></li>
</ul>
</form>
</li>
</if>
<div class="recharge_select">
<form action="{:U('beginPay')}" method="post" id="recharge_form">
<div class="recharge_input">
<div>充值账号:</div>
<input type="text" name="uname1" id="toaccount2" value="">
</div>
<div class="recharge_input">
<div>确认账号:</div>
<input type="text" name="uname2" id="retoaccount2" value="">
</div>
<div class="select_input">
<div class="title">选择金额:</div>
<div class="select-box">
<div class="select-box-soon">
<div class="selectBg">10元</div>
<div>30元</div>
<div>50元</div>
<div>100元</div>
<div>300元</div>
<div>500元</div>
<div>1000元</div>
<input type="hidden" name="amount" value="10" id="amount">
<input type="hidden" name="apitype" value="alipay" id="apitype">
<div class="price-input">其他
<input type="number" onkeyup="this.value = this.value.replace(/[^0-9]/g, &#39;&#39;); get_game_coin2();">
</div>
</div>
<div class="price-show">
<div>*兑换比例1元=1平台币</div>
<div>本次充值获得平台币:<span>10</span></div>
</div>
</div>
</div>
</form>
<div class="way-price">
<div class="title">充值方式:</div>
<div class="way-box">
<div class="way-select">
<if condition="get_tool_status('alipay') eq 1">
<div class="wayBg" data-type="alipay">
<img src="__IMG__/zhifubaozhifu.png" alt="">
支付宝
</div>
</if>
<if condition="get_tool_status('weixin') eq 1 or get_tool_status('wei_xin') eq 1 or get_tool_status('weixin_gf') eq 1">
<div class="" data-type="weixin">
<img src="__IMG__/weixin.png" alt="">
微信支付
</div>
</if>
<if condition="get_tool_status('jft') eq 1">
<div class="" data-type="jft"><span class="p1_1 g" id="p1">竣付通</span></div>
</if>
<if condition="get_tool_status('goldpig') eq 2">
<div class="" data-type="goldpig"><span class="p1_2 g" id="p1">金猪支付</span></div>
</if>
</div>
<div class="way-show">
<div>您当前选择的是:<span>支付宝</span></div>
<div><a href="{:U('Service/detail',['kefu'=>'pay'])}">充值遇到问题</a> </div>
</div>
<div class="recharge-btn">账户充值</div>
</div>
</div>
</div>
</ul>
</div>
<!-- foot -->
<div class="foot">
<div class="foot_box">
<div class="foot_top">
<img src="__IMG__/foot_logo.png" alt="">
<div class="foot_top_ri">
<div class="foot_link">
<a>家长监护</a>
<a>客服帮助</a>
<a href="#">国浩律所</a>
</div>
<div class="foot_serial">
<span>备案号琼ICP备19000556号-1</span>
<span>网络文化经营许可证编号琼网文20192354-200号</span>
</div>
<div class="foot_code">copyright2019</div>
<div class="foot_approve"> <img src="__IMG__/foot_slide.png" alt=""></div>
</div>
</div>
<div class="foot_bom">抵制不良网页游戏拒绝盗版游戏。注意自我保护谨防受骗上当。适度游戏益脑沉迷游戏伤身。合理安排时间享受健康生活。适龄提示适合12周岁以上使用。</div>
</div>
</div>
<!-- 侧导航 -->
<div class="side_tabbar">
<img src="__IMG__/index_about/qrcode.png" alt="">
</div>
</block>

@ -1,9 +1,15 @@
<extend name="Public/base" />
<block name="body">
<script src="__JS__/jquery.min.js"></script>
<script src="__JS__/rem.js"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/heard.css" />
<link rel="stylesheet" href="__CSS__/service.css">
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.0" rel="stylesheet">
<script type="text/javascript" src="__JS__/event.js"></script>
<script type="text/javascript" src="__JS__/tween.js"></script>
<!--客服详情-->
<style>
.search-input-new {
@ -17,7 +23,7 @@
}
.search-icon {
font-size: 1.4rem;
font-size: 0.2rem;
line-height: 32px;
position: absolute;
right: 8px;

@ -25,6 +25,7 @@ class SsgController extends BaseController {
public function login()
{
$promoteId = I("promote_id", 0);
$gameId = I("game_id", 0);
$user = session("user_auth");
if ($user) {
redirect(U("ssg/index", array('promete_id' => $promoteId)));
@ -44,20 +45,29 @@ class SsgController extends BaseController {
$this->assign("app_qq", $appqq);
$this->assign("promote_id", $promoteId);
$this->assign("game_id", $gameId);
$this->display();
}
public function home(){
if (I('user_token')) {
if (I('user_token')&&I('user_id')&&I('game_id')) {
$userToker = I('user_token');
$where['user_token'] = $userToker;
$isToken = M('user','tab_')->field('id as user_id,account,nickname')->where($where)->find();
$user_id = I('user_id');
$game_id = I('game_id');
$where['tab_user_token.user_token'] = $userToker;
$where['tab_user_token.user_id'] = $user_id;
$where['tab_user_token.game_id'] = $game_id;
$isToken = M('user_token','tab_')->field('user.id as user_id,user.account as account,user.nickname as nickname')
->join("left join tab_user as user on user.id = tab_user_token.user_id")
->where($where)
->find();
if ($isToken) {
session("user_auth",$isToken);
$this->redirect("Ssg/index");
$this->redirect("Ssg/index",array('game_id'=>$game_id));
} else {
$this->redirect("Ssg/login");
}
@ -163,6 +173,7 @@ class SsgController extends BaseController {
$user = $_POST;
$promoteId =( $user['promote_id'] ? $user['promote_id'] : 0);
$game_id = $user['game_id'] ?? 0;
#判断数据是否为空
if (empty($user)) {
$this -> set_message(1001, "fail", "注册数据不能为空");
@ -170,7 +181,7 @@ class SsgController extends BaseController {
#验证短信验证码
$this -> sms_verify($user['account'], $user['code']);
$res = $this -> doRegister($user['account'],$user['password'],$user['account'],$promoteId,4,2);
$res = $this -> doRegister($user['account'],$user['password'],$user['account'],$promoteId,4,2, $game_id);
if(empty($res)){
$this -> set_message(1017, "fail", "添加失败");
}
@ -238,7 +249,7 @@ class SsgController extends BaseController {
exit();
}
//真正注册代码
public function doRegister($account,$password,$phone,$promote_id,$register_way,$register_type)
public function doRegister($account,$password,$phone,$promote_id,$register_way,$register_type, $game_id = 0)
{
//验证账号
$is_user_info = M('user', 'tab_') -> where(['account' => $account]) -> find();
@ -271,6 +282,13 @@ class SsgController extends BaseController {
'check_time' => time(),
);
if ($game_id) {//关联游戏
$game = M('game', 'tab_')->where(['id' => $game_id])->find();
if ($game) {
$data['fgame_id'] = $game_id;
$data['fgame_name'] = $game['game_name'];
}
}
/* 添加用户 */
$res = M('user', 'tab_') ->add($data);
return $res;
@ -449,9 +467,11 @@ class SsgController extends BaseController {
public function pay(){
$user = session("user_auth");
$gameId = I("game_id", 0);
$promoteId = I("promote_id");
//$price = self::signprice;
if (!$user) {
redirect("/mobile.php/ssg/login");
redirect("/mobile.php/ssg/login/game_id/{$gameId}/promote_id/$promoteId");
// $this->error("请登入", "/mobile.php/ssg/login");
}
$userId = $user['user_id'];
@ -485,8 +505,6 @@ class SsgController extends BaseController {
}
}
/*
* 发起支付
*/
@ -568,10 +586,10 @@ class SsgController extends BaseController {
//$param['notifyurl'] = "https://m.wmtxkj.com/callback.php/Notify/notify/apitype/alipay";
if(stripos($_SERVER['HTTP_HOST'], '.wmtxkj.cn') || $_SERVER['HTTP_HOST']=='127.0.0.1' || stripos($_SERVER['HTTP_HOST'], '.free.idcfengye.com')){
$param['callback'] = "http://".$_SERVER['HTTP_HOST']."/mobile.php/Ssg/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}";
$param['notifyurl'] = "http://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay";
//$param['notifyurl'] = "http://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay";
}else{
$param['callback'] = "https://".$_SERVER['HTTP_HOST']."/mobile.php/Ssg/install_show/user_id/{$userId}/game_id/{$gameId}/order_id/{$orderId}";
$param['notifyurl'] = "https://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay";
//$param['notifyurl'] = "https://".$_SERVER['HTTP_HOST']."/callback.php/Notify/notify/apitype/alipay";
}
$ali_pay = $this->alipay($param);
@ -603,7 +621,7 @@ class SsgController extends BaseController {
->setTable("supersign")
->setPayWay($param['payway'])
->setCallback($param['callback'])
->setNotifyUrl($param['notifyurl'])
//->setNotifyUrl($param['notifyurl'])
->setGameName(get_game_name($param['game_id']))
->setServerId(0)
->setUserId($param['user_id'])

@ -100,6 +100,7 @@
<div class="pay-button">
<div style="background:url('__IMG__/ssg/index/paybt.png') no-repeat top center/cover;">确认支付¥10</div>
</div>
<input id="this_game_id" value="{$_GET['game_id']}" style="display: none"/>
</body>
<script type="text/template" id="gametpl">
{@each list as item,index}
@ -114,7 +115,7 @@
至尊特权礼包(限量)
</div>
</div>
{@if index==0}
{@if item.game_id==game_id}
<div class="gamechoose gamenocheck gamecheck"></div>
{@else}
<div class="gamechoose gamenocheck "></div>
@ -149,12 +150,39 @@ var index = {
})
},
jucierFun(data){
data['game_id'] = $('#this_game_id').val();
var first,aimArr,aimNum;
first = {id:0};
aimArr = {id:0};
if(data['game_id']) {
data["list"].forEach(function (arr,index) {
if (index == 0) {
first = arr;
}
if(arr.id==data['game_id']) {
aimArr = arr;
aimNum = index;
}
})
if (aimArr.id != 0) {
if (first.id !=aimArr.id) {
data["list"][0] = aimArr;
data['list'][aimNum] = first;
}
}
}
var tpl = document.getElementById('gametpl').innerHTML;
var html = juicer(tpl, data);
$("#gamebox").html(html);
if(data["list"].length != 0){
index.choose.game_id = data['list'][0]['game_id']
}
index.event();
},
event(){

@ -11,6 +11,9 @@
<script src="/Public/Mobile/js/ssg/flexible.min.js" type="text/javascript"></script>
<link href="__CSS__/common-cz.css" rel="stylesheet" >
<style>
.pop-dialog span{font-size: .3rem}
</style>
</head>
<body class="install-box">
<div class="title" >
@ -27,8 +30,7 @@
<div class="game-rule">不同设备需要分别付费安装哦,请使用常用设备下载</div>
<div class="download-button"><a href="{$url}">下载安装</a></div>
</div>
<if condition="$giftbag">
<if condition="$giftbag['novice']">
<div style="padding:0 .3rem;">
<div class="game-gift shaddowbox">
<div class="title-3">
@ -52,7 +54,6 @@
</div>
</div>
</div>
</if>
</div>
</div>

@ -32,6 +32,7 @@
<img src="__IMG__/ssg/home/hader.png">
</div>
<input type="hidden" value="{$promote_id}" id="promote_id" name="promote_id"/>
<input type="hidden" value="{$game_id}" id="game_id" name="game_id"/>
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide swiper-no-swiping">
@ -375,6 +376,7 @@ var PhoneObj = {
var phonepassword = $('#phonepassword').val();
var phonecode = $('#phonecode').val();
var promoteId = $("#promote_id").val();
var gameId = $("#game_id").val();
if(!PhoneObj.checkPhone(phone)){
return false;
}
@ -393,7 +395,8 @@ var PhoneObj = {
account:phone,
password:phonepassword,
code:phonecode,
promote_id:promoteId
promote_id:promoteId,
game_id:gameId,
},
success: function (result) {
console.log(result)
@ -443,7 +446,8 @@ var PhoneObj = {
alert("账号必须是6-15位字母数字组合");
return false;
}
if(!PhoneObj.checkPassword(regpassword)){
if(regpassword.length < 6 || regpassword.length > 12){
alert('密码长度6-12个字符');
return false;
}
if(regpassword != regpassword2){

@ -506,3 +506,25 @@ UPDATE `platform_new`.`tab_quick_menu` SET `url` = '/index.php?s=/Home/TestResou
--
ALTER TABLE `tab_withdraw`
ADD INDEX `widthdraw_number`(`widthdraw_number`);
--
CREATE TABLE `tab_user_play_data_count` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`game_id` int(11) NOT NULL DEFAULT '0' COMMENT '游戏id',
`server_id` varchar(255) NOT NULL COMMENT '区服id',
`role_id` varchar(255) NOT NULL COMMENT '角色id',
`recharge_cost` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '充值总额',
`recharge_count` int(10) NOT NULL DEFAULT '0' COMMENT '充值次数',
`create_time` int(10) NOT NULL DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `recharge_cost` (`recharge_cost`) USING BTREE,
KEY `recharge_count` (`recharge_count`) USING BTREE,
KEY `search` (`game_id`,`server_id`,`role_id`) USING BTREE,
KEY `create_time` (`create_time`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
ALTER TABLE `tab_user_play_data_count`
ADD INDEX `search`(`game_id`, `server_id`, `role_id`) USING BTREE,
ADD INDEX `create_time`(`create_time`) USING BTREE;
ADD INDEX `recharge_cost`(`recharge_cost`) USING BTREE,
ADD INDEX `recharge_count`(`recharge_count`) USING BTREE;

@ -0,0 +1,445 @@
.home{
width: 100%;
font-family:PingFang SC;
}
.home-box{
padding: 0.5rem 0.37rem 0 0.31rem;
}
.heard{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.heard>img{
width: 2.5rem;
height: 2.5rem;
}
.heard>.right{
margin-left: 0.3rem;
}
.heard>.right>div:first-child{
font-size:0.4rem;
font-weight:500;
color:rgba(41,41,41,1);
}
.heard>.right>div:nth-child(2){
overflow: hidden;
text-overflow:ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
font-size: 0.28rem;
color: #A9A9A9;
margin-top: 0.23rem;
}
.heard>.right>div:nth-child(3){
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 0.32rem;
}
.heard>.right>div:nth-child(3) .download{
width: 1.8rem;
height: 0.6rem;
background:rgba(34,129,245,1);
border-radius:0.3rem;
color:#fff ;
font-size: 0.28rem;
font-weight: 400;
text-align: center;
line-height: 0.6rem;
}
.heard>.right>div:nth-child(3) >img{
width: 0.6rem;
height: 0.6rem;
}
.evaluate{
font-size: 0.32rem;
color: #757575;
font-weight: bold;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 0.33rem;
}
.evaluate .number{
display: flex;
align-items: center;
}
.evaluate .start{
display: flex;
align-items: center;
margin-left: 0.32rem;
}
.evaluate .start>img{
width: 0.3rem;
height: 0.3rem;
}
.evaluate-box{
display: flex;
flex-direction: column;
}
.evaluate-box:last-child,.evaluate-box:nth-child(2){
align-items: center;
justify-content: center;
}
.evaluate-box .grade{
margin-top: 0.19rem;
font-size: 0.24rem;
color: #D3D3D3;
font-weight: 400;
}
.slide_list{
width: 100%;
margin-top:0.4rem;
padding-bottom: 0.39rem;
border-bottom: 1px solid #DEDEDE;
}
.slide-box{
display: -webkit-box;
overflow-x: auto;
/*适应苹果*/
-webkit-overflow-scrolling:touch;
font-size: 0.2rem;
font-size: 100%;
font-weight: normal;
margin: 0;
padding: 0;
}
.slide-item{
width: 4.4rem;
/* height: 6.22rem; */
margin-right: 30px;
list-style: none;
}
.slide-item >img{
width: 100%;
height: 100%;
}
/*隐藏掉滚动条*/
.slide-box::-webkit-scrollbar {
display: none;
}
.synopsis{
margin-top: 0.41rem;
padding-bottom: 0.38rem;
border-bottom: 1px solid #DEDEDE;
}
.synopsis>div:first-child{
font-size:0.4rem;
font-weight:700;
color:rgba(41,41,41,1);
margin-bottom: 0.41rem;
}
.synopsis>div:nth-child(2){
font-weight:400;
color:rgba(41,41,41,1);
line-height:0.4rem;
font-size: 0.28rem;
overflow: hidden;
text-overflow:ellipsis;
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
padding-bottom: 20px;
}
.synopsis>div:last-child{
position: relative;
margin-top: -0.4rem;
}
.synopsis>div:last-child .bg-blur{
background-color: #fff;
-webkit-filter:blur(0.2rem);
filter:blur(0.2rem);
width: 100%;
height: 1rem;
}
.more{
position: absolute;
top: 0.6rem;
left: 50%;
margin-left: -0.7948rem;
font-size: 0.36rem;
color: #2281F5;
/* background-color: #fff; */
}
.appraisal{
margin-top: 0.38rem;
}
.appraisal .title{
font-size:0.4rem;
font-weight:700;
color:rgba(41,41,41,1);
}
.appraisal-box{
display: flex;
align-items: flex-end;
justify-content: space-between;
margin-top: 0.4rem;
padding-bottom: 0.39rem;
border-bottom: 1px solid #DEDEDE;
}
.appraisal-box .left{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.appraisal-box .left>span:first-child{
font-size: 1.2rem;
font-weight: 800;
color: #4B4C50;
}
.appraisal-box .left>span:last-child{
font-size: 0.28rem;
color: #4B4C50;
font-weight: 500;
}
.appraisal-box .right{
display: flex;
align-items: flex-end;
flex-direction: column;
justify-content: flex-end;
}
.appraisal-box .right>.start-number{
display: flex;
align-items:center;
justify-content: flex-end;
margin-bottom: 0.06rem;
}
.appraisal-box .right>.start-number .start{
display: flex;
align-items: center;
}
.appraisal-box .right>.start-number .start>img{
width: 0.16rem;
height: 0.16rem;
}
.appraisal-box .right>.start-number .strip{
width: 3rem;
height: 0.04rem;
background-color: #E0E0E0;
position: relative;
margin-left: 0.33rem;
}
.appraisal-box .right>.start-number .strip>div{
position: absolute;
top: 0;
left: 0;
height: 100%;
background-color: #4B4C50;
}
.appraisal-box .right>.mark{
font-size:0.24rem;
font-weight:400;
color:rgba(75,76,80,1);
margin-top: 0.26rem;
}
.device{
margin-top: 0.4rem;
padding-bottom: 0.4rem;
border-bottom: 1px solid #DEDEDE;
}
.device .title{
font-size:0.4rem;
font-weight:500;
color:rgba(41,41,41,1);
}
.device .soon-title{
margin-top: 0.4rem;
font-size: 0.28rem;
color: #292929;
}
.device .del{
font-size: 0.28rem;
color: #292929;
}
.information{
margin-top: 0.39rem;
}
.information .title{
font-size:0.4rem;
font-weight:500;
color:rgba(41,41,41,1);
margin-bottom: 0.52rem;
}
.information .data-box{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 0.3rem;
border-bottom: 1px solid #DEDEDE;
margin-bottom: 0.29rem;
}
.information .data-box>span{
font-size: 0.24rem;
color: #A9A9A9;
font-weight: 400;
}
.information .data-box>div{
font-size: 0.24rem;
color: #292929;
font-weight: 400;
}
.privacy{
font-size: 0.24rem;
color: #292929;
font-weight: 400;
}
.foot{
background-color: #101010;
width: 100%;
padding: 0.29rem 0 0.24rem 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 0.2rem;
color: #D3D3D3;
margin-top: 0.92rem;
}
.foot div:first-child{
display: flex;
align-items: center;
color: #D3D3D3;
font-weight:400;
font-size: 0.24rem;
}
.foot div:first-child>div{
font-size: 0.24rem;
}
.foot div:first-child>div:first-child{
margin-right: 0.5rem;
}
.foot div:nth-child(2){
margin-top: 0.18rem;
margin-bottom: 0.18rem;
}
.window{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background:rgba(0,0,0,0.6);
}
.containner{
width: 5.50rem;
height: 7.32rem;
background: url(../images/bg.png) no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: flex-end;
}
.containner-box{
padding: 0 0.39rem 0.15rem 0.36rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
}
.containner-box .text{
font-size:0.24rem;
font-weight:400;
color:rgba(41,41,41,1);
line-height:0.36rem;
}
.blue-btn{
width: 4.58rem;
height:0.98rem;
background: url(../images/btn-blue.png) no-repeat;
background-size: 100% 100%;
font-size:0.28rem;
font-weight:400;
color:rgba(255,255,255,1);
text-align: center;
line-height: 0.86rem;
margin: 0.15rem 0;
}
.gray-btn{
width: 4.58rem;
height:0.98rem;
background: url(../images/btn-gray.png) no-repeat;
background-size: 100% 100%;
font-size:0.28rem;
font-weight:400;
color:rgba(255,255,255,1);
text-align: center;
line-height: 0.86rem;
}
.second{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background:rgba(0,0,0,0.6);
}
.second-box{
width: 5.50rem;
height: 7.4rem;
border-radius:0.3rem;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
}
.second-box .title{
border-top-left-radius: 0.3rem;
border-top-right-radius: 0.3rem;
height: 1rem;
width: 100%;
line-height: 1rem;
background-color: #489EF6;
font-size: 0.32rem;
font-weight: 500;
text-align: center;
color: #fff;
}
.carousel{
width: 100%;
margin-top: 0.3rem;
}
.swiper-container{
padding-bottom: 0.6rem;
}
.swiper-slide{
width: 100%;
}
.swiper-slide-box{
padding: 0 0.5rem;
}
.swiper-slide-box>div:first-child{
margin-bottom: 0.3rem;
font-size:0.28rem;
font-weight:400;
color:rgba(41,41,41,1);
line-height:0.36rem;
}
.swiper-slide-box>.slide-img{
width: 100%;
position: relative;
font-size: 0.2rem;
}
.swiper-slide-box>.slide-img .case{
position: absolute;
right: 0;
top: -0.18rem;
width: 0.8rem;
height: 0.8rem;
}
.swiper-slide-box>.slide-img>img:first-child{
width: 100%;
}
.swiper-container-horizontal>.swiper-pagination-bullets{
bottom: -9px !important;
}

@ -0,0 +1,28 @@
html,
body {
width: 100%;
/* font-size: calc(266.67% + 57.3333 * (100vw - 320px) / 430); */
}
/*清除一些默认样式*/
html,
body {
margin: 0;
padding: 0;
}
img{border:0;}
a{text-decoration:none; color:#000; outline:none;}
a:hover{text-decoration:none;}
em,strong,i{font-style:normal;}
h1,h2,h3,h4,h5,h6,span,strong,i{font-size:100%;font-weight:normal;margin: 0;padding: 0;}
.trans {
-webkit-transition: all 0.3s linear;
-moz-transition: all 0.3s linear;
-ms-transition: all 0.3s linear;
transition: all 0.3s linear;
}
.clearfix {*zoom:1;}
.clearfix:after {content:'\200B';clear:both;display:block;height:0px}
/* html{-webkit-tap-highlight-color:transparent;} */

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

@ -0,0 +1,20 @@
function getRem(pwidth,prem){
var html = document.getElementsByTagName("html")[0];
var oWidth = document.body.clientWidth || document.documentElement.clientWidth;
//var oHeight = document.body.clientHeight || document.documentElement.clientHeight;
// if (oWidth >= pwidth) {
// oWidth = pwidth;
// }
// if (oWidth > oHeight) {
// oWidth = oHeight
// }
var size=oWidth/pwidth*prem;
html.style.fontSize = size + "px";
}
$(document).ready(function(){
//画布、字体大小设定
getRem(750,100);
$(window).resize(function() {
getRem(750,100);
})
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,184 @@
.recharge_swiper{
margin-top: 0.02rem;
width: 100%;
height: 2.9rem;
}
.recharge_swiper>img{
width: 100%;
height: 100%;
}
.recharge_contain{
padding: 0 3.6rem;
font-family:PingFang SC;
margin-bottom: 0.7rem;
}
.recharge_title{
font-size: 0.36rem;
color: #292929;
font-weight: bold;
margin-top: 0.7rem;
padding-bottom: 0.33rem;
border-bottom: 1px solid #E5E5E5;
}
.recharge_title .title{
padding-left: 0.26rem;
border-left: 0.05rem solid #2BBDEE;
}
.recharge_select{
margin-top: 0.36rem;
font-size: 0.28rem;
color: #292929;
font-weight: 400;
}
.recharge_input{
display: flex;
align-items: center;
margin-bottom: 0.3rem;
}
.recharge_input>input{
width: 4rem;
height: 0.6rem;
outline: 0;
border: 1px solid #D3D3D3;
margin-left: 0.33rem;
font-size: 0.28rem;
}
.select_input{
display: flex;
align-items: flex-start;
}
.select_input .title{
margin-top: 0.15rem;
}
.select-box{
width: 8.5rem;
margin-left: 0.33rem;
}
.select-box .select-box-soon>div{
width: 1.5rem;
height: 0.6rem;
text-align: center;
line-height: 0.6rem;
font-size:0.2rem;
font-weight:400;
color:rgba(41,41,41,1);
border:1px solid #D3D3D3;
margin-bottom: 0.3rem;
float: left;
margin-right: 0.3rem;
}
.select-box .select-box-soon>div:nth-child(4n){
margin-right: 0;
}
.select-box .select-box-soon>div.selectBg{
background: url("../images/border-bg.png") no-repeat;
background-size: 100% 100%;
}
.select-box .select-box-soon>div:hover:not(.price-input){
border:1px solid rgba(3,180,245,1);
cursor: pointer;
}
.select-box .select-box-soon> .price-input{
width: 2rem;
display: flex;
justify-content: center;
align-items: center;
background:rgba(247,247,247,1);
}
.select-box .select-box-soon> .price-input>input{
outline: 0;
border: 1px solid #D3D3D3;
width: 1rem;
height: 0.4rem;
margin: 0 0.09rem;
font-size: 0.2rem;
}
.price-show{
width: 7.4rem;
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 0.2rem;
border-top: 1px solid #E5E5E5;
}
.price-show>div:first-child{
font-size:0.2rem;
font-weight:400;
color:rgba(3,180,245,1);
}
.price-show>div:last-child{
font-size:0.2rem;
font-weight:400;
color:rgba(41,41,41,1);
}
.price-show>div>span{
color: #03B4F5;
}
.way-price{
display: flex;
margin-top: 0.58rem;
}
.way-price .title{
margin-top: 0.15rem;
}
.way-box{
margin-left: 0.33rem;
}
.way-select{
display: flex;
align-items: center;
margin-bottom: 0.3rem;
}
.way-select>div{
width: 1.80rem;
height: 0.6rem;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #D3D3D3;
font-size:0.22rem;
font-weight:400;
color:rgba(41,41,41,1);
margin-right: 0.3rem;
}
.way-select>div.wayBg{
background: url("../images/border-bg.png") no-repeat;
background-size: 100% 100%;
}
.way-select>div:hover{
border: 1px solid #03B4F5;
cursor: pointer;
}
.way-select>div>img{
width: 0.4rem;
height: 0.4rem;
margin-right: 0.1rem;
}
.way-show{
width: 7.4rem;
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 0.2rem;
border-top: 1px solid #E5E5E5;
}
.way-show>div{
font-size:0.2rem;
font-weight:400;
}
.way-show>div>span{
color: #03B4F5;
}
.recharge-btn{
width: 3rem;
height: 0.7rem;
font-size:0.28rem;
font-weight:500;
color:rgba(255,255,255,1);
margin-top: 0.49rem;
background-color: #03B4F5;
text-align: center;
line-height: 0.7rem;
border-radius: 0.1rem;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,87 @@
$(function() {
//钱的数量选择
$(".select-box-soon>div:not(.price-input)").click(function(){
$(this).addClass("selectBg").siblings("div").removeClass("selectBg");
let price = $(this).text().replace("元","");
$('#amount').val(price);
$(".price-show div span").text(price);
$(".price-input input").val("");
});
//输入金额事件
$(".price-input input").bind("input propertychange",function(event){
$(".price-show div span").text($(".price-input input").val());
$('#amount').val($(".price-input input").val());
$(".select-box-soon>div:not(.price-input)").removeClass("selectBg");
});
//支付方式选择
$(".way-select>div").click(function(){
$(this).addClass("wayBg").siblings("div").removeClass("wayBg");
let way = $(this).text();
$(".way-show>div>span").text(way);
$("#apitype").val($(this).data('type'));
});
$(".recharge-btn").click(function () {
var that = $('#recharge_form');
if($.trim($("#toaccount2").val()).length == 0){
layer.msg("充值账号不能为空!");
return false;
}
if($.trim($("#retoaccount2").val()) != $.trim($("#toaccount2").val())){
layer.msg("两次账号不相同!");
return false;
}
if(parseFloat($("#amount").val()) <=0){
layer.msg("充值金额不正确");
return false;
}
var apitype = $("#apitype").val();
if (apitype == 'weixin') {
var loading = new Cute.ui.dialog().loading('加载中...',{mask:true});
Cute.api.post("/media.php/Recharge/beginPay",that.serialize(), function(json){
loading.close();
if(json.status > 0){
that.dialog = new Cute.ui.dialog().layer('微信扫码支付',{
content: json.html,
mask: true,
open:{
// callback: function(){
// that.timer = setInterval(function(){
// Cute.api.post('pay/wx_order_query',{'order_no':json.data.out_trade_no}, function(data){
// if(data.status > 0){
// pay_callback();
// clearInterval(that.timer);
// }
// });
// },4000);
// }
},
buttons: [{
title: '已完成支付',
type: 'main',
close: true,
// func: function(){
// location.href = "/account/order.html";
// }
}, {
title: '重新选择',
type: 'cancel',
close: true
}]
});
}else{
new Cute.ui.dialog().alert(json.info);
}
});
} else {
$("#recharge_form").submit();
}
});
});

@ -1,10 +1,10 @@
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1570870899994'); /* IE9 */
src: url('iconfont.eot?t=1570870899994#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAVUAAsAAAAADBAAAAUEAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCELAqJGIcgATYCJAMwCxoABCAFhG0HgTsbNQoRFaSZkH1xwJv6gmNIQk1g8ltlso971mEXikzzP0cQrensPSQpkwKU8QWyZWFI1YgIV0Blqmt0hfkvGJGDPGvSVAtI7QFI1ta9YAQAooxJVvi6bJlrytZHmJvybZefHrjA5ZkN4df/jbk69ZD0T6+tl7uJKuKeeDSWiJJ4hCTi2TIhWgiRh23BdhULqzD7pQ8T6LFAGbJv6+wNVDlxVCDujtIjgBqKyDOkoekviQtziAcgaaYUwjqAe/vv4x80gwqSIgPxqGOaTTSYP4MXaij2vwPBaBxgzaVwu4wMm0BOfJCZJ0Dd5k2onk9nolsAQ/KGKBXyTOaZ8XOJ5/jzohdq//9X4JKOUcUZhZNRPwzhxE3lvS8/kMmVCr1C0tDU6uSfV4Lw9CHzpaWXCrR12a2IyKmkESWVDKKgMkb0UosjgloCkahxgll1ISKa1EWIFj9qy/UM6fApYAzEEUB8Mua5K0lm0LNiSENCl5+Tk0tYmDnJThRWX5SRmfMq6+CuKKlqT49tYEeEWL59KbUZiJ0WJra0NoSEtzJeZ+3fFiZW7OiwDe2JkSp3/f0hn5s7P5WXt5DXtxBva+Dx8StKayk5SaMX4a2p3NH5PGxQTEFaGx5Bp2W50gIh7oKkQamt+PXoZkyBTpXhvJdGPnpRaWO2JLUZ6x6dj7Wk8dFL+XjrGXqeESnkZcznBi0r4GGSFfEhJxQG7u97Hxz43Lnjd3h4Rbl8HRIs7+/TWTLCvMyFVzjPOo2NwawkNnoDi3kbn7boUceR6Bgk7aHP4bOg9yDvw8OzvlN3kA6tPbgs7Y6ZjzaIdzAfKkb1wewtm/+xcrBiuiq0s+zX53j/L5rimh7MHpIaErfwFEFNrJh29OXrYgFJBhhrJgsSHyBQXFbWKirWZnYrFtASgDcUpUQkmMxNFjxL+ery2NwR8ysTw5d5P/DsrRscGZ9tvfUM/g/VVI+JXZIYra6R2NmULtFWUx3bAYaqiovJ4erhZI71anVyeGjAZPUE8c8f4oTEJjEc/gCmx2oV6M4Ois4KTtDBK2AXdqYOC0+pdj6Y/ESd1LmTLUj2TNubSfGGDPf3GTXyJl8PNPOPlsk+k7oIU1OEE1lZJwiATWI4/J3nlDY3FaVp+oSk/v4kdBJ4lJDEivo06Vr6+3B7G4Du/VSj4rZyukRRC35mFRjhBxrXXIo+Q2kUli5zXP8h2Sg7r/uZJPTcOEgV3/s+jM34K5XpeFnzvTR0npW7GBGa66EpUdh6JlgLLsi/dhHty99zo0cK9Gk7jRoTemSB7r8w4l4XvvHCvQlN4z4kDfOQaVqk5sxNKPRqQ6lpC3pssLu816hzgIqcAViXABCGdEEy4AsyQzaoOfMuFCa8hdJQoNDjEuG6Ya9lfNDDK6MSXEAfgUxOVsXlwen7ha4FxUG7Lf9DrlQHUz9G2z4xITdxSt25WcSC5RzhAx6HIWQonLdopF9FymYYLPVGvcnx7MEroxJcgD4CMjlZs7o8xH7/C10LijOm/Jj+IVfaPpj0xgLUT08qNOVQBtedmwlrtMDeeucIPlgKg2zOoND7bdFIb63QWDYGtpQt6um798U9bj+8phGfzhwlumFatuN6Pn97vlXJHSi5PdKhqXRac3IvCY5Ho6UQbt4Hro1uHSa3tHz7S003LsctND2W0GpniE3Ap0jp06P+N8WYaH05r1W5hOP91nftBKucnQEAAAA=') format('woff2'),
url('iconfont.woff?t=1570870899994') format('woff'),
url('iconfont.ttf?t=1570870899994') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1570870899994#iconfont') format('svg'); /* iOS 4.1- */
src: url('iconfont.eot?t=1574318572037'); /* IE9 */
src: url('iconfont.eot?t=1574318572037#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAXEAAsAAAAADNQAAAV3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCEXgqJfIdpATYCJAM8CyAABCAFhG0HgVgb2QrIDiUFOVaVJ6RZZvD85191X1W1MLCyWTi1uxfA72xhR8yYA/oz62izPfv/9736O9OFkN1HsdMmabbwgp1H8tfnH9TVfr/6xRANSRdv9HL3RO8YFhWLNH5CPDGEJOKRoTOEaClFTMKz10xIKn+FiY9DAD/5NMbXu+/g0RCBgY8TQGZOozxExNIwBSGCN9mtuNQgW3HhVevULWCL+/fyg2aJAIVLw0/qH+sjQnebzt7aczxG65lY3eUAi6tAA7UABuS0Mu8oaL+uFg7/7n0MCwGSSYBD2WKX2e0dRR2JV2tfN+vs7ThgY5emrYXWNbaeo3FLIZkU0sSaYc36Bx6gMbhxEUZQePDiw0+AICEQNzCD5LxRHwYbMxEabEEMWCkQN1gZEBdYOxIRho7CRAh0FCEKLAHEA7YbiBdsDxLhg86GRPihsycSAOsFJAjWG30IARCxL8kHyARkECAPYD7T1ZU4xa65pFJUlGJnJien5OYGs6Mmx8Aoja8ZTF4Wd+ZRnmvr43aR0w9zzaYHxevPgrHORcdvuOALTZyPqgifepBjNj9sEzn7ON+15dH44bAqJXXngrT03WlD1yQO7k4dMm7thv3r1RhdmziwIGXyqjTpMWX1hoNBPk6K9IURTN2V1WP9gWDF5H1WA3XOxmDarCY9vnb/nuLg9fu8tuIqa//C9HgtntZO7wVRvt3p/lWpmKGrUwOhazPklDUjnzwZ/fTpmOfPxz17VmroYz0aLX3yhIYKUtODleeww+exeXI4NBLvYGZ652NWfe4MEaf4Fn4c88yeFMcgxqZhWkHESX31GP3smTn06nPf4NJortrwvNuQ1oAsb4zX846x3G3P/g8nhj3TK7Tq4rdvG+woaS5sHhAzorhF0erguqxmax2Z9ubHusxiH6R65zFNd8vau3HjgbyCC3abdZktWbxXWdYHZq/1mZd1XuNJJRfvSt1LL98oSf+cVuLcQrp050C1jXP22LaL+YsLLmzbLsTbMl5wcPu21C5wfeu6dWHTG6eHETHnN3dPj3W7cvRyyP//5rIQm1pq2C3wrOEQd/8hB20zUahUBv3GGW2IlNP08uOzH25mtz3fyrR4vP2Np3r1puF/Nm2X/X88bbmTHSi3SxZBt5tseFYadIuUQTvXlgTVfmXLFoU0NadQw91vNrp3r2FprL1/7pVTc6EpSvfP1Yvbx2rvUH8f1rwDcB7poxq5EddUvu7hp++Ee+o3N7Nug36pYyoiends/KyX6QTSPVRbAAhQ3XULlX/0XP3LOgxx8idOi+/81xv9Z1vw8t/I91TqeAaGaYcXBZWl35FUcZrZK5weMdvJN49AgAitcJ+YHPBLEThUlMzD4Xha5Y4geEkLQeEhDzReSq3GWQsuArSCGy/dwE8N/a4OkIIFhxgfUM1sDYQoR0ER5iZooty2GucDcJHOB3ATFQ78DJXkWwYoF+bvNR/zDhZRoAwxQdeIkelEeZ1HYuoqvBVV3LCx2LJZJWpR35hs7Ic1bHVxhl1MWzoOQcTSVdRXexpWFB0Zll6EBaep5DhGx2YNMdUHNRV0FaLohQWGxwEjgghQBoIhoKNBbO8OUanfHwmG4qLAYxWMuks6FoyFDds5ogVNaV7B2s/UKo06lZ42xVBa4ug1BARZdNRRQfTVczCK1OkgDPVBRWAEHJoiNagx6EgzfTZS1Ww6PFcf9xWAH/6kiCjRYsQlbvGIV3zil4AEJSRhiUiUlBiv0VKm0RLMSl1eK5d0jaZmqKsawhQlbHuo5LJwOkWjoquHH3JahNESdwiwaGOmazcRmCUoOEadpu3a2abLWzhT2mihRm9DKQux51hOpNWmiaiXaOF+rmtEPhitmzjYdgAA') format('woff2'),
url('iconfont.woff?t=1574318572037') format('woff'),
url('iconfont.ttf?t=1574318572037') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1574318572037#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
@ -55,6 +55,18 @@
content: "\e82f";
}
.iconsort:before {
content: "\e842";
}
.iconsort-down:before {
content: "\e843";
}
.iconsort-up:before {
content: "\e844";
}
.iconicon-test:before {
content: "\e63c";
}

File diff suppressed because one or more lines are too long

@ -50,6 +50,15 @@ Created by iconfont
<glyph glyph-name="reply" unicode="&#59439;" d="M398.208 593.088V832L0 413.888l398.208-418.176V240.64c284.48 0 483.584-95.552 625.792-304.64-56.896 298.688-227.584 597.312-625.792 657.088z" horiz-adv-x="1024" />
<glyph glyph-name="sort" unicode="&#59458;" d="M64 448l448 448 448-448H64z m896-128l-448-448-448 448h896z" horiz-adv-x="1024" />
<glyph glyph-name="sort-down" unicode="&#59459;" d="M64 576l448-448 448 448z" horiz-adv-x="1024" />
<glyph glyph-name="sort-up" unicode="&#59460;" d="M960 192L512 640l-448-448z" horiz-adv-x="1024" />
<glyph glyph-name="icon-test" unicode="&#58940;" d="M192 448c0 141.152 114.848 256 256 256s256-114.848 256-256-114.848-256-256-256-256 114.848-256 256z m710.624-409.376l-206.88 206.88A318.784 318.784 0 0 1 768 448c0 176.736-143.264 320-320 320S128 624.736 128 448s143.264-320 320-320a318.784 318.784 0 0 1 202.496 72.256l206.88-206.88 45.248 45.248z" horiz-adv-x="1024" />

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Loading…
Cancel
Save