4.8 KiB
4.8 KiB
Voice Room Business Roadmap
本文档只列语音房业务从当前阶段到可运营版本需要完成的内容。每一阶段都必须有可验收结果,不做泛化平台能力。
Phase 1: 房间基础闭环
目标:用户可以稳定开房、进房、离房、断线重连。
必须完成:
| Item | Result |
|---|---|
| 创建房间 | 房主创建 active 房间并获得快照 |
| 进房 | 用户进入 room-service presence |
| 腾讯云 IM 进群 | JoinRoom 成功后客户端才能登录 IM 并加入房间群 |
| 离房 | 主动退出后 presence 和订阅权限清理 |
| 断线重连 | token 刷新、JoinRoom 幂等刷新、腾讯云 IM 重新登录进群、历史补拉 |
| 恢复 | room-service 重启后能恢复房间状态 |
验收:两个用户完成“开房 -> 进房 -> 腾讯云 IM 进群 -> 断线 -> 重连 -> 离房”,状态和消息都正确。
Phase 2: RTC 语音接入
目标:用户进房后能进入真实语音频道。
必须完成:
| Item | Result |
|---|---|
| RTC token | gateway 返回腾讯云 RTC 所需 token |
| RTC user_id 映射 | RTC uid 与系统 user_id 稳定绑定 |
| 进频道 | JoinRoom 成功后才能拿 RTC token |
| 离频道 | LeaveRoom 后客户端退出 RTC |
| 异常断线 | RTC 断开不立即等于业务离房 |
验收:用户进房后能听说,断线重连后能回到同一房间。
Phase 3: 麦位和房间管理
目标:语音房具备基本主持和秩序。
必须完成:
| Item | Result |
|---|---|
| 上麦/下麦 | 用户可以占用和释放麦位 |
| 换麦 | 主持或管理员可以调整麦位 |
| 锁麦 | 被锁麦位不能被普通用户占用 |
| 禁言 | 被禁言用户不能发公屏 |
| 踢人 | 被踢用户不能订阅房间 |
| 角色 | owner、host、admin、audience 权限清晰 |
验收:主持能管理一场房,恶意用户不能继续发言或收消息。
Phase 4: IM 房间消息闭环
目标:房间内消息可用、可恢复、可补拉。
必须完成:
| Item | Result |
|---|---|
| 公屏消息 | 通过 CheckSpeakPermission 后广播 |
| 系统消息 | 进房、离房、上下麦、踢人等自动广播 |
| 历史窗口 | 最近 N 条房间消息可补拉 |
| 单聊 | 基础 peer_message 可发送 |
| ACK | peer_message 和 system_notice 支持 ACK |
验收:用户重进房后能补拉最近消息,禁言用户不能发公屏。
Phase 5: 金币和普通礼物
目标:语音房可以产生基础商业行为。
必须完成:
| Item | Result |
|---|---|
| 金币账户 | wallet-service 维护余额和账单 |
| 扣费幂等 | 重复请求不重复扣金币 |
| 礼物配置 | 礼物 ID、价格、热度、表现可配置 |
| SendGift | 扣费成功后进入 Room Cell |
| 房间表现 | 热度、本地榜、礼物消息同步变化 |
| outbox | activity、notice、IM bridge 可通过 direct 或 RocketMQ 消费完整房间事件 |
验收:用户送普通礼物后金币减少、房间热度增加、榜单变化、消息广播成功。
Phase 6: 用户资料和短号
目标:用户在房间内有可展示身份。
必须完成:
| Item | Result |
|---|---|
| 基础资料 | 昵称、头像、性别、简介 |
| 默认短号 | 注册生成,可搜索 |
| 临时靓号 | 有效期内覆盖默认短号,过期恢复 |
| 资料缓存 | IM/客户端展示资料时可补全 |
验收:房间内展示当前短号和资料,靓号过期后恢复默认短号。
Phase 7: 风控和运营后台
目标:房间可控、问题可查。
必须完成:
| Item | Result |
|---|---|
| 登录审计 | 能查登录、设备、IP |
| 房间审计 | 能查创建、进出、管理动作 |
| 账务审计 | 能查扣费和入账 |
| 基础风控 | 刷屏、频控、封禁、黑名单 |
| 后台操作 | 封禁用户、关房、查房间状态 |
验收:出现投诉或异常送礼时,能定位用户、房间、消息、账单和操作记录。
Phase 8: 活动和幸运礼物
目标:在基础商业闭环稳定后做增长玩法。
必须完成:
| Item | Result |
|---|---|
| activity-service | 消费房间 outbox 事件 |
| 活动配置 | 活动时间、规则、奖励 |
| 幸运礼物 | 三层奖池 + 一层风控 |
| 奖励入账 | 金币返还通过 wallet-service |
| 审计 | 抽奖结果、奖池、风控阈值可追溯 |
验收:幸运礼物返还率可控,结果可审计,不影响普通送礼稳定性。
Current Focus
现在只做 Phase 1。
本阶段完成前,不应该优先做:
| Do Not Prioritize | Reason |
|---|---|
| 幸运礼物 | 依赖金币和普通礼物闭环 |
| 房间推荐 | 单房间基础链路还未稳定 |
| 复杂活动 | 依赖 outbox 消费和账务 |
| 多端漫游 | 首版先保证单端重连 |
| 主备热同步 | 当前恢复模型是 snapshot + command log |