默认、加载、空、错误、无权限与离线状态
补齐主流程之外决定产品可靠感的关键状态。
- 用自己的话解释“默认、加载、空、错误、无权限与离线状态”及其核心术语。
- 在真实 AI 产品场景中识别何时应该使用本课方法。
- 完成一份可沉淀进“功能流程图、交互原型与可验收 PRD”阶段任务的实践产出。
REAL SCENE
先从一个真实场景开始
用户上传 200 页文档后只看到旋转图标。文件格式不支持时页面仍然转,权限过期后无解释,网络恢复后任务被重复提交。主成功路径设计得很顺,但真实产品的大部分信任来自加载、空、错误、无权限和离线状态。
PLAIN EXPLANATION
说人话:它到底是什么?
状态设计描述系统在不同时间和条件下向用户呈现什么、允许什么动作以及如何恢复。基本状态包括初始、空、输入、校验、加载、部分成功、成功、错误、无权限、离线和过期。每个状态应映射后台真实状态,提供发生了什么、为什么、影响什么和下一步能做什么。高风险操作还要防止重复、保留已输入内容并提供撤销或申诉。
建立状态机而非页面列表
用状态、触发事件、允许转移和禁止转移描述行为。异步 AI 任务尤其需要 queued、processing、partial、completed、failed、cancelled 和 expired,避免前端自己猜测。
- 状态名称前后端一致
- 每次转移有时间与原因
- 终止状态明确能否重试
反馈四要素
有效状态反馈回答:当前发生什么、可能为什么、用户数据是否保留、下一步能做什么。错误码面向系统,用户文案面向任务;不能直接展示堆栈,也不能只说“出错了”。
- 明确影响范围
- 保留可恢复输入
- 提供主行动和替代行动
设计安全恢复
重试要考虑幂等,取消要说明是否已产生费用或副作用,离线恢复要避免重复提交。权限错误区分未登录、无角色、资源不存在和授权过期,不能为方便统一返回空白。
- 高风险操作二次确认
- 重复请求使用幂等键
- 不可恢复时提供导出、申诉或联系渠道
用状态机连接前后台真实状态,不让界面凭时间猜测。
每个状态说明发生、原因、数据影响和可执行下一步。
恢复设计同时考虑幂等、费用、权限和不可逆副作用。
KEY POINT
这节课最重要的结论
- 为什么重要
- 这决定了把需求转化为团队能开发、能测试、能验收的完整方案时,团队是否拥有一致、可验证的判断标准。
- 适用边界
- 当问题目标、数据来源或失败成本发生变化时,不要机械套用;先重新确认假设和风险等级。
EXAMPLES
正确案例与常见反例
文档处理显示“排队中—解析 35%—建立索引—可问答”,每个状态来自后台任务事件。格式错误在上传前校验并保留其他文件;超时后用户可继续等待、取消或稍后通知。重试复用任务 ID,避免重复计费。
所有异步任务只用一个 loading 布尔值,30 秒后前端自行显示失败。后台其实仍在处理,用户点击重试产生两个任务和两次费用。权限失效时页面清空,用户误以为资料被删除。
“请把任务状态定义成枚举并返回 reason、progress、updatedAt 和 retryable。前端不会用固定 30 秒猜失败。重试必须带原任务幂等键;权限过期保留草稿并引导重新授权。”
HANDS-ON
必做实操任务
本节产出:“功能流程图、交互原型与可验收 PRD”阶段任务中的《默认、加载、空、错误、无权限与离线状态》一页实践卡
步骤 1选择一个异步 AI 功能,列出初始到终止的全部状态和触发事件。
步骤 2画状态转移图,标出允许、禁止和需要确认的转移。
步骤 3为加载、部分成功、三类错误、无权限和离线分别写用户反馈。
步骤 4定义每个失败是否可重试、如何幂等、是否计费以及数据如何保留。
实践结果会自动保存在本机,并进入项目工坊的任务来源。
功能:____ 权威状态来源:____
状态|进入事件|用户看到|允许动作|退出事件
initial|____|____|____|____
validating|____|____|____|____
queued/processing|____|____|____|____
partial|____|____|____|____
completed|____|____|____|____
failed|____|____|____|____
permission/offline/expired|____|____|____|____
错误类型|reason|可重试|幂等键|计费|数据保留|替代动作
____|____|____|____|____|____|____CHECKLIST
产品经理工作检查表
MASTERY QUIZ
掌握测验
达到 60% 即可完成本课。
INTERVIEW
常见面试题
展开参考回答
先与工程定义权威状态机和事件,展示有意义进度与预计时间;为每个状态说明影响与动作;区分可重试、需修改输入和不可恢复失败;保留用户数据,使用幂等防重复;支持取消、后台通知和人工渠道;同时埋点监控各状态耗时与失败原因。
RECAP & FURTHER READING
重点回顾、延伸阅读与下一步
- 1
围绕“默认、加载、空、错误、无权限与离线状态”继续阅读:选择一篇真实用户研究或产品决策复盘,识别其中的问题证据、方案取舍与验证闭环。
- 2
用“空状态、错误恢复、离线状态”作为检索词,分别写下一条定义、一条适用边界和一个反例。
- 3
对照本课正确案例与反例,寻找一个公开案例并记录其中可复用的判断与不能照搬的条件。