بنقرة واحدة
match-screenshot-colors
// 分析截图或设计稿中的颜色,将其映射到项目的两级 CSS 变量体系(--supos-t-* 主题级 / --supos-* 应用级)。用户提供截图还原需求、UI 色值匹配、颜色一致性修正时使用。
// 分析截图或设计稿中的颜色,将其映射到项目的两级 CSS 变量体系(--supos-t-* 主题级 / --supos-* 应用级)。用户提供截图还原需求、UI 色值匹配、颜色一致性修正时使用。
Guidelines for designing and validating Unified Namespace (UNS) namespace tree structures — node types, type folders, topic fields, and data type inference.
Validate UNS namespace JSON structures against node type rules, topicType hierarchy, field type constraints, and naming conventions.
| name | match-screenshot-colors |
| description | 分析截图或设计稿中的颜色,将其映射到项目的两级 CSS 变量体系(--supos-t-* 主题级 / --supos-* 应用级)。用户提供截图还原需求、UI 色值匹配、颜色一致性修正时使用。 |
项目使用两级 CSS 变量:
--supos-t-*)— 定义于 apps/web/src/theme/theme.scss,基础色盘定义--supos-*)— 定义于 apps/web/src/index.scss :root / .dark,语义化映射组件样式只允许使用应用级变量(--supos-*),禁止直接使用主题级变量(--supos-t-*)。
使用 Read 工具读取截图,识别各区域的色值:
读取 apps/web/src/theme/theme.scss,找到色盘中与截图色值最接近的变量:
截图色 #f4f4f4 → --supos-t-gray-color-10
截图色 #e0e0e0 → --supos-t-gray-color-20
截图色 #161616 → --supos-t-gray-color-100
此步骤决定最终使用哪个变量,必须严格执行。
apps/web/src/index.scss:root 段查找匹配的应用级变量.dark 段确认暗色主题映射--supos-t-* 变量index.scss 中新增建立映射表,只使用应用级变量:
背景 #f4f4f4 → var(--supos-craft-bg-color)
边框 #e0e0e0 → var(--supos-border-color)
文字 #161616 → var(--supos-text-color)
卡片背景 #fff → var(--supos-card-color)
确认对应的页面文件和 SCSS Module,读取后识别需要更新颜色的元素。
更新 SCSS Module,将硬编码色值替换为 CSS 变量:
// ✅ 正确
.myComponent {
color: var(--supos-text-color);
background: var(--supos-bg-color);
border: 1px solid var(--supos-border-color);
}
// ❌ 错误
.myComponent {
color: #161616;
background: #ffffff;
border: 1px solid #e0e0e0;
}
替换色值时,按以下优先级选择变量:
反例(错误做法):
--supos-t-gray-color-50(#8d8d8d,中灰)--supos-description-card-color(映射到 gray-70 = #525252,明显偏深)正例(正确做法):
--supos-t-gray-color-50(#8d8d8d,中灰)--supos-icon-disabled-color(映射到 gray-40 = #a8a8a8,色值相近)如果发现组件内已直接使用了 --supos-t-* 变量:
:root 中找到语义和色值都匹配的应用级变量常见替换:
var(--supos-t-gray-color-10) → var(--supos-craft-bg-color) 或 var(--supos-card-bg)var(--supos-t-gray-color-100) → var(--supos-text-color)var(--supos-t-white-color) → var(--supos-card-color) 或 var(--supos-bg-color)以下变量均定义于 apps/web/src/index.scss :root 段,组件样式应优先使用这些变量。
--supos-bg-color — 页面主背景(亮色主题为白色)--supos-card-color — 卡片/面板背景(白色)--supos-craft-bg-color — 工作区背景(#f4f4f4)--supos-header-bg-color — 头部背景--supos-card-bg — 备用卡片背景--supos-text-color — 主文字色(亮色主题为 #161616)--supos-anti-text-color — 反色文字(深色背景上的白字)--supos-border-color — 标准边框--supos-home-border-color — 首页边框--supos-menu-hover-color — 菜单悬停--supos-card-hover-color — 卡片悬停--supos-menu-active-color — 菜单选中--supos-theme-color — 主题色(蓝或绿)--supos-nocheck-color — 未选中/非激活状态--supos-boxshadow-color — 阴影色执行完成后输出: