From 5c2172c2af33b05fdbcc07ec979fbbd0147039e2 Mon Sep 17 00:00:00 2001 From: lkddi Date: Fri, 27 Feb 2026 10:11:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=EF=BC=9A=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=80=83=E5=8B=A4=E8=AE=B0=E5=BD=95=E6=9C=BA?= =?UTF-8?q?=E5=88=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=BF=9B=E5=87=BA=E6=88=BF?= =?UTF-8?q?=E9=97=B4=E6=97=B6=E9=97=B4=E5=92=8C=E7=99=BB=E5=BD=95=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/AuthController.php | 10 ++++++++-- app/Http/Controllers/ChatController.php | 11 ++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 6b1ddd0..58d80e6 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -121,6 +121,9 @@ class AuthController extends Controller { Auth::login($user); + // 递增访问次数 + $user->increment('visit_num'); + // 更新最后登录IP和时间 $user->update([ 'last_ip' => $ip, @@ -143,8 +146,11 @@ class AuthController extends Controller { if (Auth::check()) { $user = Auth::user(); - // 记录退出时间 - $user->update(['out_time' => now()]); + // 记录退出时间和退出信息 + $user->update([ + 'out_time' => now(), + 'out_info' => '正常退出了聊天室', + ]); } Auth::logout(); diff --git a/app/Http/Controllers/ChatController.php b/app/Http/Controllers/ChatController.php index e11cfc8..58574db 100644 --- a/app/Http/Controllers/ChatController.php +++ b/app/Http/Controllers/ChatController.php @@ -51,6 +51,9 @@ class ChatController extends Controller // 房间人气 +1(每次访问递增,复刻原版人气计数) $room->increment('visit_num'); + + // 用户进房时间刷新 + $user->update(['in_time' => now()]); // 1. 将当前用户加入到 Redis 房间在线列表(包含 VIP 和管理员信息) $superLevel = (int) Sysparam::getValue('superlevel', '100'); @@ -319,6 +322,12 @@ class ChatController extends Controller // 1. 从 Redis 删除该用户 $this->chatState->userLeave($id, $user->username); + // 记录退出时间和退出信息 + $user->update([ + 'out_time' => now(), + 'out_info' => "正常退出了房间", + ]); + // 2. 广播通知他人 broadcast(new UserLeft($id, $user->username))->toOthers(); @@ -356,7 +365,7 @@ class ChatController extends Controller */ public function changeAvatar(Request $request): JsonResponse { - $user = auth()->user(); + $user = Auth::user(); $headface = $request->input('headface', ''); if (empty($headface)) {