101 lines
1.9 KiB
PHP
101 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace app\api\model\app\pc;
|
|
|
|
use think\Model;
|
|
/**
|
|
* PC登录
|
|
*/
|
|
class Login extends Model
|
|
{
|
|
// 表名
|
|
protected $name = 'app_pc_login';
|
|
|
|
protected $vaild_time = 120;
|
|
|
|
|
|
public function getTicketState($ticket){
|
|
$ticket = self::where([
|
|
'uniacid'=>UNIACID,
|
|
'ticket'=>$ticket,
|
|
'status'=>1,
|
|
'createtime'=>['>',time()-$this->vaild_time]
|
|
])->find();
|
|
|
|
if(!$ticket){
|
|
return false;
|
|
}
|
|
|
|
return $ticket;
|
|
}
|
|
|
|
|
|
/**
|
|
* 检查 ticket是否可用
|
|
* @param $ticket
|
|
* @return void
|
|
*/
|
|
public function checkTicketCanUse($ticket){
|
|
$data = self::where([
|
|
'uniacid'=>UNIACID,
|
|
'ticket'=>$ticket,
|
|
'status'=>0,
|
|
'createtime'=>['>',time()-$this->vaild_time]
|
|
])->find();
|
|
|
|
if($data){
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* 创建 ticket
|
|
* @return mixed
|
|
*/
|
|
public function buildTicket(){
|
|
$ticket = \fast\Random::alnum(10);
|
|
|
|
self::insert([
|
|
'uniacid'=>UNIACID,
|
|
'ticket'=>$ticket,
|
|
'status'=>0,
|
|
'createtime'=>time()
|
|
]);
|
|
|
|
return $ticket;
|
|
}
|
|
|
|
/**
|
|
* 销毁 ticket
|
|
* @param $ticket
|
|
* @return mixed
|
|
*/
|
|
public function destroyTicket($ticket){
|
|
return self::where([
|
|
'uniacid'=>UNIACID,
|
|
'ticket'=>$ticket,
|
|
])->update([
|
|
'status'=>2
|
|
]);
|
|
}
|
|
|
|
|
|
/**
|
|
* 登录成功
|
|
* @param $ticket
|
|
* @param $userId
|
|
* @param $token
|
|
* @return mixed
|
|
*/
|
|
public function successTicket($ticket,$userId,$token){
|
|
return self::where([
|
|
'uniacid'=>UNIACID,
|
|
'ticket'=>$ticket,
|
|
])->update([
|
|
'status'=>1,
|
|
'user_id'=>$userId,
|
|
'token'=>$token
|
|
]);
|
|
}
|
|
} |