IM LIVE · iOS FEATURE SPEC · V1.0 / 2026.09.21

聊天室底部扩充功能
设备资讯・发红包

iOS 增量需求原型+PRD 同页领取红包流程沿用现有交互演示 · 不接真实钱包

01 / 需求范围与操作流程

需求1:设备

一、选择设备
  • 打开聊天室底部「+」。
  • 点击第二行第 1 位「设备」。
二、采集与发送
  • 读取发送时的五项设备资料。
  • 沿用现有文本消息通道和发送权限。
三、查看结果
  • 成功:本人右侧、其他成员左侧显示相同正文。
  • 失败:仅本人看到失败与重试,重试同一消息。

需求2:发红包

一、打开表单
  • 点击第二行第 2 位「红包」。
  • 金额、个数为空;祝福语实际预填且可修改。
二、填写与检查
  • 类型固定为拼手气红包。
  • 填总金额、个数;总金额不乘以个数。
  • 无效输入禁用发送。
三、直接提交
  • 点击「发红包」直接请求发送。
  • 不进入支付密码/指纹页面。
  • 服务端复核余额、权限与规则。
四、确认结果
  • 成功:关闭表单并返回原聊天室。
  • 明确失败:保留输入并提示本人。
  • 结果未知:先核对原请求。
五、查看聊天室
  • 本人右侧、其他成员左侧展示同一张卡片。
  • 各成员按自身领取状态显示。
  • 领取流程保持不变。
六、查看记录
  • 本人卡片进入红包领取详情。
  • 右上记录图标进入红包记录。
  • 切换收到/发出页签,点击记录查看对应详情。

成功与消息同步

  • 服务端确认创建成功后更新同一笔发出记录。
  • 消息送达后,本人右侧、其他成员左侧显示红包。
  • 创建成功但消息未同步:仅本人显示同步中,补齐原消息,不再次创建或扣款。

明确失败

  • 余额不足:直接 Toast「余额不足」,保留金额、个数和祝福语。
  • 群失效:直接 Toast「群不存在或已失效,无法发送红包」,保留输入。
  • 不新增红包卡片或成功发出记录,不打开存款/充值入口。
  • 其他明确拒绝沿用错误码文案;确认未创建且条件恢复后才能重试。

结果未知与恢复

  • 超时、断线、回包丢失或进程恢复:按同一业务请求标识核对。
  • 已成功:恢复原红包、记录与消息,不重复创建。
  • 未完成:保持处理中;只有终态确认失败才开放重新提交。
  • 单次查无记录不等同失败,不可提示「未扣款」。

到期与退款

  • 红包自发送成功起 24 小时后过期,并发起未领取金额退款。
  • 到期退回未领取金额,已领取金额不退。
  • 退款路径:钱包余额;退款处理中、已退款或异常以服务端结果为准。
  • 退款金额与资金状态仅本人可见,不广播全群,也不承诺即时到账。

02 / 分需求情境 · 自身与他人

灰色:仅自身可见绿色:聊天室其他成员可见状态视觉/文案为方案示意,沿用现有组件落地

发送者 · 自身画面本人账号
聊天室 · 其他成员画面另一成员账号

03 / 原型交互说明

04 / 自身与他人可见性矩阵

「自身」指发送者本人;「他人」指同一聊天室中具备该消息接收权限的其他成员。消息的收发与历史可见范围沿用现有权限。

内容/阶段自身可见聊天室他人可见边界

05 / 页面与字段定义

字段/入口展示与来源交互、校验与状态可见范围范例/默认

06 / 异常情境与验收条件

每条均包含触发、处理、两个视角与可验证结果。异常文案示例用于说明语义;如已有统一错误码与多语言文案,优先复用。

编号/情境触发与处理自身/他人可见验收结果

07 / 权限、返回链路与同步规则

权限与入口

  • 沿用现有 Android 的用户、聊天室、禁言、红包功能开关与资金权限;iOS 不自行放宽或新增限制。
  • 进入、点击提交、服务端落单三个阶段分别确认有效权限。填表中被移出群、房间解散或权限失效,终止未成功请求并提示本人。
  • 不向全群广播草稿、校验失败、余额、扣款状态或退款到账通知。
  • 设备消息发送后正文会对房间内有接收权限的成员可见;设备字段不额外扩展为 IP、唯一设备标识或日志。

取消、关闭与返回

  • 打开红包时收起输入键盘;关闭表单回原聊天室,扩充面板保持展开,便于再次选择。
  • 未提交时点击「取消」关闭表单,清空本次草稿;重新打开时金额和个数为空,祝福语恢复默认值。iOS 系统返回/交互关闭与取消一致,若既有容器不支持手势关闭则不新增。
  • 键盘的完成/收起只关闭键盘,不提交、不清空内容;表单可滚动,提交控件须可达。
  • 提交中不可通过「取消」宣称交易撤销;系统离开不取消服务端交易,回来后恢复原请求核对。
  • 成功后关闭表单、收起扩充面板并返回原聊天室最新消息;点击卡片走现有页面,返回仍为原聊天室。

并发、重复与消息一致性

  • 一次点击立即锁定提交;同一业务请求使用稳定幂等标识,重试、重复回调只关联同一红包。
  • 红包创建成功与聊天消息投递分别确认,不能把投递失败当作新建失败。
  • 消息按既有 message_id/红包标识去重与合并;自己的乐观状态、服务端回包、推送不得生成多张卡片。
  • 旧状态不得覆盖新状态;前台恢复、重新进房与断线重连后按权威状态修正。

资金、跨端与恢复

  • 金额计算复用既有精度规则;使用整数最小货币单位或既有精确金额类型,禁止浮点误差影响扣款。
  • 多端同时发送以服务端的原子余额校验为准,不能仅依赖打开表单时的余额。
  • 草稿仅保留当前页面;未决业务请求的恢复标识按现有安全持久化方式保存,切账号不可串单。
  • 红包发送成功 24 小时后过期,不承诺到点立即到账;退款中、成功、异常以既有服务结果为准。

08 / 接口复用与待确认规则

逻辑资料用途处理要求
房间/发送者/业务请求标识关联一次发送及其原始聊天室、账号。稳定幂等;恢复前校验账号与房间,不随一次网络重试变化。
红包标识/消息标识成功后关联红包与聊天消息。分清「红包已创建」与「消息已送达」,同标识仅渲染一张卡片。
金额/个数/祝福语/类型提交内容与卡片资料。沿用现有字段及编码;只使用服务端允许的数据,客户端不生成随机分配结果。
规则与权限配置金额区间、单份下限、祝福语限制、功能开放状态;群红包个数固定为 1–400。展示值与校验值同源;打开失败不可凭缓存旧配置强行发包。
业务结果/错误码/状态版本成功、明确失败、处理中、结果未知及事件顺序。错误码映射现有文案;结果未知不可提示「未扣款」;忽略过期回包。
到期时间/领取汇总/退款状态发送后的既有状态刷新。按角色过滤显示;不新增全群退款通知,不变更领取流程。

开发前待确认 · 不自行新增业务数值

10 / 版本记录

日期版本版本内容
2026-09-21V1.0 · 初版
  • 需求1:设备。扩充面板第二行第一位新增设备入口,发送厂商、型号、系统版本、设备语言、当前版本五行资讯;补齐成功、失败、重试及双方消息展示。
  • 需求2:发红包。设备之后为红包入口;仅提供拼手气红包,填写总金额、红包个数与可修改的默认祝福语;金额展示千分位。
  • 数量规则:每次群红包数量为 1–400 的正整数;最多 400 个,超限或非法输入禁止提交,前后端保持一致。
  • 发送交互:直接提交,不进入支付密码、指纹或设备认证;余额不足、群失效直接提示并保留输入,不引导存款,不新增成功卡片或记录。
  • 状态与可见性:区分本人右侧、其他成员左侧卡片;覆盖提交中、明确失败、结果未知核对、消息同步、部分领取、领完与过期,个人表单和错误不广播。
  • 到期与退款:发送成功 24 小时后过期,并发起未领取金额退款;已领取金额不退,退款路径为钱包余额,处理结果与到账时间以服务端为准。
  • 相关记录:串接本人红包详情、我发出的红包、我收到的红包及单笔详情,定义页签统计、加载异常、返回位置和私有退款资料。
  • PRD 与原型:分需求、分点整理流程、字段及范例、交互说明、可见性、异常验收、权限、返回与接口规则;情境下拉与模拟控件位于手机原型之外。
  • 线上交付:通过独立站点提供完整 PRD 与交互原型,供需求评审使用;演示不连接真实消息、钱包或退款服务。

来源对照 · 同宽 370 px / 仅用于设计 QA

iOS 原始截图

iOS原始截图对照

本次 iOS 发送者原型

Android 原始红包表单区域

Android红包原始表单区域