房间与成员管理
房间管理影响在线成员的观影体验。修改前先查询当前状态,修改后用普通成员视角验证加入、播放、聊天和权限。删除、恢复窗口和房间 ban 的边界见资源生命周期。
| 类别 | 常见命令 | 风险 |
|---|---|---|
| 生命周期 | room create、room delete、room ban、room transfer-owner |
影响房间可见性、所有权和数据保留 |
| 成员 | room member add/kick/set-permissions |
改变访问和管理能力 |
| 设置 | room settings update/reset |
改变加入规则、游客、聊天和权限默认值 |
| 播放 | room playback play/pause/seek/start/stop |
改变所有在线成员看到的播放状态 |
| 直播 | room stream list、room stream publish-key |
涉及推流密钥和直播会话 |
- 查询房间、成员和当前设置。
- 判断目标是长期职责变化,还是单个成员的临时例外。
- 长期变化优先改房间角色或默认权限,临时例外再改成员覆盖。
- 不把
DELETE_ROOM作为房间内可随意委派的能力。 - 修改后验证 WebSocket 同步、加入流程、聊天和播放控制。
- 删除、封禁、转让所有权时保留原因。
| 目标 | 动作 | 注意 |
|---|---|---|
| 临时禁言 | 移除成员 send_chat_messages |
比关闭全房间聊天影响小 |
| 允许控制播放 | 增加 control_playback_state |
切换媒体还需要 navigate_playback |
| 清理扰乱成员 | kick 成员 | 房间封禁不等于平台封禁 |
| 调整长期职责 | 修改房间角色或默认权限 | 不要长期堆叠大量个人覆盖 |
完整的角色、权限计算、房间设置和成员覆盖规则见 角色、权限与用户偏好。