From a4ab653ff19a76e3f5379d9a39a47c2827392e76 Mon Sep 17 00:00:00 2001 From: xucong <850806214@qq.com> Date: Wed, 14 May 2025 16:29:16 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=8F=90=E4=BA=A4=E7=BC=BA=E5=A4=B1=E7=9A=84?= =?UTF-8?q?=E4=B8=9C=E8=A5=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/logic/LoginLogic.php | 37 +++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/app/api/logic/LoginLogic.php b/app/api/logic/LoginLogic.php index f1c7dcd..3da398d 100755 --- a/app/api/logic/LoginLogic.php +++ b/app/api/logic/LoginLogic.php @@ -17,6 +17,7 @@ namespace app\api\logic; use Alipay\EasySDK\Kernel\Factory; use app\api\cache\TokenCache; use app\api\service\UserServer; +use app\common\cache\UserTokenCache; use app\common\cache\WebScanLoginCache; use app\common\logic\AccountLogLogic; use app\common\logic\BaseLogic; @@ -157,7 +158,7 @@ class LoginLogic extends BaseLogic //创建会话 $user_info['token'] = self::createSession($user_info['id'], Client_::mnp); - + self::createUserSession($user_info['id'],$user_info['token']); unset($user_info['id'], $user_info['disable']); return $user_info; } @@ -291,6 +292,40 @@ class LoginLogic extends BaseLogic (new TokenCache($token, ['token' => $token]))->set(300); return $token; } + public static function createUserSession($user_id,$tk) + { + + //清除之前缓存 + $token = Db::name('user_session') + ->where('user_id' , $user_id) + ->value('token'); + if($token) { + $token_cache = new UserTokenCache(); + $token_cache->deleteUserInfo($token); + } + + $result = Db::name('user_session') + ->where('user_id',$user_id) + ->find(); + + $time = time(); + $expire_time = $time + Config::get('project.token_expire_time'); + $data = [ + 'user_id' => $user_id, + 'token' => $tk, + 'update_time' => $time, + 'expire_time' => $expire_time, + ]; + + if (empty($result)) { + Db::name('user_session')->insert($data); + } else { + Db::name('user_session') + ->where('user_id', $user_id) + ->update($data); + } + $userInfo = (new UserTokenCache())->setUserInfo($tk); + } /** * @notes 退出登录 * @param $userInfo