'HTTP_ERROR_BAK', "code" => 2,//1成功,2失败,3停服维护 "msg" => '登陆失败' //登陆信息提示 ); //接收数据 $mydata["code"] = $this->arr['d']["code"];//登录时获取的 code $mydata["thirdid"] = intval($this->arr['d']["tid"]); //第三方登录id 微信 $mydata["reid"] = intval($this->arr['d']["reid"]); //推荐人 $mydata["source_id"] = intval($this->arr['d']["sid"]); //渠道 $mydata["source_id2"] = intval($this->arr['d']["sid2"]); //渠道2 $mydata['sys'] = $this->arr['d']['sys'];//操作系统 if(!empty($mydata['sys'])){ $mydata['sys'] = check_tel_sys($mydata['sys']); }else{ $mydata['sys'] = 3; } //查用户的信息 $tmp_arr = array( "uid","user_name","pwd","user_nickname","user_avatar","sex", "reg_time","reg_ip","email","tel", "referee_id","referee_time","source_id","source_id2" ); if($mydata["thirdid"]==1) {//如果是微信登陆 }else if($mydata["thirdid"]==2) {//如果是其它的注册方式 //查这个用户在系统里是否有信息(即用户是否有注册过系统) $tmp_where = " and `key2`='".md5($mydata["code"])."' "; $tmp_wx_info = get_info($GLOBALS['conn'],'game_member_third',array('uid'),$tmp_where); if( !isset($tmp_wx_info['uid']) || $tmp_wx_info['uid']<1){//用户不存在,则注册 //用户注册 $tmp_user = array( 'gzhq_nickname' => '玩家'.cai_get_pwd(6), 'gzhq_pwd' => md5(cai_get_pwd(8)), 'gzhq_name' => 'HQ@'.THIS_DATETIME.cai_get_pwd(4), 'gzhq_sex' => 3, 'gzhq_reid' => $mydata["reid"], 'gzhq_wximg' => WEBPATH_DIR_INC.'media/images/default_avatar.png', 'gzhq_country' => '', 'gzhq_province' => '', 'gzhq_city' => '', 'ip' => $this->arr['ip'], 'gzhq_tel' => '', 'source_id' => $mydata["source_id"], 'source_id2' => $mydata["source_id2"], 'sys_name' => $mydata['sys'], ); //进行新用户的插入 $tmp_user_info = add_user_reg($tmp_user); if(!$tmp_user_info){ $return_arr['msg'] = '注册出错'; die(return_ajax($return_arr)); }else{ //如果注册新用户成功则存用户的第三方登陆数据 $add_arr = array( 'uid' => $tmp_user_info['uid'],// '用户ID', 'key' => $mydata["code"],// '第三方唯一键2', 'key2' => md5($mydata["code"]),//'第三方唯一键', 'type' => 2,//'第三方应用ID', 'add_time' => $tmp_user_info['reg_time'],//'绑定时间', 'add_ip' => $tmp_user_info['reg_ip'],//'绑定时IP', 'info' => '',// '第三方特别信息', ); $add_rs = add_record($GLOBALS['conn'],'game_member_third',$add_arr); if(!isset($add_rs['id'])){//如果添加失败,则记录出错 sys_log_write_content( 'game_member_third:'.json_encode($add_arr) ,"error_log","add_sql"); unset($add_arr,$add_rs); } } }else{//如果用户已经注册了 $tmp_user_info = get_uinfo_by_uid($tmp_wx_info["uid"],$tmp_arr); } }else{ $return_arr['msg'] = '注册方式出错222'; die(return_ajax($return_arr)); } //查一下这个用户是否有被封号 //记录用户的初始化信息 $tmp_arr = array( 'uid'=>$tmp_user_info['uid']//'用户ID', ); if(!add_member_prop($tmp_arr)){ $return_arr['msg'] = '添加区相关信息出错'; sys_log_write_content( 'add_member_prop:'.json_encode($tmp_arr).$return_arr['msg'] ,"error_log","game_member_prop"); die(return_ajax($return_arr)); } //初始化用户花田信息 $tmp_arr = array( 'uid'=>$tmp_user_info['uid']//'用户ID', ); add_member_flower_field($tmp_arr); //初始化用户仓库信息 $tmp_arr = array( 'uid'=>$tmp_user_info['uid']//'用户ID', ); add_member_store($tmp_arr); //初始化用户数据统计数据 $tmp_arr = array( 'uid'=>$tmp_user_info['uid']//'用户ID', ); add_game_num($tmp_arr); //登陆信息的记录 $tmp_arr = array( 'uid' => $tmp_user_info['uid'],//玩家ID, 'user_name' => $tmp_user_info['user_name'],//玩家名称, 'reg_time' => $tmp_user_info['reg_time'],//注册时间, 'reg_ip' => $tmp_user_info['reg_ip'],//注册IP, 'referee_id' => $tmp_user_info['referee_id'],//推荐人ID, 'referee_time' => $tmp_user_info['referee_time'],//推荐时间, 'source_id' => $tmp_user_info['source_id'],//渠道ID, 'source_id2' => $tmp_user_info['source_id2'],//渠道ID2, 'login_time' => date("Y-m-d H:i:s",THIS_DATETIME),//登陆时间, 'login_ip' => $this->arr['ip']//登陆IP ); if(!add_user_area_login($tmp_arr)){//如果添加失败 $return_arr['msg'] = '检查登陆信息出错'; sys_log_write_content( 'add_user_area_login:'.json_encode($tmp_arr).$return_arr['msg'] ,"error_log","login_error_log"); die(return_ajax($return_arr)); } //获取可进行长连接的服务器地址 $tmp_server_url = get_server_adder($GLOBALS['myredis'],$tmp_user_info['uid']); if(!$tmp_server_url){ sys_log_write_content( '获取服务器长连接地址出错:' ,"error_log","login_error_log"); } //生成用户的连接token $tmp_token = array( 'uid' =>$tmp_user_info['uid'],//用户的uid 'ip'=>$this->arr['ip'],//ip, 'time'=>THIS_DATETIME, ); $tmp_token = set_login_token($tmp_token); //设置用户可以长连接 $tmp_web_login = array( "ws"=>$tmp_server_url,//"游戏URL:端口", "time"=>THIS_DATETIME, "uid"=>$tmp_user_info['uid'],//"用户ID", ); set_web_login($GLOBALS['myredis'],$tmp_user_info['uid'],$tmp_web_login); //登录返回的信息 $return_arr = array( "ga" => 'HTTP_LOGIN_OK', "code" => 1, "gd" => array( 'info' => array( 'sid' => intval($tmp_user_info['source_id']), 'sid2' => intval($tmp_user_info['source_id2']), 'uid' => $tmp_user_info['uid'], 'name' => emoji_decode($tmp_user_info['user_name']), 'nickname' => $tmp_user_info['user_nickname'], 'pic' => $tmp_user_info['user_avatar'], 'sex' => $tmp_user_info['sex'], 'time' => THIS_DATETIME,//登陆时间 'token' => $tmp_token ), 'ws' => array( 'ws' => $tmp_web_login['ws'], 'time' => THIS_DATETIME ) ) ); die(return_ajax($return_arr)); } //获取玩家某些物品 public function send_good(){ $uid = $this->arr['token']['uid']; $goods_arr = $this->arr['d']['good_id']; //物品id数组 if(empty($goods_arr)){ $return_arr["gd"]["msg"] = "物品数据不能为空"; die(return_ajax($return_arr)); } $good_id = implode(",", "'".$goods_arr."'");//物品id $arr = " `good_id`,`num` ";//需返回的物品字段 $is_sub = 'good_id'; //指定 数组key $tmp_data = array(); foreach($goods_arr as $k=>$v){ $tmp_data[$v] = array( 'id'=>$v, 'num'=>0 ); } $data = get_game_user_goods_all($uid,$good_id,$arr,$is_sub,$GLOBALS["conn"],$GLOBALS['myredis']); $info = array(); if($data){ foreach($tmp_data as $k=>$v){ foreach($data as $i=>$j){ if($k == $i){ $info[$k] = array( 'id' => $k, 'num' => $j['num'] ); break; }else{ $info[$k] = array( 'id' => $k, 'num' => 0 ); } } } }else{ $info = $tmp_data; } $return_arr = array( "ga" => 'send_good_bak', "code" => 1, "gd" => $info?$info:'' ); die(return_ajax($return_arr)); } //获取工厂数据 public function send_factory(){ $uid = $this->arr['token']['uid']; $arr = " `mf_id`,`grade`,`open_seat_num`,`goods_num`,`being_goods`,`queue_goods`,`succ_goods` ";//需返回的物品字段 $is_sub = 'mf_id'; //指定 数组key $info = get_game_user_factory_all($uid,$arr,$is_sub,$GLOBALS["conn"],$GLOBALS['myredis']); $return_arr = array( "ga" => 'send_factory_bak', "code" => 1, "gd" => $info?$info:'' ); die(return_ajax($return_arr)); } //获取当天订单列表 public function lottery_info(){ $uid = $this->arr['token']['uid']; $daytime = date("Y-m-d",time()); $info = get_lottery_data($uid,$daytime,$GLOBALS["conn"],$GLOBALS['myredis']); $return_arr = array( "ga" => 'lottery_info_bak', "code" => 1, "gd" => $info?$info:'' ); die(return_ajax($return_arr)); } //获取用户数据统计 (即种植的花卉、完成的订单、制造的商品等成就) public function user_count_info(){ $uid = $this->arr['token']['uid']; $info = get_user_count_info($uid,$GLOBALS["conn"],$GLOBALS['myredis']); $return_arr = array( "ga" => 'user_count_info_bak', "code" => 1, "gd" => $info?$info:'' ); die(return_ajax($return_arr)); } //获取游戏数据配置 public function data_config_info(){ $return_arr = array( "ga" => 'data_config_info_bak', "code" => 1, "gd" => array() ); //获取游戏配置的数据 foreach($GLOBALS['DATA_CONFIF_ARR'] as $val){ if(!empty($val)){ if($val=='sys_flower_member_2'){ $return_arr['gd'][strtoupper('sys_flower_member')] = $GLOBALS[strtoupper($val)]; }else{ $return_arr['gd'][strtoupper($val)] = $GLOBALS[strtoupper($val)]; } } } die(return_ajax($return_arr)); } }