You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
218 lines
7.0 KiB
PHP
218 lines
7.0 KiB
PHP
<?php
|
|
namespace Mobile\Controller;
|
|
use User\Api\MemberApi;
|
|
|
|
class SsgController extends BaseController {
|
|
const USER_NOT_ILLEGAL = -1; //用户名不合法
|
|
const USER_HAVE_SENSITIVE_STR = -2; //包含敏感字符
|
|
const USER_HAS_REGISTERED = -3; //用户已存在
|
|
const USER_PROMOTE_NATURAL = 0;//自然注册
|
|
const EMPTY_DATA = -100; //数据为空
|
|
const SIGN_ERROR = -99; //验签失败
|
|
const USER_NOT_EXIST = -1000; //用户不存在
|
|
const USER_FORBIDDEN = -1001; //被禁用
|
|
const USER_PWD_ERROR = -10021; //密码错误
|
|
const UNKNOWN_ERROR = -1100; //未知错误
|
|
const CODE_TIMEOUT = -98; //验证码超时
|
|
const CODE_ERROR = -97; //验证码错误
|
|
const RETURN_SUCCESS = 1;
|
|
const RETURN_FALSE = 2;
|
|
|
|
|
|
public function login(){
|
|
$user = session("user_auth");
|
|
$promoteId = I("promote_id");
|
|
if (!$promoteId) {
|
|
$this->error("参数非法");
|
|
}
|
|
$exists = M("promote", "tab_")->where(array('id' => $promoteId))->find();
|
|
if (!$exists) {
|
|
$this->error("参数非法.");
|
|
}
|
|
|
|
/*if ($user) {
|
|
redirect(U("ssg/index"));
|
|
}*/
|
|
$this->assign("promote_id", $promoteId);
|
|
$this->display();
|
|
}
|
|
|
|
public function home(){
|
|
$this->display();
|
|
}
|
|
|
|
//用户登录
|
|
public function do_login()
|
|
{
|
|
$account = I("Account");
|
|
$password = I("Password");
|
|
$promoteId = I("promote_id");
|
|
if (!$promoteId) {
|
|
$this->ajaxReturn(array("ErrorCode" => -97, "ResultMsg" => "参数非法"));
|
|
}
|
|
$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']) {
|
|
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 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 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;
|
|
}
|
|
}
|