Files
amb_wechatapp/application/api/model/app/pc/Login.php
T

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
]);
}
}