168 lines
3.6 KiB
Markdown
168 lines
3.6 KiB
Markdown
# Nex Design 前端设计规范
|
||
|
||
面向 **React + Ant Design + Tailwind CSS** 的前端设计语言系统,目标:
|
||
|
||
- **一致性**:保证视觉与交互统一
|
||
- **高效性**:提供可复用组件与布局模式
|
||
- **可维护性**:清晰规范,便于迭代
|
||
- **用户体验**:直观易用
|
||
|
||
## 技术栈
|
||
|
||
- 框架:React 18+
|
||
- 组件库:Ant Design 5.x
|
||
- 样式:Tailwind CSS 3.x
|
||
- 包管理:Yarn
|
||
- 运行时:Node.js 16+
|
||
|
||
---
|
||
|
||
## 设计原则
|
||
|
||
- **清晰明确**:界面直观,操作易理解
|
||
- **一致性优先**:视觉、交互、用词统一
|
||
- **效率至上**:减少操作步骤,提高效率
|
||
- **反馈及时**:操作有明确状态反馈
|
||
- **容错友好**:预防错误,提示明确
|
||
|
||
|
||
|
||
**使用规范**:
|
||
|
||
- 主色:关键按钮、重要信息、链接
|
||
- 功能色:按语义使用,不混淆
|
||
- 中性色:文本、背景、边框
|
||
- 对比度 ≥ 4.5:1
|
||
|
||
---
|
||
|
||
## 排版规范
|
||
|
||
### 字体
|
||
|
||
- 默认:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto …`
|
||
- 等宽:`'SF Mono', 'Monaco', 'Fira Code', …`
|
||
|
||
### 字号
|
||
|
||
| 用途 | 大小 | Tailwind 类 | 场景 |
|
||
|------|------|-------------|------|
|
||
| 特大标题 | 32px | `text-4xl` | 页面主标题 |
|
||
| 大标题 | 24px | `text-2xl` | 区块标题 |
|
||
| 中标题 | 20px | `text-xl` | 卡片标题 |
|
||
| 小标题 | 16px | `text-base` | 表单标签 |
|
||
| 正文 | 14px | `text-sm` | 正文 |
|
||
| 辅助文字 | 12px | `text-xs` | 说明 |
|
||
|
||
### 字重
|
||
|
||
| 用途 | 字重 |
|
||
|------|-----|
|
||
| 正文 | Regular 400 |
|
||
| 表单标签、列表 | Medium 500 |
|
||
| 小标题、强调 | Semibold 600 |
|
||
| 标题、重要信息 | Bold 700 |
|
||
|
||
---
|
||
|
||
## 间距系统
|
||
|
||
- 基于 **8px 网格**,间距均为 8 的倍数
|
||
- Tailwind 对应类:
|
||
|
||
| 尺寸 | Tailwind 类 | 间距 |
|
||
|------|------------|------|
|
||
| xs | p-1 / m-1 | 4px |
|
||
| sm | p-2 / m-2 | 8px |
|
||
| md | p-4 / m-4 | 16px |
|
||
| lg | p-6 / m-6 | 24px |
|
||
| xl | p-8 / m-8 | 32px |
|
||
| 2xl | p-12 / m-12 | 48px |
|
||
|
||
---
|
||
|
||
## 组件规范
|
||
|
||
### 按钮 (Button)
|
||
|
||
- 类型:Primary / Default / Text / Link / Danger
|
||
- 尺寸:Large 40px / Middle 32px / Small 24px
|
||
- 使用:
|
||
- 单区域最多一个主按钮
|
||
- 文字 ≤ 4 个字
|
||
- 危险操作二次确认
|
||
|
||
### 表单 (Form)
|
||
|
||
- 布局:vertical
|
||
- 必填:红色星号
|
||
- 字段宽度合理,间距 24px
|
||
- 错误提示显示在字段下方
|
||
|
||
### 表格 (Table)
|
||
|
||
- 分页默认 10 条
|
||
- 行高 54px (middle)
|
||
- 操作列固定右侧
|
||
- 加载状态使用 `loading`
|
||
|
||
### 卡片 (Card)
|
||
|
||
- 内边距 24px
|
||
- 圆角 8px
|
||
- 阴影 `shadow-sm`
|
||
- 卡片间距 16px
|
||
|
||
---
|
||
|
||
## 布局规范
|
||
|
||
- 页面:Header 64px, Sider 200px, Content 区域
|
||
- 栅格:24 栏,使用 Ant Design Grid
|
||
- 页面内边距 24px,内容最大宽 1200px
|
||
- 响应式:Flexbox/Grid + Tailwind 前缀
|
||
|
||
---
|
||
|
||
## 交互规范
|
||
|
||
- **全局提示**:`message.success/error/warning/loading`
|
||
- **通知提醒**:`notification.open`
|
||
- **模态框**:`Modal.confirm`
|
||
- **加载状态**:`Spin / Skeleton / Table loading`
|
||
- **动画**:300ms, ease-in-out
|
||
|
||
---
|
||
|
||
## 页面模板
|
||
|
||
### 通用结构
|
||
|
||
- 面包屑导航
|
||
- 页面标题区
|
||
- 主要内容区
|
||
|
||
### 已实现
|
||
|
||
- 主框架页面:侧边栏、顶部导航、内容滚动
|
||
- Dashboard:统计卡片、图表
|
||
|
||
### 待完善
|
||
|
||
- 列表页
|
||
- 详情页
|
||
- 表单页
|
||
- 设置页
|
||
|
||
---
|
||
|
||
## 开发规范
|
||
|
||
- **新增操作**:默认使用**右侧抽屉**打开表单进行创建(除非需求明确允许其他方式)
|
||
- **组件命名**:PascalCase
|
||
- **文件命名**:与组件同名
|
||
- **样式类命名**:kebab-case
|
||
- **常量命名**:UPPER_SNAKE_CASE
|
||
- **样式**:Tailwind 优先,Ant Design 主题定制,自定义样式放组件目录
|
||
|