← 返回作品列表

Design System / B端基础设施

B端产品设计系统
搭建实践

从零搭建面向B端产品的设计系统,涵盖设计资产体系、组件库建设、规范文档三大模块。不是UI Kit的堆砌,而是可复用、可传承的设计工程化实践。

50+
组件及变体
10模块
规范文档体系
59
外部设计系统参考

01

为什么要建设计系统

在服务多条产品线的过程中,反复遇到三个问题:

  • 一致性失控 — 不同产品线相同功能用不同交互模式,开发用不同组件库,品牌感知割裂
  • 重复造轮子 — 同类型需求每次从零出图,设计师大量时间花在"画已有组件"而非思考方案
  • 设计资产散落 — Figma文件、规范文档、开发组件三者脱离,改了设计忘了同步文档,文档写了没人更新

目标不是建一个"大而全"的设计系统,而是建一个能真正用起来的基础设施:设计师能用它提效,开发能直接对应代码,规范能持续迭代。

02

设计资产体系

从最底层的设计变量(Design Tokens)开始,建立三层资产结构,确保修改一次、全局生效

Figma Variables 变量层级

Primitives(基础层)原始值
Colors
Blue / 500 — #165DFF
Blue / 400 — #3C7EFF
Blue / 600 — #0E42B3
Gray / 100~900 — 中性色阶
Red / 500 — #F53F3F
Green / 500 — #00B42A
Orange / 500 — #FF7D00
Spacing(4px 基础单位)
spacing-xs — 4px
spacing-sm — 8px
spacing-md — 16px
spacing-lg — 24px
spacing-xl — 32px
spacing-2xl — 48px
Font Size
font-xs — 12px
font-sm — 14px (Web基准)
font-base — 16px
font-lg — 20px
font-xl — 24px
font-2xl — 28px
Border Radius
radius-sm — 2px (按钮/输入框)
radius-md — 4px (卡片/面板)
radius-lg — 8px (弹窗/容器)
radius-full — 全圆角 (头像/徽标)
Semantic(语义层)语义映射
color-bg-primary → Gray / 0 (白色)
color-bg-secondary → Gray / 50
color-text-primary → Gray / 900
color-text-secondary → Gray / 600
color-brand → Blue / 500
color-brand-hover → Blue / 400
color-brand-active → Blue / 600
color-danger → Red / 500
color-success → Green / 500
Component(组件层)直接引用
button-primary-bg → color-brand
button-primary-hover → color-brand-hover
input-border → color-border
table-header-bg → color-bg-secondary

9 色阶定义法

采用业界标准「标准色 + 黑白透明法」生成色板,Ant Design和Arco Design均采用此思路:

色阶生成方式用途
标准 + 80% #FFF叠加 80% 白色浅色背景悬停
标准 + 60% #FFF叠加 60% 白色禁用态、失效态
标准 + 40% #FFF叠加 40% 白色浅色强调背景
标准 + 20% #FFF叠加 20% 白色 悬停态(Hover)
标准色 常规态(Normal)
标准 + 20% #000叠加 20% 黑色 点击态(Active)
标准 + 40% #000叠加 40% 黑色深色强调
标准 + 60% #000叠加 60% 黑色深色背景
标准 + 80% #000叠加 80% 黑色极深背景/文字

进阶建议:对于品牌色彩系统建设,推荐使用 HSL 或 Lab 色彩空间生成色板(而非简单叠加黑白),以获得更均匀的视觉梯度。

功能色体系

Primary #165DFF
Dark #0E42B3
Hover #4080FF
Light #E8F3FF
Success #00B42A
Warning #FF7D00
Danger #F53F3F
Info #1890FF

字体家族体系

B端产品需覆盖多平台,确保在任何系统下都有良好的中文显示:

平台中文英文 / 数字
macOSPingFang SCSan Francisco
WindowsMicrosoft YaHeiArial
Android思源黑体Roboto
数字专用DIN(等宽数字,适合表格)

Font Stack 最佳实践:

font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;

字重不超过 3 种(Regular 400 / Medium 500 / Semibold 600),B端Web产品基准字号为 14px。

03

组件库建设

不做"所有组件一把梭",按高频 → 中频 → 低频分批次建设。先建立清晰的基础组件分类体系。

基础组件分类

全局组件 全产品通用的基础元素
Button 按钮 — 4变体 × 3尺寸 × 6状态
Input 输入框 — 文本 / 数字 / 密码 / 搜索
Select 选择器 — 单选 / 多选 / 搜索
Icon 图标 — 12 / 16 / 20 / 24 / 28px
导航组件 页面间/页面内跳转与层级
Sidebar 侧边栏 — 多级折叠
Breadcrumb 面包屑 — 当前位置
Tabs 标签页 — 视图切换
Pagination 分页器 — 数据翻页
Steps 步骤条 — 分步流程引导
Dropdown 下拉菜单 — 操作收纳
数据录入 表单与信息采集
Input 文本输入 — 单行/多行/字数限制
Radio / Checkbox 单选/复选
DatePicker 日期选择 — 单日/范围
Switch 开关 — 布尔值切换
Upload 上传 — 文件/图片上传
Form 表单容器 — 校验/布局/提交
数据展示 结构化数据可视化呈现
Table 表格 — 排序/筛选/固定列/斑马纹
Card 卡片 — 标题/数值/趋势
Tree 树形控件 — 层级数据展开收起
Collapse 折叠面板 — 内容分组收纳
Tag 标签 — 状态标记/分类
Carousel 走马灯 — 内容轮播
信息反馈 操作结果与系统状态传递
Modal 弹窗 — 确认/提示/表单型
Toast 通知提醒 — 自动消失(3s)
Spin 加载 — 内容区/全屏
Progress 进度条 — 任务进度
Tooltip 工具提示 — hover 信息
Alert 警告提示 — 页面级通知

核心组件设计过程

Button 按钮

Normal
确认
Hover
确认
Active
确认
Focus
确认
Disabled
确认
设计决策:遵循六态模型(Normal → Hover → Active → Focus → Disabled → Loading)。主按钮使用品牌色 #165DFF,线框按钮1px边框。Focus态使用外发光(brand-1色),Disabled态用固定灰值避免颜色叠加不可控。按钮高度标准化:大40px / 中32px / 小28px。

Table 表格

Default
表头 48px 加粗
行高 48px
斑马纹 #FAFBFC
Hover
表头固定
悬停高亮行
操作列右固定
设计决策:B端表格数据密集,行高48px保证可读性。斑马纹用#FAFBFC而非更深灰,保持视觉干净。表头固定+横向滚动是标配,操作列右固定。数据异常项标红。

Input 输入框

Normal
请输入
Hover
请输入
Focus
请输入
Disabled
不可编辑
Error
格式错误
设计决策:Focus 态用品牌色边框 + 浅蓝外发光(brand-1),与 Hover 态明显区分。Disabled 态灰色背景 + 灰色文字,明确表示不可用。Error 不改变输入框高度,防止表单布局抖动。标签与输入框间距统一8px。

Modal 弹窗

标准结构
标题 56px
内容区(自适应)
取消 | 确认
设计决策:最小宽度420px,最大560px。标题/按钮栏各56px。底部按钮遵循「取消→确认」右对齐,危险操作用红色。遮罩层透明度60%,弹窗居中显示。

04

业务组件沉淀

业务组件与基础组件的区别在于:它与特定业务逻辑强绑定,是多个基础组件的复合体。以下是通过7步法完成的业务组件沉淀过程:

业务组件设计七步法

1. 选取重点功能

梳理业务流程,识别核心任务节点,筛选出覆盖 80% 用户操作的 20% 关键功能。

2. 梳理重点页面

根据用户行为数据(访问量、操作频率),优先选择高频页面类型:数据仪表盘、列表管理页、表单页、详情页。

3. 拆解典型页面

基于原子设计理论(原子→分子→有机体→模板→页面),将页面层级拆解至最小可复用单元。

4. 拆分组件

将拆解后的元素按功能内聚原则归类:全局组件(全产品通用)→ 业务组件(特定模块使用)→ 复合组件(含复杂逻辑)。

5. 组件规范化定义

为每个组件定义五维规范:命名(PascalCase)、视觉(Token驱动,尺寸为8px倍数)、交互(六态模型)、响应式(断点适配)、无障碍(WCAG 2.1 AA)。

6. 页面重组

基于24栅格系统,将规范化组件按业务逻辑「模块化装配」——筛选区+表格+分页器 → 列表页模板。

7. 流程重构与持续迭代

用户测试验证 → 问题优先级排序(P0阻断/P1效率/P2细节)→ 灰度发布 → 数据验证 → 持续优化。

业务组件 vs 基础组件

类型定义典型示例设计要点
基础组件全产品通用、样式与交互统一按钮、输入框、表格、弹窗视觉风格一致、支持主题切换
业务组件特定业务场景的复合组件订单状态标签、流程进度条、权限树与业务逻辑强绑定、预留扩展字段

05

规范文档体系

规范文档是设计系统的「说明书」。基于TDesign、Arco Design、Element三套系统的分析,总结出标准化的十大模块框架——每个模块解决一个层面的标准化问题。

01 项目概述与背景

定位、适用范围、核心目标

02 设计原则与价值观

指导所有决策的底层准则

03 颜色体系

品牌色、功能色、中性色 + 色阶

04 字体与排版

字体族、字号层级、行高、字重

05 间距与布局

8px网格、24栅格、响应式断点

06 圆角与阴影

圆角层级、三层投影体系

07 基础组件规范

按钮、输入框、选择器等使用规范

08 业务组件规范

表格、表单、弹窗等场景组件

09 数据可视化

图表配色、数据展示规范

10 可访问性与国际化

对比度、键盘操作、多语言

文档与组件的关系:每个组件条目同时包含设计规范(Design Spec)使用指南(Usage Guide),设计师看前者、开发看后者,同一份文档双向覆盖。文档通过 Git 管理版本,每次组件变更同步更新。

06

落地与迭代

从设计到开发的协作流程:

1

Figma 变量库

设计侧管理Token

2

DESIGN.md

规范文档同步

3

开发组件库

代码侧实现

4

走查 & 迭代

还原度检查闭环

经验教训

  • 先有规范再有组件 — Token 层级不先定好,后面组件反复推倒
  • 规范文档不是一次性的 — 用 Git 管理版本,每次组件变更同步更新,否则半年后文档就是废纸
  • 优先覆盖高频组件 — 20% 组件解决 80% 场景,剩下的边做边补
  • Figma 组件名 = 前端组件名 — 一对一对应,减少沟通翻译成本
  • 版本采用语义化命名(SemVer) — 主版本.次版本.修订号,重大更新先灰度发布