id === (int) $id; }); // 聊天室房间 Presence Channel 鉴权与成员信息抓取 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->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, ]; });