# EasyFlow 基础组件规范 v1 ## 1. 文档目标 本规范用于统一 EasyFlow 常见组件与页面组合层的视觉气质、尺寸节奏、状态表达和布局原则。 适用范围: - `easyflow-ui-admin` - `easyflow-ui-usercenter` - `easyflow-ui-websdk` ## 2. 组件总原则 EasyFlow 的组件应遵守以下统一气质: - 柔和但理性 - 轻盈但稳定 - 精致但克制 - 现代但不花哨 - 鲜明但不失控 统一要求: - 同类组件尺寸档位一致 - 同类组件状态规则一致 - 同类组件交互反馈一致 - 同类组件在不同端只允许密度差异,不允许语言割裂 - 不做传统表单后台式的强框架、重线条、死板排布 补充原则: - Apple HIG 强调层级、材质、清晰与内容优先,EasyFlow 可大胆借鉴其导航骨架和控制点表达。 - Material Design 3 强调 `color roles`、`tonal surfaces`、`adaptive layouts`,EasyFlow 可大胆借鉴其色彩和表面层组织方式。 - 最终目标不是“像 Apple”或“像 Google”,而是让 EasyFlow 像一个现代工作台,而不是传统管理系统模板。 ## 3. 按钮 Button ### 3.1 角色层级 - `Primary`:主操作,如新建、保存、发布、提交、确认 - `Secondary`:辅助操作,如取消、返回、次级入口 - `Ghost`:低干扰操作,如工具栏辅助动作 - `Text`:最弱层级操作,如查看详情、轻跳转 - `Danger`:删除、停用、清空等高风险动作 ### 3.2 设计要求 - 主按钮明确,但不刺眼、不厚重、不夸张。 - 同一区域内按钮高度、圆角、左右内边距和图标尺寸统一。 - 图标按钮必须有足够点击热区,不可只按图标本体大小计算。 - 导航骨架中的工具按钮可以更有材质感和触感,但不应厚重、拟物或果冻化。 ### 3.3 状态要求 - `hover`:轻微提亮或轻微背景变化 - `active`:轻微下压感或更深一档颜色 - `focus`:清晰焦点环 - `disabled`:降低对比度并禁用交互 - `loading`:保留按钮宽度,不发生跳变 ### 3.4 禁止事项 - 一个区域同时出现多个同权重主按钮 - 用危险红色做普通主操作 - 用超大圆角和重阴影制造主操作感 ## 4. 输入类组件 Input / Select / DatePicker / Search ### 4.1 统一要求 - 高度和按钮保持统一档位 - 占位文案、前后缀图标、清空按钮间距一致 - 默认边框克制,focus 时明确但不过亮 ### 4.2 搜索框 - 搜索是效率辅助,不应默认比主按钮更抢眼。 - 搜索图标优先弱化,placeholder 保持清楚但不过深。 - 高级筛选展开后,信息层级仍需清晰,不形成工具栏拥堵。 - 在现代工作台场景中,搜索入口可使用轻玻璃、轻染色和更圆润的容器,但应作为“柔和工具”而不是“表单输入框”。 ### 4.3 校验与提示 - 错误提示应紧邻字段出现 - 描述文案优先解释“为什么错”和“怎么改” - 成功态与错误态使用统一结构,不因页面定制 ## 5. 标签 Tag / Badge / Status ### 5.1 使用原则 - 标签用于分类、状态、轻量属性展示,不承担主要信息块角色。 - 状态标签优先语义明确,而不是丰富多彩。 ### 5.2 视觉要求 - 默认低饱和背景 + 清晰文字 - 相同状态在不同页面使用相同颜色和风格 - 控制一页中高彩状态标签的数量 - 状态表达仍以语义优先,但当前态、品牌态和重点态可以更鲜明,不必做得过灰。 ## 6. 卡片 Card / Panel ### 6.1 使用原则 - 卡片和面板用于承载内容分组,不应形成“层层包裹”的视觉噪音。 - 一个页面尽量维持一种主容器语言。 ### 6.2 结构建议 - 头部:标题 + 摘要 / 操作 - 内容:主体信息 - 底部:补充信息或收尾动作 ### 6.3 视觉要求 - 主要通过内边距、标题层级、弱分隔建立结构 - 弱边框或极轻阴影即可,不做厚重悬浮卡片 - 正文主面板应保持清晰稳定,导航骨架和轻浮层才是更适合使用轻玻璃和柔和悬浮感的位置。 ## 7. 弹窗 Modal / 抽屉 Drawer / 浮层 Popover ### 7.1 总原则 - 浮层是为了帮助完成任务,不是为了制造空间戏剧性。 - 同类浮层的头部、说明区、底部操作区和关闭行为保持一致。 ### 7.2 弹窗 - 适合短流程确认、中小表单、明确单任务场景 - 标题清楚,说明短而直接 - 底部按钮顺序稳定,避免不同页面顺序漂移 ### 7.3 抽屉 - 适合中等复杂度编辑、详情查看、分步信息处理 - 内容区滚动、头部固定、底部操作区布局应保持稳定 ### 7.4 Popover / Dropdown - 只承载轻量选择、操作列表和局部补充信息 - 避免承载过长表单或复杂业务流程 ## 8. 表格 Table ### 8.1 总体原则 - 表格优先服务检索、比较和快速操作 - 密度应克制统一,不要有的列很松,有的区域很挤 ### 8.2 设计要求 - 表头、行高、单元格内边距、状态标签、行内操作维持统一节奏 - 行 hover 应轻,不造成过强闪烁 - 行内操作不应在未 hover 时完全不可发现 ### 8.3 长列表策略 - 默认考虑分页、筛选、排序 - 数据量大时优先评估虚拟滚动或懒加载 - 表格工具栏与筛选区视作统一效率区域,不割裂设计 ## 9. 工具栏 Toolbar / 筛选区 Filter Bar ### 9.1 总原则 - 工具栏服务任务效率,不应变成页面视觉中心。 - 搜索、筛选、批量操作、导入导出、主操作要形成明确优先级。 ### 9.2 推荐布局 - 左侧:页面标题补充信息或筛选条件 - 右侧:主操作、次级操作 - 搜索与筛选默认退后于主操作 ### 9.3 设计要求 - 避免同时叠加过多输入框、下拉、标签和按钮 - 高级筛选建议折叠或分层展示 ### 9.4 现代工作台工具栏 - 工具栏不应看起来像一排传统表单控件堆叠。 - 可用更开放的留白、更柔和的按钮组、更轻的搜索容器来提升现代感。 - 应优先减少“每个操作一个线框框”的传统后台视觉。 - 在 toB 页面中,工具栏要更像操作系统级控制层,而不是审批系统式字段条。 ## 10. Tabs / Breadcrumb / 导航类组件 ### 10.1 Tabs - 用于同级内容切换,不用于承载复杂操作入口 - 当前态应清晰,但不依赖厚重背景或夸张动画 - 标签过多时优先滚动或收纳,不压缩到难读 ### 10.2 Breadcrumb - 只表达路径,不承载大量操作 - 当前页层级清晰,前层级适度弱化 ### 10.3 导航 - 导航风格轻量,重点是帮助定位,不抢占内容区注意力 - 选中态与 hover 态要统一,避免不同模块风格分裂 ### 10.4 现代导航骨架 - 顶栏、侧栏、tab、breadcrumb、搜索入口、工具按钮应被视为统一导航骨架系统。 - 默认允许轻度液态玻璃、柔和模糊、弱染色和轻悬浮。 - 当前态可以更鲜明、更像“现代工作台中的激活项”,而不是传统树菜单里一条蓝字。 - 导航骨架的任务是“提升流动感和定位感”,不是把页面切成一块块硬区域。 ## 11. 表单 Form ### 11.1 结构原则 - 标签、字段、说明、错误、帮助信息保持稳定顺序 - 长表单按逻辑分组,避免一屏超长无层次 ### 11.2 交互要求 - 提交时必须有 loading、防重复提交和错误回填 - 必填项策略统一,不做页面级个性化表达 - 表单保存失败必须说明原因和可恢复路径 ## 12. 空状态 / 错误状态 / 无权限状态 ### 12.1 空状态 必须同时包含: - 当前为空的原因 - 一句简洁说明 - 明确的下一步动作 ### 12.2 错误状态 必须同时包含: - 错误说明 - 重试或返回路径 - 必要时的诊断信息入口 ### 12.3 无权限状态 - 明确告诉用户为什么不可访问 - 指向申请权限、联系管理员或返回路径 ## 13. AI 相关组件 ### 13.1 对话与消息区 - AI 输出区域应强调可读性与节奏,不做过度聊天气泡装饰 - 系统消息、用户消息、工具状态、执行结果要有清晰区分 ### 13.2 工作流 / Agent 状态块 - 优先表达当前步骤、执行状态、结果摘要、错误恢复 - 用结构和状态说明表达过程,不靠大面积特效制造“智能感” ### 13.3 知识 / 检索 / 引用信息 - 应有稳定的辅助信息样式 - 引用、命中来源、分块信息不应与主回答混成一层 ## 14. 页面组合层建议 ### 14.1 列表页 推荐结构: 1. 页面标题 2. 说明或摘要 3. 工具栏 4. 表格 / 卡片列表 5. 分页 / 列表底部说明 要求: - 列表页应尽量摆脱传统“标题下方一整排表单 + 粗边框表格”的后台感。 - 可以通过更轻的工具栏、更开阔的内容面、更清晰的主操作强调来提升活力。 ### 14.2 详情页 推荐结构: 1. 标题与主操作 2. 摘要信息 3. 主内容区 4. 次级面板区 ### 14.3 配置页 - 优先按模块分组,而不是长表单堆叠 - 危险配置、基础配置、实验性配置层级明确分开 ## 15. 三端差异建议 ### 15.1 Admin - 更紧凑 - 更强调检索、管理、批量操作和信息秩序 - 但视觉上应更像“现代工作台”,而不是“传统表单管理系统” - 导航骨架允许轻度液态玻璃、更鲜明的品牌当前态和更通透的控制层表达 ### 15.2 User Center - 更轻松 - 更强调个人任务、引导和可读性 ### 15.3 Web SDK - 更轻、更简、更对话化 - 但按钮、输入、面板、标签与状态反馈必须保持同源 ## 16. 交付检查重点 做组件或页面时,至少确认: - 是否符合 `冷静智能` 主题 - 是否复用了统一 Token 与公共组件 - 是否保持组件族一致 - 是否补齐了状态与异步反馈 - 是否在不同尺寸下仍然清晰、顺手、不拥挤