From 362ecdd8ab86abf7b49021df7f52d642dc561fd3 Mon Sep 17 00:00:00 2001 From: lkddi Date: Thu, 26 Feb 2026 22:03:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9APresence=20Channel?= =?UTF-8?q?=20=E8=AE=A4=E8=AF=81=E6=95=B0=E6=8D=AE=E8=A1=A5=E5=85=A8?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E5=92=8CVIP=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复 channels.php 中 headface 字段使用 accessor 正确读取 usersf - 补全 VIP 图标、名称、颜色和管理员标识到频道认证数据 - 解决刷新页面后头像和VIP标识丢失的问题 --- routes/channels.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/routes/channels.php b/routes/channels.php index 1b991ae..e50712f 100644 --- a/routes/channels.php +++ b/routes/channels.php @@ -12,12 +12,17 @@ Broadcast::channel('room.{roomId}', function ($user, $roomId) { // 凡是通过了这个判断的人(返回一个数组),他就会成功建立 WebSocket, // 且他的这个数组信息会被 Reverb 推送给这个房间内的所有其他人 (joining / here 事件)。 + $superLevel = (int) \App\Models\Sysparam::getValue('superlevel', '100'); + return [ 'id' => $user->id, 'username' => $user->username, 'user_level' => $user->user_level, 'sex' => $user->sex, - 'headface' => $user->usersf ?: $user->headface, - // 这里可以视情况加入更多需要前端渲染在线人员列表的字段 + 'headface' => $user->headface, // 通过 accessor 读取 usersf,默认 1.GIF + 'vip_icon' => $user->vipIcon(), + 'vip_name' => $user->vipName(), + 'vip_color' => $user->isVip() ? ($user->vipLevel?->color ?? '') : '', + 'is_admin' => $user->user_level >= $superLevel, ]; });