feat(web): 采用 UI UX Pro Max Soft UI Evolution 设计系统

从 Pinterest 风格切换到 Soft UI Evolution 设计系统,使用 UI UX Pro Max
推理引擎生成适合跨行业 ERP 业务用户的专业设计方案。

设计变更:
- 主色从 Pinterest Red (#e60023) 切换到 Trust Blue (#2563EB)
- 字体从系统默认切换到 Noto Sans SC(中文优先)
- 圆角从 16-20px 调整到 10-12px(专业但不夸张)
- 中性色从暖橄榄调切换到 Slate 石板蓝调
- 成功色 #103c25 → #059669,警告色 #b56e1a → #d97706
- 暗色模式从暖黑 (#1a1a18) 切换到深海军蓝 (#0f172a)

涉及文件:DESIGN.md + index.css + App.tsx + 24 个组件文件
This commit is contained in:
iven
2026-04-20 23:27:24 +08:00
parent 85e732cf12
commit 89fc482d99
27 changed files with 598 additions and 588 deletions

View File

@@ -31,27 +31,27 @@ function PrivateRoute({ children }: { children: React.ReactNode }) {
const themeConfig = {
token: {
colorPrimary: '#e60023',
colorSuccess: '#103c25',
colorWarning: '#b56e1a',
colorError: '#9e0a0a',
colorInfo: '#435ee5',
colorBgLayout: '#f6f6f3',
colorPrimary: '#2563eb',
colorSuccess: '#059669',
colorWarning: '#d97706',
colorError: '#dc2626',
colorInfo: '#0284c7',
colorBgLayout: '#f8fafc',
colorBgContainer: '#ffffff',
colorBgElevated: '#ffffff',
colorBorder: '#e5e5e0',
colorBorderSecondary: '#e0e0d9',
borderRadius: 16,
borderRadiusLG: 20,
borderRadiusSM: 8,
fontFamily: "-apple-system, system-ui, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', Helvetica, Arial, sans-serif",
colorBorder: '#e2e8f0',
colorBorderSecondary: '#f1f5f9',
borderRadius: 10,
borderRadiusLG: 12,
borderRadiusSM: 6,
fontFamily: "'Noto Sans SC', -apple-system, system-ui, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', Helvetica, Arial, sans-serif",
fontSize: 14,
fontSizeHeading4: 20,
controlHeight: 40,
controlHeightLG: 44,
controlHeightSM: 32,
boxShadow: 'none',
boxShadowSecondary: '0 2px 8px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.04)',
boxShadowSecondary: '0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04)',
},
components: {
Button: {
@@ -62,21 +62,21 @@ const themeConfig = {
paddingLG: 20,
},
Table: {
headerBg: '#fafaf8',
headerColor: '#62625b',
rowHoverBg: '#fef0f0',
headerBg: '#f1f5f9',
headerColor: '#475569',
rowHoverBg: '#f1f5f9',
fontSize: 14,
},
Menu: {
itemBorderRadius: 12,
itemBorderRadius: 10,
itemMarginInline: 8,
itemHeight: 40,
},
Modal: {
borderRadiusLG: 28,
borderRadiusLG: 16,
},
Tag: {
borderRadiusSM: 8,
borderRadiusSM: 6,
},
},
};
@@ -85,20 +85,20 @@ const darkThemeConfig = {
...themeConfig,
token: {
...themeConfig.token,
colorBgLayout: '#1a1a18',
colorBgContainer: '#2a2a28',
colorBgElevated: '#33332e',
colorBorder: 'rgba(255, 255, 255, 0.08)',
colorBgLayout: '#0f172a',
colorBgContainer: '#1e293b',
colorBgElevated: '#334155',
colorBorder: '#334155',
colorBorderSecondary: 'rgba(255, 255, 255, 0.06)',
boxShadow: 'none',
boxShadowSecondary: '0 4px 16px rgba(0,0,0,0.2), 0 2px 6px rgba(0,0,0,0.15)',
boxShadowSecondary: '0 2px 8px rgba(0,0,0,0.3), 0 1px 3px rgba(0,0,0,0.2)',
},
components: {
...themeConfig.components,
Table: {
headerBg: '#33332e',
headerColor: '#91918c',
rowHoverBg: '#33332e',
headerBg: '#1e293b',
headerColor: '#94a3b8',
rowHoverBg: '#1e293b',
},
},
};