$promoteId))); // } // /*if (!$promoteId) { // echo "链接失效,请重新向推广员索取链接。"; // exit(); // $this->error("参数非法"); // }*/ if ($promoteId) { $exists = M("promote", "tab_")->where(array('id' => $promoteId))->find(); if (!$exists) { $this->error("链接失效,请重新向推广员索取链接."); } } //获取客服qq $appqq = M("config", "sys_")->field('value')->where("name='APP_QQ'")->find()['value']; $this->assign("app_qq", $appqq); $this->assign("promote_id", $promoteId); $this->display(); } public function home(){ //获取客服qq $appqq = M("config", "sys_")->field('value')->where("name='APP_QQ'")->find()['value']; $this->assign("app_qq", $appqq); $this->display(); } //用户登录 public function do_login() { $account = I("Account"); $password = I("Password"); $promoteId = I("promote_id", 0); /*if (!$promoteId) { $this->ajaxReturn(array("ErrorCode" => -97, "ResultMsg" => "参数非法")); }*/ $promote = array(); if ($promoteId) { $promote = M("promote", "tab_")->where(array('id' => $promoteId))->find(); if (!$promote) { $this->ajaxReturn(array("ErrorCode" => -97, "ResultMsg" => "参数非法.")); } } //var_dump($password); $verify = new \Think\Verify(); if (!$verify->check(I("VerifyCode"))) { $this->ajaxReturn(array("ErrorCode" => -97, "ResultMsg" => "验证码错误")); } $userApi = new MemberApi(); $user_id = $userApi->login($account, $password,1);//调用登录 $res_code = 0; $res_msg = "登录成功"; if ($user_id < 0) { switch ($user_id) { case -1000 : $res_code = self::USER_NOT_EXIST; $res_msg = "用户不存在"; break; case -10021 : $res_code = self::USER_PWD_ERROR; $res_msg = "登录密码错误"; break; default : $res_code = self::UNKNOWN_ERROR; $res_msg = "未知错误"; } } if($user_id>0){ $_SESSION['user_id'] = $user_id; $user = M('user', 'tab_')->where(array( 'id' => $user_id ))->find(); if (!$user['promote_id'] && $promote) { M('user', 'tab_')->where(array( 'id' => $user_id ))->save(array( 'promote_id' => $promoteId, 'promote_account' => $promote['account'] )); } } $this->ajaxReturn(array("ErrorCode"=>$res_code,"ResultMsg"=>$res_msg),'JSON'); } //验证码 public function verify($vid = '') { $config = array( 'seKey' => 'ThinkPHP.CN', //验证码加密密钥 'fontSize' => 16, // 验证码字体大小(px) 'imageH' => 42, // 验证码图片高度 'imageW' => 107, // 验证码图片宽度 'length' => 4, // 验证码位数 'fontttf' => '4.ttf', // 验证码字体,不设置随机获取 'useCurve' => false, ); ob_clean(); $verify = new \Think\Verify($config); $verify->codeSet = '0123456789'; $verify->entry($vid); } //注册 public function phoneRegister() { //添加用户 C(api('Config/lists')); $user = $_POST; $promoteId =( $user['promote_id'] ? $user['promote_id'] : 0); #判断数据是否为空 if (empty($user)) { $this -> set_message(1001, "fail", "注册数据不能为空"); } #验证短信验证码 $this -> sms_verify($user['account'], $user['code']); $res = $this -> doRegister($user['account'],$user['password'],$user['account'],$promoteId,4,2); if(empty($res)){ $this -> set_message(1017, "fail", "添加失败"); } //添加自动登录 $_SESSION['user_id'] = $res; $this -> set_message(1, "success", "添加成功"); } //普通注册 public function userRegister() { $account = I("account"); $password = I("password"); $promoteId = I("promote_id", 0); $res = $this -> doRegister($account,$password,'',$promoteId,4,1); if(empty($res)){ $this -> set_message(1017, "fail", "添加失败"); } //添加自动登录 $_SESSION['user_id'] = $res; $this -> set_message(1, "success", "添加成功"); # code... } //消息返回 public function set_message($status=0,$return_code="fail",$return_msg="操作失败"){ $msg = array( "status" => $status, "return_code" => $return_code, "return_msg" => $return_msg ); $this->ajaxReturn($msg,'JSON'); exit(); } //真正注册代码 public function doRegister($account,$password,$phone,$promote_id,$register_way,$register_type) { //验证账号 $is_user_info = M('user', 'tab_') -> where(['account' => $account]) -> find(); if (!empty($is_user_info)) { $this -> set_message(1017, "fail", "用户名已存在"); } //2.验证其他平台是否存在账号 $domain = C('UC_OTHER_WEB_URL'); if (!empty($domain)) { $url = "http://{$domain}/Api/user/checkUserName?account={$account}"; $check_res = json_decode(file_get_contents($url), true); if ($check_res['status'] == 0) { $this -> set_message(1017, "fail", "用户名已存在"); } } $data = array( 'account' => $account, 'password' => think_ucenter_md5($password, UC_AUTH_KEY), 'phone' => $phone, 'head_img' =>'', 'promote_id' => $promote_id, 'promote_account' =>get_promote_account($promote_id), 'register_way' => $register_way, 'register_type' => $register_type, 'register_ip' => get_client_ip(), 'parent_id'=>get_fu_id($promote_id), 'parent_name'=>get_parent_name($promote_id), 'register_time'=>time(), 'check_time' => time(), ); /* 添加用户 */ $res = M('user', 'tab_') ->add($data); return $res; # code... } //首页 public function index(){ $user = session("user_auth"); // if (!$user) { // redirect(U("ssg/login")); // //$this->error("请登入", U('ssg/login')); // } $map['a.user_id']= $user['user_id']; $map['a.sdk_version'] = 2; $game_list = M("user_play a","tab_")->field("b.*,b.id as game_id,od.pay_status")->join("inner join tab_game b on a.game_id=b.id left join tab_game_supersign od on od.user_id=a.user_id and od.game_id=b.id and od.pay_status=1")->where($map)->select(); if (!$game_list) { $game_list = M("game", "tab_")->field("*, id as game_id")->where(array( "sdk_version" => 2, "game_status" => 1, ))->select(); foreach ($game_list as &$v) { $v['pay_status'] = 0; } } $this->assign("data_list",$game_list); $this->display(); } public function order(){ //.echo md5(sha1('123456') . 'UmtW6-Z(S^8xvwDn;B:J{X7FG9z2+Np.|C#~QRY"');exit(); $user = session("user_auth"); if (!$user) { redirect(U("ssg/login")); //$this->error("请登入", U('ssg/login')); } $order_list = M("game_supersign a","tab_")->field("a.order_id, b.game_name, b.icon, b.id as game_id, a.pay_status, a.user_id, a.create_time")->join("left join tab_game b on a.game_id=b.id")->where(array( 'a.user_id' => $user['user_id'], ))->order("a.id")->select(); // pp($order_list); foreach ($order_list as $key => $value){ $deff = $this->timediffs(time(),$value['create_time']); //计算分钟数 if(($deff['day']+ $deff['hour'])>=1 || $deff['min']>30){ $order_list[$key]['invalid']=1; }else{ $order_list[$key]['invalid']=0; } } $this->assign("data_list", $order_list); $this->assign("nowtime", time()); $this->display(); } //流程 public function process(){ $this->display(); } //教程 public function tutorial(){ $this->display(); } //帮助 public function help(){ $this->display(); } //规则 public function rule(){ $this->display(); } public function clear(){ \Think\Log::record('缓存清理业务触发'); session(null); } //发送验证码 public function sendPhoneCode() { $phone = I("phone"); $result = R('Common/Sms/send_sms_code', array($phone, 10, false)); if ($result['code'] == 200) { $data['status'] = 1; $data['data'] = $result['data']; } else { $data['status'] = 0; } $data['msg'] = $result['msg']; echo json_encode($data); exit; } public function timediffs($begin_time, $end_time) { if ($begin_time < $end_time) { $starttime = $begin_time; $endtime = $end_time; } else { $starttime = $end_time; $endtime = $begin_time; } //计算天数 $timediff = $endtime - $starttime; $days = intval($timediff / 86400); //计算小时数 $remain = $timediff % 86400; $hours = intval($remain / 3600); //计算分钟数 $remain = $remain % 3600; $mins = intval($remain / 60); //计算秒数 $secs = $remain % 60; $res = array("day" => $days, "hour" => $hours, "min" => $mins, "sec" => $secs); return $res; } public function sms_verify($phone="" ,$code="",$type=2){ $result = R('Common/Sms/verify_sms_code',array($phone,$code,false)); if($result['code']==200) { if($type==1){ $this->set_message(200,"success","正确"); }else{ return true; } } else { switch ($result['code']) { case 1021:{ $this->set_message(1010,"fail","验证码已失效,请重新获取"); };break; case 1022:{ $this->set_message(1022,"fail","验证码不正确,请重新输入"); };break; default: $this->set_message($result['code'],"fail",$result['msg']); } } } }