反馈系统负责在用户操作后提供即时、清晰、可理解的状态信息,帮助用户理解系统发生了什么以及接下来该做什么。
反馈类型
成功 Success
操作已成功完成的确认反馈。
- 用于创建、保存、删除、部署、连接等操作完成后的确认
- 显示在操作触发位置附近,使用 Toast 通知或行内提示
- 文案应明确说明”什么成功了”,如”配置已保存”、“设备连接成功”
- 自动消失,持续时间 3-5 秒
- 视觉风格:绿色标识 + 成功图标
错误 Error
操作失败或系统异常的反馈。
- 必须说明错误原因,不可只显示”操作失败”
- 尽可能提供修复建议或下一步操作
- 表单验证错误应在对应字段旁行内显示
- 系统级错误使用页面级提示或模态框
- 文案示例:“端口 8080 已被占用,请更换端口后重试”
- 视觉风格:红色标识 + 错误图标
警告 Warning
潜在风险或需要用户注意的非阻断性提示。
- 用于不阻止操作但需要用户知晓的情况
- 如:配置项不完整但可继续、版本即将弃用、存储空间不足
- 警告应可关闭,但不应自动消失
- 文案应说明”发生了什么”和”可能的影响”
- 视觉风格:黄色/橙色标识 + 警告图标
加载 Loading
系统正在处理请求,需要用户等待的状态反馈。
- 局部操作使用 Spinner 或骨架屏
- 页面级加载使用进度条或骨架屏
- 加载时间超过 2 秒应显示进度百分比或步骤提示
- 长时间加载提供取消操作入口
- 避免在加载时显示空白页面
- 视觉风格:品牌色动画 + 简洁文字提示
空状态 Empty
列表或内容区域无数据时的占位反馈。
- 不应显示空白区域
- 提供空状态说明文案和插图
- 提供创建或导入的快捷操作入口
- 文案示例:“还没有设备连接,添加你的第一台设备”
- 视觉风格:中性色调插图 + 引导性文案 + 操作按钮
离线 Offline
网络不可用时的全局提示。
- 在页面顶部显示固定提示条
- 不阻断用户浏览已加载的内容
- 网络恢复后自动消失并提示”连接已恢复”
- 不使用模态框阻断操作
- 视觉风格:灰色标识 + 连接状态图标
操作确认 Confirmation
重要操作执行前的二次确认。
- 用于不可逆操作:删除资源、重置配置、断开连接、覆盖文件
- 模态框应明确说明操作后果
- 确认按钮使用危险色(红色),取消按钮为默认样式
- 文案示例:“确定删除设备 ‘Robot-Alpha-01’?此操作不可恢复”
- 不应对低风险操作过度确认
撤销 Undo
已执行操作后的撤销能力。
- 对于可恢复的操作,在成功提示中提供撤销入口
- 撤销入口应为文本链接,嵌入 Toast 通知中
- 撤销有效期应有时间限制(如 5 秒内可点击)
- 文案示例:“设备已删除。撤销”
设计原则
错误信息必须说明原因
用户看到错误提示时应能理解问题所在和解决方向。
- 禁止使用模糊文案如”出错了”、“操作失败”、“系统异常”
- 必须包含具体的错误原因和可选的修复建议
- 技术错误信息可在”详情”折叠区域展示完整堆栈
重要操作必须展示后果
不可逆操作必须在执行前让用户确认并了解后果。
- 说明”什么会被删除/修改/覆盖”
- 说明”此操作是否可恢复”
- 使用红色或警告色区分危险操作
文案不可含糊
所有反馈文案都应清晰、具体、无歧义。
- 使用具体名词而非代词:“配置文件已保存”而非”已保存”
- 说明时间和数量:“3 个设备已移除”而非”设备已移除”
- 避免使用技术术语解释错误,除非目标用户是开发者
反馈必须及时
反馈应在操作完成后立即出现。
- 用户点击后 100ms 内应出现加载状态
- 操作完成后即时显示结果反馈
- 不应让用户猜测操作是否生效
反馈必须清晰可读
反馈信息应在视觉上与内容区分,易于识别。
- 使用图标辅助传达语义(成功、错误、警告)
- 使用颜色编码区分类型
- 文案字号不小于正文,对比度足够
反馈应可恢复
用户应有机会修正错误或撤销操作。
- 可恢复操作提供撤销入口
- 表单错误保留用户已填写的内容
- 提供明确的错误修复路径