发送者 · 自身画面本人账号
IM LIVE · iOS FEATURE SPEC · V1.0 / 2026.09.21
聊天室底部扩充功能
设备资讯・发红包
- 需求1:设备 — iOS 聊天室新增「设备」入口,发送当前设备的五项资讯。
- 需求2:发红包 — 新增「红包」入口,直接提交发送,衔接红包详情、红包记录与「我发出的红包」。
- 两个需求均区分自身与聊天室其他成员可见的内容;领取红包流程沿用现有。
iOS 增量需求原型+PRD 同页领取红包流程沿用现有交互演示 · 不接真实钱包
01 / 需求范围与操作流程
- 适用端口:iOS 群聊天室;对齐 Android 已有设备资讯与拼手气红包功能。
- 原有相簿、拍照、大型檔案、短影片保留;第二行依序为「设备」「红包」。
- 本期不新增其他红包类型、好友选择、自动发送、支付密码/指纹校验或存款引导。
- 领取资格、开红包动作、拆包动画、分配算法及领取明细权限沿用现有流程。
需求1:设备
一、选择设备
- 打开聊天室底部「+」。
- 点击第二行第 1 位「设备」。
二、采集与发送
- 读取发送时的五项设备资料。
- 沿用现有文本消息通道和发送权限。
三、查看结果
- 成功:本人右侧、其他成员左侧显示相同正文。
- 失败:仅本人看到失败与重试,重试同一消息。
需求2:发红包
一、打开表单
- 点击第二行第 2 位「红包」。
- 金额、个数为空;祝福语实际预填且可修改。
二、填写与检查
- 类型固定为拼手气红包。
- 填总金额、个数;总金额不乘以个数。
- 无效输入禁用发送。
三、直接提交
- 点击「发红包」直接请求发送。
- 不进入支付密码/指纹页面。
- 服务端复核余额、权限与规则。
四、确认结果
- 成功:关闭表单并返回原聊天室。
- 明确失败:保留输入并提示本人。
- 结果未知:先核对原请求。
五、查看聊天室
- 本人右侧、其他成员左侧展示同一张卡片。
- 各成员按自身领取状态显示。
- 领取流程保持不变。
六、查看记录
- 本人卡片进入红包领取详情。
- 右上记录图标进入红包记录。
- 切换收到/发出页签,点击记录查看对应详情。
成功与消息同步
- 服务端确认创建成功后更新同一笔发出记录。
- 消息送达后,本人右侧、其他成员左侧显示红包。
- 创建成功但消息未同步:仅本人显示同步中,补齐原消息,不再次创建或扣款。
明确失败
- 余额不足:直接 Toast「余额不足」,保留金额、个数和祝福语。
- 群失效:直接 Toast「群不存在或已失效,无法发送红包」,保留输入。
- 不新增红包卡片或成功发出记录,不打开存款/充值入口。
- 其他明确拒绝沿用错误码文案;确认未创建且条件恢复后才能重试。
结果未知与恢复
- 超时、断线、回包丢失或进程恢复:按同一业务请求标识核对。
- 已成功:恢复原红包、记录与消息,不重复创建。
- 未完成:保持处理中;只有终态确认失败才开放重新提交。
- 单次查无记录不等同失败,不可提示「未扣款」。
到期与退款
- 红包自发送成功起 24 小时后过期,并发起未领取金额退款。
- 到期退回未领取金额,已领取金额不退。
- 退款路径:钱包余额;退款处理中、已退款或异常以服务端结果为准。
- 退款金额与资金状态仅本人可见,不广播全群,也不承诺即时到账。
02 / 分需求情境 · 自身与他人
- 需求1:设备 — 入口 → 发送成功/失败与重试。
- 需求2:发红包 — 入口 → 填写 → 提交发送 → 发送结果 → 聊天室状态 → 相关记录。
- 情境选择在手机外;手机内只展示产品操作。表单、错误提示及个人记录仅本人可见。
灰色:仅自身可见绿色:聊天室其他成员可见状态视觉/文案为方案示意,沿用现有组件落地
聊天室 · 其他成员画面另一成员账号
03 / 原型交互说明
- 按下表在手机内操作;「查看情境」仅切换评审画面,不属于产品按钮。
- 失败、超时、到期与退款由手机外的情境选单模拟;不触发真实消息、扣款或退款。
04 / 自身与他人可见性矩阵
「自身」指发送者本人;「他人」指同一聊天室中具备该消息接收权限的其他成员。消息的收发与历史可见范围沿用现有权限。
| 内容/阶段 | 自身可见 | 聊天室他人可见 | 边界 |
|---|
05 / 页面与字段定义
| 字段/入口 | 展示与来源 | 交互、校验与状态 | 可见范围 | 范例/默认 |
|---|
06 / 异常情境与验收条件
每条均包含触发、处理、两个视角与可验证结果。异常文案示例用于说明语义;如已有统一错误码与多语言文案,优先复用。
| 编号/情境 | 触发与处理 | 自身/他人可见 | 验收结果 |
|---|
07 / 权限、返回链路与同步规则
权限与入口
- 沿用现有 Android 的用户、聊天室、禁言、红包功能开关与资金权限;iOS 不自行放宽或新增限制。
- 进入、点击提交、服务端落单三个阶段分别确认有效权限。填表中被移出群、房间解散或权限失效,终止未成功请求并提示本人。
- 不向全群广播草稿、校验失败、余额、扣款状态或退款到账通知。
- 设备消息发送后正文会对房间内有接收权限的成员可见;设备字段不额外扩展为 IP、唯一设备标识或日志。
取消、关闭与返回
- 打开红包时收起输入键盘;关闭表单回原聊天室,扩充面板保持展开,便于再次选择。
- 未提交时点击「取消」关闭表单,清空本次草稿;重新打开时金额和个数为空,祝福语恢复默认值。iOS 系统返回/交互关闭与取消一致,若既有容器不支持手势关闭则不新增。
- 键盘的完成/收起只关闭键盘,不提交、不清空内容;表单可滚动,提交控件须可达。
- 提交中不可通过「取消」宣称交易撤销;系统离开不取消服务端交易,回来后恢复原请求核对。
- 成功后关闭表单、收起扩充面板并返回原聊天室最新消息;点击卡片走现有页面,返回仍为原聊天室。
并发、重复与消息一致性
- 一次点击立即锁定提交;同一业务请求使用稳定幂等标识,重试、重复回调只关联同一红包。
- 红包创建成功与聊天消息投递分别确认,不能把投递失败当作新建失败。
- 消息按既有 message_id/红包标识去重与合并;自己的乐观状态、服务端回包、推送不得生成多张卡片。
- 旧状态不得覆盖新状态;前台恢复、重新进房与断线重连后按权威状态修正。
资金、跨端与恢复
- 金额计算复用既有精度规则;使用整数最小货币单位或既有精确金额类型,禁止浮点误差影响扣款。
- 多端同时发送以服务端的原子余额校验为准,不能仅依赖打开表单时的余额。
- 草稿仅保留当前页面;未决业务请求的恢复标识按现有安全持久化方式保存,切账号不可串单。
- 红包发送成功 24 小时后过期,不承诺到点立即到账;退款中、成功、异常以既有服务结果为准。
08 / 接口复用与待确认规则
- 下表为逻辑资料项,用于 iOS 对接和结果核对。
- 不是要求新建接口或新增数据库字段。
- 优先复用 Android/服务端现有能力;缺少恢复能力时由 RD 确认补齐方案。
| 逻辑资料 | 用途 | 处理要求 |
|---|---|---|
| 房间/发送者/业务请求标识 | 关联一次发送及其原始聊天室、账号。 | 稳定幂等;恢复前校验账号与房间,不随一次网络重试变化。 |
| 红包标识/消息标识 | 成功后关联红包与聊天消息。 | 分清「红包已创建」与「消息已送达」,同标识仅渲染一张卡片。 |
| 金额/个数/祝福语/类型 | 提交内容与卡片资料。 | 沿用现有字段及编码;只使用服务端允许的数据,客户端不生成随机分配结果。 |
| 规则与权限配置 | 金额区间、单份下限、祝福语限制、功能开放状态;群红包个数固定为 1–400。 | 展示值与校验值同源;打开失败不可凭缓存旧配置强行发包。 |
| 业务结果/错误码/状态版本 | 成功、明确失败、处理中、结果未知及事件顺序。 | 错误码映射现有文案;结果未知不可提示「未扣款」;忽略过期回包。 |
| 到期时间/领取汇总/退款状态 | 发送后的既有状态刷新。 | 按角色过滤显示;不新增全群退款通知,不变更领取流程。 |
开发前待确认 · 不自行新增业务数值
- 金额最小值、最大值、金额精度、单份最低值及总金额/份数组合限制:以 Android/服务端现行配置为准。
- 祝福语字数、空白及敏感内容规则:沿用现有规范;群红包数量上限已确认固定为 400 个。
- 直接提交的余额与权限错误码、未知结果核对和消息补发能力:复用既有接口。
- 本人/其他成员的红包卡片字段、领取状态及详情访问权限:沿用现有组件。
- 发出总额统计是否按原始成功金额累计、退款是否影响统计、退款通知与状态更新方式:对齐现有 Android 口径;原型暂按原始成功金额累计、退款另记。
- 设备型号、语言、App 版本/构建号的格式与读取失败缺省值:沿用现有规范。
10 / 版本记录
- 一天最多保留一笔版本记录;同一天的补充与修正合并在当日记录中,分点说明。
- 2026-09-21 为第一版初版;此前的内部迭代不另列版本记录。
| 日期 | 版本 | 版本内容 |
|---|---|---|
| 2026-09-21 | V1.0 · 初版 |
|

