修复:Presence Channel 认证数据补全头像和VIP信息
- 修复 channels.php 中 headface 字段使用 accessor 正确读取 usersf - 补全 VIP 图标、名称、颜色和管理员标识到频道认证数据 - 解决刷新页面后头像和VIP标识丢失的问题
This commit is contained in:
@@ -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,
|
||||
];
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user