反馈系统负责在用户操作后提供即时、清晰、可理解的状态信息,帮助用户理解系统发生了什么以及接下来该做什么。

反馈类型

成功 Success

操作已成功完成的确认反馈。

  • 用于创建、保存、删除、部署、连接等操作完成后的确认
  • 显示在操作触发位置附近,使用 Toast 通知或行内提示
  • 文案应明确说明”什么成功了”,如”配置已保存”、“设备连接成功”
  • 自动消失,持续时间 3-5 秒
  • 视觉风格:绿色标识 + 成功图标

错误 Error

操作失败或系统异常的反馈。

  • 必须说明错误原因,不可只显示”操作失败”
  • 尽可能提供修复建议或下一步操作
  • 表单验证错误应在对应字段旁行内显示
  • 系统级错误使用页面级提示或模态框
  • 文案示例:“端口 8080 已被占用,请更换端口后重试”
  • 视觉风格:红色标识 + 错误图标

警告 Warning

潜在风险或需要用户注意的非阻断性提示。

  • 用于不阻止操作但需要用户知晓的情况
  • 如:配置项不完整但可继续、版本即将弃用、存储空间不足
  • 警告应可关闭,但不应自动消失
  • 文案应说明”发生了什么”和”可能的影响”
  • 视觉风格:黄色/橙色标识 + 警告图标

加载 Loading

系统正在处理请求,需要用户等待的状态反馈。

  • 局部操作使用 Spinner 或骨架屏
  • 页面级加载使用进度条或骨架屏
  • 加载时间超过 2 秒应显示进度百分比或步骤提示
  • 长时间加载提供取消操作入口
  • 避免在加载时显示空白页面
  • 视觉风格:品牌色动画 + 简洁文字提示

空状态 Empty

列表或内容区域无数据时的占位反馈。

  • 不应显示空白区域
  • 提供空状态说明文案和插图
  • 提供创建或导入的快捷操作入口
  • 文案示例:“还没有设备连接,添加你的第一台设备”
  • 视觉风格:中性色调插图 + 引导性文案 + 操作按钮

离线 Offline

网络不可用时的全局提示。

  • 在页面顶部显示固定提示条
  • 不阻断用户浏览已加载的内容
  • 网络恢复后自动消失并提示”连接已恢复”
  • 不使用模态框阻断操作
  • 视觉风格:灰色标识 + 连接状态图标

操作确认 Confirmation

重要操作执行前的二次确认。

  • 用于不可逆操作:删除资源、重置配置、断开连接、覆盖文件
  • 模态框应明确说明操作后果
  • 确认按钮使用危险色(红色),取消按钮为默认样式
  • 文案示例:“确定删除设备 ‘Robot-Alpha-01’?此操作不可恢复”
  • 不应对低风险操作过度确认

撤销 Undo

已执行操作后的撤销能力。

  • 对于可恢复的操作,在成功提示中提供撤销入口
  • 撤销入口应为文本链接,嵌入 Toast 通知中
  • 撤销有效期应有时间限制(如 5 秒内可点击)
  • 文案示例:“设备已删除。撤销”

设计原则

错误信息必须说明原因

用户看到错误提示时应能理解问题所在和解决方向。

  • 禁止使用模糊文案如”出错了”、“操作失败”、“系统异常”
  • 必须包含具体的错误原因和可选的修复建议
  • 技术错误信息可在”详情”折叠区域展示完整堆栈

重要操作必须展示后果

不可逆操作必须在执行前让用户确认并了解后果。

  • 说明”什么会被删除/修改/覆盖”
  • 说明”此操作是否可恢复”
  • 使用红色或警告色区分危险操作

文案不可含糊

所有反馈文案都应清晰、具体、无歧义。

  • 使用具体名词而非代词:“配置文件已保存”而非”已保存”
  • 说明时间和数量:“3 个设备已移除”而非”设备已移除”
  • 避免使用技术术语解释错误,除非目标用户是开发者

反馈必须及时

反馈应在操作完成后立即出现。

  • 用户点击后 100ms 内应出现加载状态
  • 操作完成后即时显示结果反馈
  • 不应让用户猜测操作是否生效

反馈必须清晰可读

反馈信息应在视觉上与内容区分,易于识别。

  • 使用图标辅助传达语义(成功、错误、警告)
  • 使用颜色编码区分类型
  • 文案字号不小于正文,对比度足够

反馈应可恢复

用户应有机会修正错误或撤销操作。

  • 可恢复操作提供撤销入口
  • 表单错误保留用户已填写的内容
  • 提供明确的错误修复路径