Files
danyang-match/前端组件库与 Design Token 规范.md
T

27 KiB
Raw Blame History

丹阳公益婚恋服务平台

V1.0 前端组件库与 Design Token 规范

版本:V1.0
适用范围:微信小程序用户端、公益红娘工作台、运营管理后台
目标:统一视觉、降低研发成本、提高复用率、减少后期维护难度


第一章 规范目标

本规范用于统一整个V1.0前端设计与开发中的:

  • 品牌颜色
  • 中性色
  • 字号
  • 字重
  • 行高
  • 圆角
  • 间距
  • 阴影
  • 图标
  • 按钮
  • 标签
  • 表单
  • 用户卡片
  • 推荐卡片
  • 活动卡片
  • 状态组件
  • 弹窗
  • 空状态
  • 错误状态
  • 加载状态
  • PC后台组件

后续所有页面原则上不得单独创造新的:

  • 颜色
  • 圆角
  • 字号
  • 按钮样式
  • 卡片样式
  • 状态颜色

如确需新增,应先进入组件库,再进入业务页面。


第二章 Token命名原则

统一采用语义化命名。

不要使用:

red1
red2
gray3
bigFont
smallFont

建议使用:

color-primary
color-text-primary
color-success
radius-card
spacing-page
font-title-lg

这样后期修改品牌风格时,不需要逐页面替换。


第三章 颜色 Design Token

3.1 品牌主色

color-primary = #E96B6B

用途:

  • 一级按钮
  • 当前Tab
  • 喜欢按钮
  • 品牌强调
  • 重点链接
  • 部分进度状态

3.2 品牌主色按压态

color-primary-active = #D95F5F

用于:

  • 按钮按下
  • 可点击组件按压反馈

3.3 品牌浅色

color-primary-light = #FFF3F2

用途:

  • 推荐理由背景
  • 浅品牌卡片
  • 已喜欢轻状态
  • 婚恋相关轻提示

3.4 品牌极浅色

color-primary-lighter = #FFF8F7

用于:

  • 非核心区域背景
  • 强调卡片底色

第四章 功能色

4.1 成功色

color-success = #2E9B68
color-success-light = #ECF8F2

用于:

  • 已实名
  • 已审核
  • 报名成功
  • 已签到
  • 操作完成

4.2 警告色

color-warning = #E59A32
color-warning-light = #FFF7E9

用于:

  • 审核中
  • 需修改
  • 风险提醒
  • 待处理

4.3 错误/危险色

color-danger = #D94A4A
color-danger-light = #FFF0F0

用于:

  • 举报
  • 拉黑
  • 封禁
  • 错误
  • 极高风险

4.4 信息色

color-info = #4A7CD4
color-info-light = #EEF4FF

用于:

  • 系统说明
  • 普通通知
  • 辅助信息

第五章 中性色

color-text-primary = #222222
color-text-secondary = #444444
color-text-tertiary = #777777
color-text-placeholder = #999999

color-border = #EEEEEE
color-divider = #F0F0F0

color-bg-page = #F7F8FA
color-bg-card = #FFFFFF
color-bg-disabled = #F3F3F3

color-disabled-text = #B5B5B5

第六章 深色文字使用规则

标题:

color-text-primary

正文:

color-text-secondary

辅助信息:

color-text-tertiary

Placeholder:

color-text-placeholder

不要随意使用:

#000000
#333333
#666666

统一使用Token。


第七章 字体体系

用户端优先使用系统字体。

font-family-cn = PingFang SC, Noto Sans SC, system-ui

PC后台:

font-family-admin = Inter, PingFang SC, Noto Sans SC, system-ui

不额外引入装饰性品牌字体。


第八章 字号 Token

font-size-xs = 12px
font-size-sm = 13px
font-size-md = 14px
font-size-base = 16px
font-size-lg = 18px
font-size-xl = 20px
font-size-2xl = 24px
font-size-3xl = 28px

第九章 字号使用规则

页面大标题

24px
font-size-2xl

页面标题

20px
font-size-xl

卡片标题

18px
font-size-lg

正文

16px
font-size-base

普通辅助文字

14px
font-size-md

标签

12~13px
font-size-xs / sm

第十章 字重

font-weight-regular = 400
font-weight-medium = 500
font-weight-semibold = 600
font-weight-bold = 700

原则:

  • 正文:400
  • 按钮:500
  • 卡片标题:600
  • 页面大标题:600

极少使用700。


第十一章 行高

line-height-tight = 1.25
line-height-normal = 1.5
line-height-relaxed = 1.7

使用:

标题:

1.25

普通正文:

1.5

长文本:

1.7

第十二章 间距 Token

采用4px基础栅格。

spacing-1 = 4px
spacing-2 = 8px
spacing-3 = 12px
spacing-4 = 16px
spacing-5 = 20px
spacing-6 = 24px
spacing-8 = 32px
spacing-10 = 40px
spacing-12 = 48px

第十三章 页面间距规范

用户端页面左右:

spacing-page-x = 16px

区块间:

20~24px

卡片内部:

16px

紧密内容:

8px

第十四章 圆角 Token

radius-sm = 8px
radius-md = 12px
radius-lg = 16px
radius-xl = 20px
radius-full = 999px

使用:

  • Input:12px
  • Button:12px
  • 普通卡片:16px
  • 首页推荐卡片:20px
  • Tag:999px

第十五章 阴影 Token

原则:

极轻阴影。

推荐:

shadow-card =
0 4px 16px rgba(0,0,0,0.04)

浮层:

shadow-popup =
0 8px 32px rgba(0,0,0,0.10)

不要使用明显深阴影。


第十六章 边框 Token

border-width = 1px
border-color = #EEEEEE

Input Focus:

border-color-focus = color-primary

错误:

border-color-error = color-danger

第十七章 动效 Token

motion-fast = 120ms
motion-normal = 200ms
motion-slow = 300ms

缓动:

ease-standard = ease-out

不要超过500ms的常规UI动效。


第十八章 图标规范

建议统一线性图标。

基础尺寸:

icon-xs = 16px
icon-sm = 20px
icon-md = 24px
icon-lg = 32px

图标库建议保持统一风格。

不要混用:

  • 填充图标
  • 卡通图标
  • 3D图标
  • 多套不同图标库

第十九章 Button组件

组件名:

Button

支持Variant:

primary
secondary
text
danger
ghost

支持Size:

small
medium
large

第二十章 Primary Button

height = 48px
radius = 12px
background = color-primary
text = white
font-size = 16px
font-weight = 500

Hover/Press:

color-primary-active

Disabled:

background = color-bg-disabled
text = color-disabled-text

第二十一章 Secondary Button

height = 48px
background = #FFFFFF
border = color-primary
text = color-primary

典型场景:

  • 查看资料
  • 返回修改
  • 稍后再聊
  • 放宽条件

第二十二章 Text Button

没有背景。

用于:

  • 编辑
  • 查看更多
  • 取消喜欢
  • 解除拉黑

第二十三章 Danger Button

用于:

  • 拉黑
  • 封禁
  • 注销
  • 删除

背景方式建议:

普通用户端:

红色文字/描边优先。

后台严重操作:

可使用红色实心按钮。


第二十四章 Button状态

每个按钮必须支持:

default
pressed
loading
disabled

Loading状态:

加载图标 + 文案

例如:

提交中...

禁止用户重复点击。


第二十五章 Input组件

组件名:

Input

高度:

48px

支持:

label
placeholder
prefix
suffix
helperText
errorText
disabled

第二十六章 Input状态

default
focus
filled
error
disabled

错误状态:

红色边框
+
字段下方错误文字

不要只用红框,不显示原因。


第二十七章 Textarea组件

用于:

  • 自我介绍
  • 举报说明
  • 红娘服务说明
  • 意见反馈

建议最小高度:

120px

支持字数统计:

128 / 500

第二十八章 Select组件

移动端优先:

Picker / Bottom Sheet

PC后台:

Dropdown Select

不要在微信小程序中强行模拟PC下拉菜单。


第二十九章 RadioGroup组件

整行可点击。

示例:

○ 必须符合
● 最好符合

组件:

RadioGroup
RadioItem

第三十章 Checkbox/TagSelect组件

婚恋标签选择建议使用:

TagSelect

例如:

[旅行] [运动] [阅读]

未选中:

浅灰背景
深灰文字

选中:

color-primary-light
color-primary

第三十一章 Switch组件

用于:

  • 隐私设置
  • 是否接收活动推荐
  • 是否允许搜索
  • 是否接受红娘推荐

建议使用系统化Switch。


第三十二章 SliderRange组件

用于:

  • 年龄
  • 身高

组件:

RangeSlider

同时显示左右值:

28岁 —— 35岁

不要只显示滑块而看不到当前数值。


第三十三章 ProgressBar组件

用于:

  • 资料完善进度
  • 注册流程

参数:

value
max
showText

颜色:

color-primary

第三十四章 StatusBadge组件

统一组件:

StatusBadge

支持状态:

verified
reviewed
reviewing
need_edit
success
pending
danger
disabled
service

第三十五章 StatusBadge视觉

已实名

background = color-success-light
text = color-success

文案:

已实名


已审核

background = color-success-light
text = color-success

审核中

background = color-warning-light
text = color-warning

需修改

background = color-warning-light
text = color-warning

高风险

background = color-danger-light
text = color-danger

第三十六章 UserCard组件

UserCard是平台核心组件之一。

用于:

  • 找对象
  • 喜欢列表
  • 红娘候选
  • 活动意向名单

基础属性:

avatar
displayName
age
height
region
education
occupation
maritalStatus
verified
reviewed

第三十七章 UserCard移动端结构

┌────────────────────────┐
│ [照片] 王女士 · 32岁     │
│       165cm · 丹阳      │
│       本科 · 教师        │
│       未婚              │
│       ✓ 已实名          │
└────────────────────────┘

推荐:

avatar:88×112px

比例约:

4:5

第三十八章 UserCard交互

整卡:

可点击进入详情。

不要在普通列表里堆:

  • 喜欢
  • 举报
  • 拉黑
  • 红娘推荐

这些应进入详情或特定业务场景。


第三十九章 RecommendCard组件

用于:

首页每日推荐。

继承UserCard,并增加:

photos
recommendReasons
likeStatus
actionMode

第四十章 RecommendCard结构

照片区域
↓
用户核心资料
↓
认证状态
↓
推荐理由
↓
操作栏

第四十一章 RecommendReason组件

组件:

RecommendReason

样式:

background = color-primary-light
radius = 12px
padding = 12~16px

最多显示:

3~4条。


第四十二章 RecommendReason文案

每条使用:

✓ 年龄符合双方要求

不要写:

算法得分 +15
权重命中

第四十三章 ActivityCard组件

属性:

cover
title
date
time
location
feeType
status
registrationCount

V1前台不要重点展示报名人数。


第四十四章 ActivityCard结构

封面
活动名称
时间
地点
公益免费标签
状态

第四十五章 ActivityStatus

支持:

报名中
审核中
报名成功
已满
已结束
已签到

第四十六章 ProfileSection组件

用于用户详情页。

结构:

标题
内容

例如:

关于TA
────────
婚姻状况  未婚
学历      本科

统一Padding:

16px

统一Radius:

16px

第四十七章 InfoRow组件

用于:

左侧Label
右侧Value

例如:

婚姻状况      未婚

属性:

label
value
highlight

第四十八章 PhotoGrid组件

用于:

  • 用户生活照片
  • 举报证据
  • 意见反馈

用户资料中:

2~3列

照片比例:

1:1

点击:

Preview。


第四十九章 PhotoUploader组件

支持:

single
multiple
maxCount
compress
preview
delete

主头像模式:

single

生活照:

multiple

第五十章 Avatar/ProfilePhoto规范

婚恋用户头像建议:

尽量使用真实照片矩形裁切。

列表:

4:5

聊天:

1:1
圆角

不要所有地方都裁成圆形。


第五十一章 NoticeBar组件

用于:

  • 聊天安全提醒
  • 审核提示
  • 活动提示

Variant:

info
warning
success
danger

聊天安全:

warning

第五十二章 Toast组件

适用于即时轻反馈。

例如:

已喜欢
保存成功
报名已提交
已解除拉黑

展示:

1.5~2秒

不允许承载复杂信息。


第五十三章 Dialog组件

用于重要二次确认。

结构:

title
description
primaryAction
secondaryAction

适用:

  • 解除匹配
  • 拉黑
  • 暂停寻找
  • 成功牵手
  • 封禁
  • 删除

第五十四章 BottomSheet组件

移动端优先用于:

  • 选择操作
  • 解除匹配原因
  • 简单Picker
  • 更多菜单

最大高度建议:

80vh

第五十五章 MoreMenu组件

用户详情和聊天右上角:

···

内容:

查看资料
解除匹配
举报
拉黑

根据业务状态动态显示。


第五十六章 EmptyState组件

属性:

icon
title
description
actionText
action

示例:

暂无聊天

双方互相喜欢后,
就可以开始交流。

[ 去看看推荐 ]

第五十七章 ErrorState组件

示例:

网络好像有点问题

请检查网络后重新加载。

[ 重新加载 ]

不要展示技术堆栈信息。


第五十八章 Loading组件

页面加载:

优先:

Skeleton。

按钮:

Spinner。

不要全屏长期显示大型Loading动画。


第五十九章 Skeleton组件

至少支持:

UserCardSkeleton
RecommendCardSkeleton
ListSkeleton
ProfileSkeleton

避免页面加载时跳动过大。


第六十章 MatchSuccess组件

用于双向喜欢。

属性:

userAvatar
targetAvatar
targetName
primaryAction

视觉:

简洁爱心+双头像。

不要做娱乐化动画。


第六十一章 ChatListItem组件

属性:

avatar
name
lastMessage
time
unreadCount

样式接近用户熟悉的微信消息列表。


第六十二章 ChatBubble组件

支持:

self
other
system

用户本人:

右侧。

对方:

左侧。

系统安全信息:

中间。


第六十三章 RiskNotice组件

用于聊天风险提示。

Variant:

money
fraud
privacy

但V1视觉统一,不需要不同颜色体系。

默认警告色。


第六十四章 Tab组件

用户端:

SegmentTabs

例如:

互相喜欢 | 我喜欢的 | 喜欢我的

后台:

PageTabs

例如:

待审核 | 审核中 | 已通过

第六十五章 BottomTabBar组件

固定五项:

首页
找对象
消息
活动
我的

必须使用统一图标和文案。

消息有未读时:

红点或数字Badge。


第六十六章 Navbar组件

小程序页面统一:

title
back
rightAction

尽量使用微信原生导航行为。


第六十七章 SearchBar组件

后台和部分用户搜索使用。

用户端:

不作为主入口。

后台:

用于:

  • 用户搜索
  • 活动人员搜索
  • 红娘用户搜索

第六十八章 FilterBar组件

后台列表统一使用。

结构:

搜索
筛选项
查询
重置

避免每个后台页面重新布局。


第六十九章 DataTable组件

红娘端、后台核心组件。

支持:

columns
pagination
sorting
selection
actions
loading
empty

第七十章 DataTable视觉规范

表头:

14px
500
浅灰背景或白背景

表格正文:

14px

行高:

52~56px

第七十一章 TableRowAction组件

每行最多:

2个直接操作 + 更多

例如:

查看 | 审核 | 更多

第七十二章 AdminSidebar组件

宽度:

220~240px

状态:

default
active
collapsed

V1可不优先做折叠。


第七十三章 AdminHeader组件

包含:

当前机构
通知
当前用户
退出

不加入无关信息。


第七十四章 StatCard组件

后台工作台统一组件。

属性:

title
value
trend
status
action

示例:

待审核资料
12

第七十五章 StatCard规则

待办类:

可点击。

普通统计:

不一定可点击。

不要用大量渐变背景。


第七十六章 RiskLevelTag组件

后台风险:

正常
关注
高风险
封禁

颜色:

正常:

success

关注:

warning

高风险:

danger

封禁:

深灰/危险

第七十七章 ReviewStatus组件

用户审核:

待审核
审核中
需修改
已通过
已拒绝

统一各端显示。


第七十八章 ServiceStatus组件

红娘:

待分配
已接单
服务中
待跟进
已完成

第七十九章 ActivityManagementStatus组件

后台活动:

草稿
报名中
报名结束
进行中
已结束

第八十章 FormSection组件

后台长表单使用。

例如:

基本信息
活动时间
人数限制
报名设置

减少一个大表单堆几十个字段。


第八十一章 ConfirmDangerDialog组件

后台高风险操作统一使用。

例如封禁:

确认封禁该用户?

封禁后用户将无法继续使用婚恋服务。

原因:
[请选择]

[确认封禁]
[取消]

必须要求原因。


第八十二章 Pagination组件

默认:

20条/页

支持:

20
50
100

V1默认建议只开放20/50。


第八十三章 DatePicker组件

移动端:

微信Picker。

后台:

日期时间组件。

统一存储时间格式由后端定义,前端负责本地化显示。


第八十四章 FormValidation规范

字段错误优先显示在字段下方。

例如:

身份证号码
[32xxxxxxxxxxxx]

身份证号码格式不正确

不要提交后只顶部显示:

表单有错误。


第八十五章 必填标识

必填项:

*

但首次资料填写中尽量通过产品流程减少大量星号。

可选项明确标注:

选填


第八十六章 Disabled状态

禁用组件必须:

  • 视觉明显变淡
  • 无点击响应
  • 如用户可能疑惑,给说明

例如:

资料审核中,暂不能修改婚姻状态。

第八十七章 图片占位组件

头像缺失:

不要默认用随机人物照片。

使用:

中性用户轮廓图标。

但正式进入匹配前:

必须上传真实头像。


第八十八章 内容超长规则

用户名称:

单行省略。

职业:

单行省略。

个人介绍:

详情页完整展示。

列表:

不显示或最多2行。


第八十九章 标签数量限制

UserCard:

最多:

2~3个状态标签

详情页兴趣:

最多:

8个

避免标签海洋。


第九十章 层级 Z-Index Token

建议统一:

z-base = 1
z-sticky = 100
z-tabbar = 200
z-dropdown = 500
z-modal = 1000
z-toast = 2000

第九十一章 Safe Area规范

微信小程序底部:

必须考虑:

env(safe-area-inset-bottom)

底部固定按钮和Tab不能被系统Home Indicator遮挡。


第九十二章 PC响应式断点

breakpoint-md = 1024px
breakpoint-lg = 1280px
breakpoint-xl = 1440px

红娘端/后台:

V1优先优化:

1280+

第九十三章 用户端组件命名建议

前端目录:

components/
  button/
  input/
  status-badge/
  user-card/
  recommend-card/
  activity-card/
  profile-section/
  info-row/
  photo-grid/
  photo-uploader/
  notice-bar/
  empty-state/
  error-state/
  loading/
  match-success/
  chat-bubble/
  bottom-sheet/

第九十四章 后台组件命名建议

admin-components/
  admin-sidebar/
  admin-header/
  stat-card/
  filter-bar/
  data-table/
  review-status/
  risk-level-tag/
  form-section/
  confirm-danger-dialog/

第九十五章 页面不得直接写死颜色

禁止:

color: #E96B6B;

页面层应使用:

color: var(--color-primary);

或框架对应的Token引用方式。


第九十六章 页面不得直接写死通用间距

避免:

margin-top: 17px;

优先:

spacing-4
spacing-5
spacing-6

只有特殊布局才允许例外。


第九十七章 微信小程序Token建议

可统一定义:

--color-primary
--color-primary-light
--color-success
--color-warning
--color-danger
--color-info

--text-primary
--text-secondary
--text-tertiary

--bg-page
--bg-card

--radius-sm
--radius-md
--radius-lg

--spacing-1
--spacing-2
--spacing-3
--spacing-4
--spacing-5
--spacing-6

第九十八章 推荐Token代码结构示例

theme/
  colors
  typography
  spacing
  radius
  shadow
  motion

不要把所有样式变量放在一个无法维护的大文件中。


第九十九章 组件状态统一原则

所有可交互组件至少考虑:

默认
按下
加载
禁用
错误
空状态

需要网络数据的组件还要考虑:

Loading
Error
Empty
Loaded

第一百章 组件复用红线

以下业务不能自行重新造组件:

  • 用户卡片
  • 推荐卡片
  • 活动卡片
  • 状态标签
  • 空状态
  • 弹窗
  • Toast
  • 审核状态
  • 风险状态
  • 表格
  • 筛选栏

第一百零一章 组件文案原则

组件内部不要写死业务文案。

例如:

错误:

Button组件内部默认文案:立即报名

正确:

Button接受children/text参数

业务文案由页面传入。


第一百零二章 无障碍规范

Button:

必须有文字或accessible label。

纯图标:

必须提供说明。

颜色状态:

必须同时有文字。

例如:

不能只有红色点。

应该:

高风险


第一百零三章 点击热区

移动端交互元素最小:

44×44px

文字“编辑”也应通过padding扩大可点击区域。


第一百零四章 用户端视觉密度

原则:

中低密度。

不追求一屏展示尽可能多数据。

尤其:

  • 首页
  • 详情
  • 活动
  • 红娘服务

都要有足够留白。


第一百零五章 后台视觉密度

原则:

中等密度。

可以比用户端紧凑,但避免传统ERP式高密度。


第一百零六章 头像审核状态显示

如果用户资料处于:

审核中

主头像仍然可以给本人看。

但在其他用户侧:

未审核用户不能进入正常推荐池。

因此不需要设计“别人看到审核中头像”的场景。


第一百零七章 敏感字段组件

后台建议:

SensitiveField

默认:

320***********1234

具备权限者点击:

查看完整信息

系统记录访问日志。


第一百零八章 MobileStickyAction组件

用于:

  • 用户详情喜欢
  • 活动报名
  • 表单提交

固定底部。

必须:

  • 避开TabBar
  • 避开safe area
  • 有白色背景
  • 顶部轻分割线

第一百零九章 StepProgress组件

用于首次资料填写。

示例:

完善资料 2/5

██████░░░░

不需要复杂Step图标。


第一百一十章 PageHeader组件

用户端简单:

标题
可选说明

后台:

页面标题
说明
主要操作

例如:

活动管理                + 创建活动
管理公益婚恋线下活动

第一百一十一章 Alert组件

后台使用。

例如:

修改匹配权重会影响后续推荐,请谨慎操作。

Variant:

info
warning
danger

第一百一十二章 Drawer组件

后台可用于:

  • 快速查看用户
  • 快速查看报名详情

不用于复杂审核。

复杂审核进入完整页面。


第一百一十三章 Tooltip组件

后台可以使用。

用户小程序:

尽量不用Tooltip。

移动端不适合依赖Hover。


第一百一十四章 Breadcrumb规范

后台页面层级较深时使用。

例如:

活动管理 / 丹阳青年公益相亲会 / 报名管理

小程序不需要。


第一百一十五章 NotificationBadge组件

Tab消息:

1~99
99+

系统通知:

可以只显示红点。


第一百一十六章 上传进度

照片上传必须有:

上传中
失败
成功

上传失败:

显示:

重新上传。

不要让失败图片直接消失。


第一百一十七章 网络请求反馈

提交类操作:

Button Loading。

列表刷新:

Skeleton/局部Loading。

不使用:

点击后整个页面遮罩5秒。


第一百一十八章 防重复提交

以下操作必须前端防重复:

  • 实名提交
  • 资料提交审核
  • 喜欢
  • 活动报名
  • 红娘申请
  • 举报
  • 反馈提交

同时后端也要保证幂等。


第一百一十九章 组件测试重点

每个组件必须验证:

  • 普通状态
  • 超长文字
  • 无图片
  • 弱网
  • 禁用
  • 加载
  • 错误
  • 不同屏幕宽度

第一百二十章 首批必须完成的组件

P0组件:

Button
Input
Textarea
Picker
RadioGroup
TagSelect
Switch
RangeSlider
ProgressBar

StatusBadge
UserCard
RecommendCard
RecommendReason
ProfileSection
InfoRow
PhotoUploader

Toast
Dialog
BottomSheet
NoticeBar
EmptyState
ErrorState
Skeleton

BottomTabBar
Navbar
MobileStickyAction

第一百二十一章 第二批组件

P1:

ActivityCard
MatchSuccess
ChatListItem
ChatBubble
RiskNotice
PhotoGrid
StepProgress
NotificationBadge

第一百二十二章 后台首批组件

AdminSidebar
AdminHeader
PageHeader
StatCard
FilterBar
DataTable
TableRowAction
StatusBadge
ReviewStatus
RiskLevelTag
FormSection
Dialog
Drawer
Pagination
Alert
SensitiveField

第一百二十三章 组件验收标准

任何通用组件完成后必须回答:

能否在两个以上页面复用?

不能:

可能不应该进入公共组件库。

是否存在写死业务字段?

有:

需要重新抽象。

状态是否完整?

至少:

默认、加载、禁用、错误。

是否符合Token?

不能出现无规范颜色和间距。


第一百二十四章 Design Token验收标准

项目最终应达到:

修改一次主色,整个平台同步变化。

修改一次卡片圆角,所有卡片同步变化。

修改一次页面间距,所有标准页面遵循。

不需要人工逐页面搜索CSS修改。


第一百二十五章 最终开发原则

前端开发必须遵循:

页面由组件组成。

组件由Token控制。

Token统一视觉。

业务逻辑不直接侵入基础组件。

最终目标不是做一套“漂亮页面”,而是建立一套:

可复用、可维护、可扩展、后期新增页面不容易跑偏的前端设计系统。

V1.0所有页面都应尽可能从本规范中的组件组合产生,而不是每个页面重新设计一遍。