5.5 KiB
5.5 KiB
EasyFlow 交互与动效规范 v1
1. 文档目标
本规范用于统一 EasyFlow 的操作反馈、异步流程、状态恢复、键盘可达性与动效系统,确保界面既现代流畅,又稳定可信。
2. 交互哲学
EasyFlow 的交互原则是:
- 顺手
- 可预期
- 低打扰
- 可恢复
界面应始终让用户知道:
- 我现在在哪
- 当前发生了什么
- 下一步可以做什么
- 出错了如何恢复
3. 交互优先级规则
3.1 主操作稳定
- 同类页面主操作位置尽量固定
- 主操作数量尽量少,避免多个并列主按钮
3.2 次级操作退后
- 搜索、筛选、帮助、导出等默认低于主任务
- 危险操作不与主操作并列抢权重
3.3 反馈先于装饰
- 任何视觉变化都应优先承担反馈职责
- 不为“好看”增加没有业务意义的动画
4. 表单交互规范
4.1 基本要求
- 字段标签清晰
- 帮助信息紧邻字段
- 错误提示就近展示
- 提交后有明确状态反馈
4.2 校验策略
- 优先在字段级提示错误
- 文案要能指导修改,而不是只提示“输入有误”
- 对高风险或高成本字段,必要时增加确认步骤
4.3 提交流程
表单提交必须覆盖:
- 提交中 loading
- 防重复点击
- 成功提示
- 失败原因
- 保留或恢复用户已填内容
5. 列表与批量操作规范
5.1 列表交互
- 排序、筛选、分页、搜索需保持稳定顺序
- 列表刷新不应导致明显跳闪
- 行 hover 反馈应轻量但可感知
5.2 批量操作
- 进入批量态后,当前选中数量要清楚
- 高风险批量操作必须确认
- 批量完成后需反馈结果摘要
6. 状态反馈规范
6.1 Loading
- 短操作可用按钮 loading 或局部 skeleton
- 中长操作应提供区域级反馈
- 不要让全页面频繁闪动式 loading 干扰操作
6.2 Success
- 成功反馈应简洁明确
- 成功后如果有下一步建议,可轻量提示
6.3 Error
- 错误要说明原因,至少说明失败发生在哪
- 可恢复错误必须给出重试路径
- 不可恢复错误也应给出返回或联系支持路径
6.4 Empty
- 解释为什么为空
- 提供推荐操作
- 保持视觉克制,不用过重插画制造噪音
7. 危险操作规范
以下场景默认视为危险操作:
- 删除
- 清空
- 停用
- 覆盖
- 批量不可逆处理
要求:
- 二次确认
- 文案明确说明影响范围
- 按钮层级清晰,不允许误触
- 完成后提供结果反馈
8. 键盘与可访问性
8.1 键盘可达性
- Tab 顺序合理
- 对话框支持 Esc 关闭
- 主操作支持 Enter 快捷确认时,要避免误触发
8.2 焦点样式
- 必须清晰可见
- 不依赖微弱颜色变化
- 不得被自定义样式覆盖消失
8.3 语义结构
- 表单、表格、弹窗、导航使用语义化结构
- 图标按钮必须有可访问名称
9. 动效总原则
EasyFlow 的动效关键词固定为:
- 细腻
- 短促
- 稳定
- 不变形
动效作用:
- 帮助理解层级变化
- 帮助理解状态切换
- 帮助降低跳变感
10. 动效时长与缓动
10.1 推荐时长
- 微交互:
120ms - 160ms - 常规切换:
180ms - 240ms - 弹窗 / 抽屉:
220ms - 280ms
10.2 推荐缓动
- 常规:
cubic-bezier(0.2, 0, 0, 1) - 进入:
cubic-bezier(0.16, 1, 0.3, 1) - 离开:
cubic-bezier(0.3, 0, 1, 1)
10.3 禁止事项
- 弹跳
- 果冻式形变
- 过长动画
- 多段花哨运动
- 与业务无关的常驻装饰动画
11. 推荐动效模式
11.1 Hover
- 颜色轻微变化
- 背景轻微提亮
- 轻微阴影或轻微上浮
11.2 Focus
- 清晰焦点环
- 轻量边框强化
11.3 面板出现
- 淡入 + 轻微位移
- 避免大幅滑入造成压迫感
11.4 弹窗 / 抽屉
- 淡入 + 轻微缩放或轻微滑入
- 遮罩过渡应与内容同步,不可明显割裂
11.5 列表更新
- 避免整表闪烁刷新
- 局部更新优先于全局重新挂载
12. 页面级体验规范
12.1 页面切换
- 保持节奏轻,优先稳定而不是显著
- 页面标题、工具栏、内容区切换不应各自动太多
12.2 骨架屏与占位
- 骨架屏结构应接近真实布局
- 不要用与实际结构完全不一致的占位图形
12.3 响应式行为
- 优先保持信息层级和操作顺序
- 不要简单缩小所有控件到影响手感
- 小屏下优先重排而不是一味压缩
13. AI 模块交互建议
13.1 生成中
- 应让用户知道系统正在做什么
- 若耗时较长,可显示阶段性状态或进度提示
13.2 工具调用 / 工作流执行
- 优先呈现当前步骤、结果和异常信息
- 不要让执行过程完全黑盒化
13.3 失败恢复
- 失败后提供重试、编辑输入、查看错误原因等恢复路径
- 对话和流程记录尽量保留,避免用户重新来过
14. 与当前代码的演进建议
当前设计层已有:
transition.cssui.css- 若干组件内联
transition-*规则
建议后续演进:
- 先统一动效时长和缓动命名
- 再逐步收敛组件内散落的 transition 写法
- 最终沉淀为基础动效 token 和少量标准过渡模式
15. 交付时必须说明
如果任务涉及交互、状态、表单、浮层或动效改动,交付说明必须补充:
- 交互变化服务了什么任务目标
- 是否补齐了 loading、失败恢复与空状态
- 动效是否符合“细腻、短促、稳定、不变形”
- 是否影响键盘可达性、焦点样式或响应式表现