14 KiB
Precision Atelier 设计系统改造记录
改动日期
- 2026-04-02:视觉层改造(配色、字体、组件样式)
- 2026-04-03:全局布局改造(AppShell 三栏布局 + 去重)
背景
基于 方案设定/stitch/ 中的 17 份前端设计稿(solidjoin_3d_1~15 + solidjoin_precision + solidjoin_3d_inventory_2),将前端视觉风格从 "Apple HIG" 切换为设计稿指定的 "Precision Atelier" 风格。
核心变更
1. 配色体系(colors.ts)
| 维度 | 旧值 | 新值 | 用途 |
|---|---|---|---|
| 品牌色 | #008D74(Teal) |
#546067(Graphite) |
导航高亮、标题、CTA |
| 次要色 | #47C4AF |
#4b626e(Fog Blue) |
链接、辅助操作 |
| 成功色 | #34C759 |
#286c34(Sage Green) |
成功状态、验证 |
| 错误色 | #FF3B30 |
#9f403d |
错误提示 |
| 主背景 | #FFFFFF |
#f9f9fb(surface) |
页面底色 |
| 侧边栏 | #F5F5F7 |
#f2f4f6(surface-container-low) |
侧边栏 |
| 卡片/浮动面板 | #FFFFFF |
#ffffff(surface-container-lowest) |
卡片 |
| 二级工作区 | — | #ebeef2(surface-container) |
数据区域 |
| 深色背景 | #000000 / #1C1C1E |
#0c0e10 / #1a1c1e |
深色主题 |
新增令牌:
glassmorphismTokens— 玻璃面板颜色(70% 白 + blur 20px)ambientShadowTokens— 环境阴影(带 on-surface 色调rgba(45, 51, 56, 0.06))toastColors— Toast 专用颜色
2. 字体系统(typography.ts)
双字体策略:
- 展示字体:Manrope — 用于品牌标题、大标题
- 功能字体:Inter — 用于数据、标签、表单、技术规格
命名体系对照:
| 旧名 | 新名 | 用途 |
|---|---|---|
| largeTitle | displayLg (3.5rem) | 品牌大标题 |
| title1 | displayMd (2.5rem) | 展示标题 |
| title2 | headlineLg (1.75rem) | 页面标题 |
| title3 | headlineMd (1.5rem) | 区块标题 |
| headline | headlineSm (1.25rem) | 小标题 |
| body | bodyMd (0.875rem) | 正文 |
| callout | bodyLg (1rem) | 大正文 |
| subhead | bodySm (0.75rem) | 小正文 |
| footnote | bodySm (0.75rem) | 注释 |
| caption1 | bodySm (0.75rem) | 小标签 |
| caption2 | labelSm (0.6875rem) | 微标签 |
兼容处理:legacyTextStyleMap 映射旧名到新名,CompatibleTextStyle 类型同时接受新旧名。
3. 全局样式(globals.css)
- @theme 块:颜色变量全部替换为 Precision Atelier 配色
- 字间距:展示标题统一
letter-spacing: -0.02em,技术标签0.05em - 圆角:改为紧凑风格(0.375rem ~ 1rem)
- 过渡:200ms ease-out("Snappy but Silky")
- 阴影:环境阴影
0px 4px 32px rgba(45, 51, 56, 0.06) - Ghost Border:
rgba(172, 179, 184, 0.3)用于数据网格分隔 - 深色主题:完整的深色变量覆盖
- Glassmorphism:70% 白/深 + 20px blur
- 滑块:品牌色从
#008D74改为#546067,深色模式对应
4. UI 组件改动
Button.tsx
- filled 变体:纯色背景改为 145° 渐变
linear-gradient(145deg, var(--color-blue), var(--color-teal))
Typography.tsx
variantprop 类型改为CompatibleTextStyle,兼容旧名(caption1/body/headline 等)fontType新增display选项,支持 Manrope 展示字体
5. 硬编码颜色替换
~20 个业务文件中的 82 处 #008D74 硬编码替换为 CSS 变量引用。
6. 兼容性处理
appleColorTokens、appleSemanticColors、appleToastColors:旧名兼容导出appleTypographyTokens:旧名兼容导出appleAnimationTokens:保持原名不变precisionAtelierSpacingTokens:新名,旧函数签名不变
设计原则
- No-Line Rule:不用 1px 边框,通过 surface 层级的 hex 差异产生视觉分离
- Glassmorphism:浮动面板用 70% 白 + 20px blur
- 环境阴影:仅用于浮动元素,颜色带 on-surface 色调
- Snappy but Silky:200ms ease-out 过渡
- Ghost Border:数据网格用 0.5px
outline-variant@ 30% 透明度 - CTA 渐变:primary → primary-dim,145° 角,"machined metal" 质感
改动文件清单
| 文件 | 改动类型 |
|---|---|
src/lib/design-tokens/colors.ts |
全部重写 |
src/lib/design-tokens/typography.ts |
全部重写 |
src/lib/design-tokens/spacing.ts |
重命名+圆角调整 |
src/lib/design-tokens/index.ts |
注释更新 |
src/app/globals.css |
颜色/字体/阴影全部替换 |
src/components/ui/Button.tsx |
CTA 渐变效果 |
src/components/ui/Typography.tsx |
兼容旧名 variant |
| ~20 个业务文件 | 硬编码颜色替换 |
第二阶段:全局布局改造(2026-04-03)
7. AppShell 三栏布局
新增全局布局框架,所有常规页面统一使用三栏结构:
┌─────────────────────────────────────────────────┐
│ AppTopNav(h-14,Glassmorphism 毛玻璃顶栏) │
│ Logo + 搜索 + 通知 + 主题切换 + 用户菜单 │
├──────────┬──────────────────────────────────────┤
│ AppSideNav│ 主内容区(ml-56 mt-14) │
│ w-56 │ │
│ │ PlatformSplitLayout 等页面组件 │
│ 导航链接 │ │
│ 新建配置 │ │
│ 技术支持 │ │
│ 归档 │ │
└──────────┴──────────────────────────────────────┘
新增文件:
src/components/layout/AppTopNav.tsx— 固定顶栏(Logo + 搜索 + 工具按钮)src/components/layout/AppSideNav.tsx— 固定左侧导航(5 个导航项 + 底部操作区)src/components/layout/AppShell.tsx— 全局布局容器,组合 TopNav + SideNav + main
排除页面: /login、/first-login、/debug-theme、/ui-preview 不使用 AppShell。
AppSideNav 导航项:
| 路由 | 标签 | 图标 |
|---|---|---|
/ |
首页概览 | Home |
/asset-center |
资产中心 | Boxes |
/assisted-assembly |
辅助装配 | Layers |
/draft-groups |
草稿组 | PackageOpen |
/warehouse |
仓库管理 | Warehouse |
8. 功能去重
引入 AppShell 后,各页面中与全局导航重复的元素已清理:
去重 1:顶栏导航 tab 移除
- AppTopNav 原本有 5 个导航 tab(首页/资产中心/辅助装配/草稿组/仓库),与 AppSideNav 完全重复
- 已移除顶栏中的导航 tab,顶栏只保留:Logo、搜索框、通知铃铛、主题切换、用户菜单
- 导航职责统一由左侧边栏承担
去重 2:页面内 headerTools(ThemeToggle + UserMenu)移除
以下 7 个文件移除了 headerTools={<PlatformHeaderTools user={user} />} 传参:
src/app/asset-center/AssetCenterClient.tsxsrc/app/assisted-assembly/page.tsx(服务端)+AssistedAssemblyClient.tsx(客户端)src/app/draft-groups/DraftGroupsClient.tsxsrc/app/draft-groups/[id]/DraftGroupDetailClient.tsxsrc/app/intake/IntakeClient.tsxsrc/app/warehouse/WarehouseClient.tsxsrc/app/HomeClient.workspace.tsx
去重 3:eyebrow 副标题移除
各页面中 eyebrow prop(如"主链起点"、"系列模板驱动"、"中台承接页"等)已全部移除。
侧边栏已有清晰的页面标识,无需重复。
9. Platform 组件适配
PlatformPageFrame.tsx
- 移除:radial-gradient 背景、rounded-[28px] 卡片包装、liquid-glass-enhanced 头部
- 现在:简洁的内联布局,Manrope 标题 + 内联 eyebrow badge + PlatformFlowNav
PlatformSplitLayout.tsx
- 移除:独立的 sticky 头部(含 Card、返回按钮、eyebrow)
- 适配:
h-[calc(100vh-56px)]填满 AppShell 主内容区 - 右侧面板:w-80(320px),surface-container-lowest 背景
eyebrow和headerTools保留为@deprecatedprops(解构后静默忽略),确保旧代码不报错
最终布局职责划分
| 区域 | 组件 | 职责 |
|---|---|---|
| 顶栏 | AppTopNav | Logo、搜索、通知、主题切换、用户菜单 |
| 侧边栏 | AppSideNav | 5 个导航链接、新建配置按钮、技术支持、归档 |
| 主内容区 | 各页面组件 | 只负责业务内容,不再自带导航/头部工具 |
改动文件清单(完整)
| 文件 | 改动类型 |
|---|---|
src/lib/design-tokens/colors.ts |
全部重写 |
src/lib/design-tokens/typography.ts |
全部重写 |
src/lib/design-tokens/spacing.ts |
重命名+圆角调整 |
src/app/globals.css |
颜色/字体/阴影全部替换 |
src/components/ui/Button.tsx |
CTA 渐变效果 |
src/components/ui/Typography.tsx |
兼容旧名 variant |
src/components/layout/AppTopNav.tsx |
新增:全局顶栏 |
src/components/layout/AppSideNav.tsx |
新增:全局侧边导航 |
src/components/layout/AppShell.tsx |
新增:全局布局容器 |
src/app/layout.tsx |
引入 AppShell 包裹 |
src/components/platform/PlatformPageFrame.tsx |
简化为内联布局 |
src/components/platform/PlatformSplitLayout.tsx |
适配 AppShell + deprecated props |
src/app/asset-center/AssetCenterClient.tsx |
移除 headerTools/eyebrow |
src/app/assisted-assembly/page.tsx |
移除 headerTools 传参 |
src/app/assisted-assembly/AssistedAssemblyClient.tsx |
headerTools 改为可选 |
src/app/draft-groups/DraftGroupsClient.tsx |
移除 headerTools/eyebrow |
src/app/draft-groups/[id]/DraftGroupDetailClient.tsx |
移除 headerTools/eyebrow(2 处) |
src/app/intake/IntakeClient.tsx |
移除 headerTools/eyebrow(2 处) |
src/app/warehouse/WarehouseClient.tsx |
移除 headerTools/eyebrow |
src/app/HomeClient.workspace.tsx |
移除 topTools 传参 |
| ~20 个业务文件 | 硬编码颜色替换 |
第三阶段:管理基础设施视觉升级 (2026-04-16)
10. 管理端专属视觉模式 (Management UI Patterns)
在重构 /admin 和 /users 页面时,引入了针对“高密度控制类页面”的增强视觉模式,以平衡“工业精密感”与“视觉通透度”。
1. 沉浸式页头 (Immersive Page Header)
- 视觉特征:
- 采用
bg-white/60+backdrop-blur-2xl。 - 强化左侧 Icon 视觉,使用
rounded-[2rem] bg-black黑色底座,并叠加状态徽章(如ShieldCheck)。 - 排版建议:Manrope 3XL 标题 + 紧跟其后的
text-apple-blue高亮关键词。 - 副标题:使用
text-[10px] tracking-[0.4em] uppercase的精密说明文字。
- 采用
2. 精密控制条 (Precision Control Bar)
- 定义:将原本分散的“搜索框”与“筛选器”整合进一个逻辑整体。
- 视觉实现:
- 容器:
rounded-[2rem]极圆圆角,border-white/80微光边框,bg-white/40背景。 - 搜索框:沉浸式设计,背景为
bg-white/80,聚焦时通过ring-apple-blue/5产生柔和晕染。 - 筛选器:图标 (Lucide Icon) + Select 组件的紧凑组合,图标作为装饰前缀。
- 容器:
3. 玻璃态卡片增强 (Enhanced Glass Cards)
- 改动:在
rounded-[2rem]的基础上,引入了“装饰线”动效。 - 动效逻辑:
group-hover:w-full的底部 1.5px 强调线,颜色与模块 Icon 色调一致。 - 背景文字装饰:绝对定位的
text-[80px]背景大字(如模块 path),设置opacity-[0.03]极低透明度,增加“空间感”。
4. 状态指标看板 (System Health Dashboard)
- 应用场景:
/admin首页。 - 组成:Icon 容器 + 上下两行文本(上行为微缩标签,下行为状态值)。
- 配色:动态使用
emerald-500(正常),blue-500(活动),amber-500(注意)。
5. 三栏工作区 (Three-Column Workspace)
- 应用场景:
/asset-center/material-library。 - 定义:左侧极简分类 (Navigation) + 中间响应式网格 (Grid) + 右侧实时定义面板 (Inspector)。
- 优势:极大降低页面跳转成本,实现“即时反馈”。
6. 精密滑块交互 (Precision Sliders)
- 视觉表现:细条轨道 + 圆形 Thumb + 右侧数值百分比徽章。
- 应用场景:物理参数调节 (Metallic/Roughness/Opacity)。
- 规范:取代原有的输入框,滑动步长固定为 0.01 (1%)。
7. 悬浮坞系统 (Floating Dock System)
- 应用场景:
/assisted-assembly。 - 定义:左侧布局的交互式入口,采用
bg-black/60+backdrop-blur-3xl。 - 动效:点击后向右水平展开列表。
- 逻辑:通过视觉发光 (Glow) 和计数徽标反馈当前分类的选择状态。
8. 环境 HUD (Ambient HUD)
- 定义:底部的非侵入式信息条。
- 样式:极圆胶囊型,
backdrop-blur-xl。 - 作用:提供当前操作环境的实时状态(如“捕捉已就绪”)。
11. 改动文件清单
| 文件 | 改动类型 | 备注 |
|---|---|---|
src/app/admin/page.tsx |
重构 | 系统总控制台首页视觉重载 |
src/app/users/page.tsx |
重构 | 身份控制中心 (用户管理) 三栏重写 |
src/app/asset-center/material-library/MaterialLibraryClient.tsx |
重构 | 材质库首页视觉重写 (草稿图 12.png) |
src/app/assisted-assembly/AssistedAssemblyClient.tsx |
重构 | 拼装工作台沉浸式重写 & 引入 Floating Dock |
src/components/platform/PlatformSplitLayout.tsx |
基础重构 | 统一加装 backHref 导航标准 |