作者 lyh

gx自动登录类型

... ... @@ -297,7 +297,7 @@ class LoginController extends BaseController
];
}
}
$info = $logic->autologin($data);
$info = $logic->autologin($data,User::LOGIN_OTHER_SOURCE);
$this->response('success',Code::SUCCESS,['info'=>$info]);
}
... ...
... ... @@ -107,7 +107,7 @@ class UserLoginLogic
* @method :post
* @time :2023/9/18 11:00
*/
public function autologin($data)
public function autologin($data,$login_source = User::LOGIN_AUTO_SOURCE)
{
//项目自动登录
if(isset($data['project_id']) && !empty($data['project_id'])){
... ... @@ -120,7 +120,7 @@ class UserLoginLogic
if ($has_user === false) {
$this->fail('该项目未找到注册账号');
}
$info = $this->autoAssembleParam($has_user);
$info = $this->autoAssembleParam($has_user,$login_source);
//生成新token
$token = md5(uniqid().$info['id']);
//存储缓存
... ... @@ -160,7 +160,7 @@ class UserLoginLogic
* @method :post
* @time :2023/6/12 15:34
*/
public function autoAssembleParam($info){
public function autoAssembleParam($info,$login_source = User::LOGIN_AUTO_SOURCE){
$project = $this->getProjectInfo($info['project_id']);
if($project['site_status'] != 0){//关闭站点
$this->fail('当前网站已过期,请联系管理员及时续费。');
... ... @@ -206,7 +206,7 @@ class UserLoginLogic
$is_amp = $amp_info ? $amp_info['amp_status'] : 0;
}
$info['is_amp'] = $is_amp;
$info['login_source'] = $login_source;
//保存项目缓存
Cache::put('user-'.$info['project_id'],$project,12 * 3600);
return $this->success($info);
... ... @@ -316,6 +316,7 @@ class UserLoginLogic
$is_amp = $amp_info ? $amp_info['amp_status'] : 0;
}
$info['is_amp'] = $is_amp;
$info['login_source'] = User::LOGIN_PASSWORD_SOURCE;
//保存项目缓存
Cache::put('user-'.$info['project_id'],$project,12 * 3600);
return $this->success($info);
... ... @@ -363,7 +364,7 @@ class UserLoginLogic
];
}else {
//获取项目详情
$info = $this->autoAssembleParam($info);
$info = $this->autoAssembleParam($info,User::LOGIN_PASSWORD_SOURCE);
if(isset($info['token']) && !empty($info['token'])){
//清除上一次用户缓存
Cache::pull($info['token']);
... ...
... ... @@ -17,6 +17,9 @@ class User extends Base
//自动维护create_at创建时间 updated_at修改时间
public $timestamps = true;
const LOGIN_AUTO_SOURCE = 1;//自动登录
const LOGIN_PASSWORD_SOURCE = 2;//账号密码登录
const LOGIN_OTHER_SOURCE = 3;//其他平台切入
/**
* The attributes that should be cast.
*
... ...