public
function
checkLogin(
$username
,
$passwd
){
$driver
= self::field(
'driver_id,passwd'
)->where(
'zhanghao'
,
$username
)->whereOr(
'phone'
,
$username
)->find();
if
(
empty
(
$driver
)){
$this
->error =
'账号不存在'
;
return
false;
}
if
(
$driver
[
'passwd'
] != md5(
$passwd
)){
$this
->error =
"密码不正确"
;
return
false;
}
//$out_time = strtotime('+ 1 days');
$out_time
=
strtotime
(
'+ 1 minutes'
);
$token
= create_token(
$driver
[
'driver_id'
],
$out_time
);
if
(false===self::save([
'token'
=>
$token
,
'time_out'
=>
$out_time
],[
'driver_id'
=>
$driver
[
'driver_id'
]])){
$this
->error =
'登陆失败'
;
return
false;
}
$refresh_token_out_time
=
strtotime
(
'+ 5 days'
);
$refresh_token
= create_token(
$driver
[
'driver_id'
],
$refresh_token_out_time
);
Cache::set(
"token"
,
$token
,60);
Cache::set(
"driver_id"
,
$driver
[
'driver_id'
],
$refresh_token_out_time
);
//设置ID的过期时间和更新token的token时间一样用于更新的时候获取用户信息
Cache::set(
'refresh_token'
,
$refresh_token
,
$refresh_token_out_time
);
return
[
'token'
=>
$token
,
'refresh_token'
=>
$refresh_token
,
'in_expire'
=>
$out_time
];
}