🏗️ 建科小智设计规范 (Design Specification)
版本: v4.0
技术栈: React 18 + TypeScript + Vite + Ant Design + SCSS + Zustand
🎨 样式系统 (Styling System)
1. 色彩系统 (Color System - v3.2 企业品牌色)
主色调 (Brand Colors)
| 变量 |
值 |
用途 |
$primary-color |
#005D80 |
企业主色 (WCAG AAA) |
$primary-light |
#007A99 |
悬停/强调 |
$primary-dark |
#004060 |
点击/激活 |
$primary-gradient-start |
#00A0CA |
渐变起点 |
$primary-gradient-end |
#005D80 |
渐变终点 |
功能性颜色 (Functional Colors)
| 变量 |
值 |
用途 |
$success-color |
#059669 |
成功状态 |
$warning-color |
#F59E0B |
警告状态 |
$error-color |
#DC2626 |
错误状态 |
$info-color |
#00A0C7 |
信息提示 |
文字颜色 (Text Colors)
| 变量 |
值 |
用途 |
$text-primary |
#1F2937 |
主文字内容 |
$text-secondary |
#6B7280 |
次要/辅助文字 |
$text-hint |
#9CA3AF |
提示/占位符文字 |
$text-disabled |
#D1D5DB |
禁用状态文字 |
背景颜色 (Background Colors)
| 变量 |
值 |
用途 |
$bg-primary |
#F9FAFB |
页面主背景 |
$bg-secondary |
#FFFFFF |
卡片/容器次背景 |
$bg-tertiary |
#F3F4F6 |
第三级背景/分割线背景 |
$bg-hover |
#F9FAFB |
悬停态背景 |
2. 间距系统 (Spacing System - 4px 基准)
| 变量 |
值 |
用途 |
$spacing-1 |
4px |
最小间距 |
$spacing-2 |
8px |
小间距 |
$spacing-3 |
12px |
中等间距 |
$spacing-4 |
16px |
标准间距 (Standard) |
$spacing-5 |
20px |
大间距 |
$spacing-6 |
24px |
加大间距 |
$spacing-8 |
32px |
特大间距 |
$spacing-10 |
40px |
页面级间距 |
快捷别名:
$spacing-xs: 4px
$spacing-sm: 8px
$spacing-md: 12px
$spacing-lg: 16px
$spacing-xl: 24px
$spacing-2xl: 32px
3. 圆角系统 (Border Radius)
| 变量 |
值 |
用途 |
$radius-sm |
4px |
标签、徽章 |
$radius-md |
6px |
小按钮、输入框 |
$radius-lg |
8px |
标准按钮、卡片、容器 |
$radius-xl |
12px |
大尺寸卡片、模态框 |
$radius-2xl |
16px |
特大尺寸容器 |
$radius-full |
9999px |
圆形元素 (Avatar/Pill) |
📐 布局规范 (Layout Specification)
1. 页面容器 (Page Container)
用于承载主要内容的顶层容器。
.page-container {
padding: $spacing-4 $spacing-6; // 16px / 24px
min-height: calc(100vh - $header-height);
background: $bg-primary;
}
2. 内容区块 (Content Section)
用于页面内的逻辑分组。
.content-section {
margin-bottom: $spacing-4; // 16px
padding: $spacing-3; // 12px
background: $bg-secondary;
border-radius: $radius-lg;
}
3. 响应式断点 (Responsive Breakpoints)
| 变量 |
值 |
说明 |
$screen-sm |
640px |
手机横屏 |
$screen-md |
768px |
平板竖屏 |
$screen-lg |
1024px |
平板横屏 |
$screen-xl |
1280px |
桌面小屏 |
$screen-2xl |
1536px |
桌面大屏 |
🛠️ 开发规范 (Development Rules)
1. SCSS 使用准则
强制导入: 所有 .scss 文件必须在第一行使用 @use 引入变量。
@use '@/styles/variables.scss' as *;
禁止硬编码: 禁止直接书写颜色值(如 #FFFFFF)或像素值(如 16px),必须引用对应的 $variable。
2. 组件开发原则 (Type B Strategy)
- 解耦逻辑: 复杂组件必须拆分为 Smart Container (处理 Store/API) 和 Dumb View (纯 UI 展示)。
- Props 驱动: View 层不应直接访问
useChatStore 等全局状态,所有数据和回调必须通过 Props 注入。
3. 组件 Checklist