# 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 |