用于生成碳擎 SaaS 系统页面的 skill。当用户需要创建表单页面、列表页面、详情页、仪表盘、聊天界面等各种业务页面时使用。该 skill 提供统一的设计系统规范、布局模板和组件代码,确保所有生成的页面风格与碳擎产品碳足迹3.0系统一致。
SaaS UI Builder是一项面向实际任务的技能,主要用于用于生成碳擎 SaaS 系统页面的 skill,确保所有页面风格统一;1. 理解需求;
左侧导航菜单项;2. 应用布局模板;复制 assets/layout-template.tsx 到目标目录(重命名为 page.tsx );复制 assets/layout-t。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
用于生成碳擎 SaaS 系统页面的 skill,确保所有页面风格统一。
saas-ui-builder/ ├── assets/ │ ├── layout-template.tsx # 页面布局模板(React) │ ├── layout-template.module.css # 布局样式模板 │ ├── header-logo.png # Header Logo 图片 │ ├── logo-brand.png # Sidebar 品牌图标 │ └── user-avatar.png # 用户头像占位图 ├── references/ │ ├── design-tokens.md # 颜色、字体、间距等设计令牌 │ ├── layout-spec.md # 页面布局规范 │ └── components.md # 组件样式规范 └── SKILL.md # 本文件
与用户确认以下信息:
assets/layout-template.tsx 到目标目录(重命名为 page.tsx)assets/layout-template.module.css 到目标目录(重命名为 page.module.css)assets/*.png 到目标项目的 public/ 目录根据页面类型实现内容区:
references/components.md 中的表单组件规范所有颜色、字体、间距必须使用 references/design-tokens.md 中定义的值。
本 skill 使用 public 目录 方式引用图片,这是 Next.js 的标准静态资源处理方式。
| 资源名 | 尺寸 | 用途 | CSS 类名 |
|---|---|---|---|
header-logo.png |
147×33px | Header 左侧品牌 Logo | .headerLogo |
logo-brand.png |
36×36px | Sidebar 顶部产品图标 | .logoIcon |
user-avatar.png |
40×40px | 用户头像占位符 | .userAvatar |
// 在 layout-template.tsx 中已预定义组件 const HeaderLogoImg = () => (); const BrandLogoImg = () => (
); const UserAvatarImg = () => (
);
public/ 目录┌─────────────────────────────────────────────────────────────┐ │ Header (70px) │ │ [Logo] [工作台] [产品库] [工具] [企业信息] [?] [🔔] │ ├───────────────┬─────────────────────────────────────────────┤ │ │ Breadcrumb │ │ Sidebar ├─────────────────────────────────────────────┤ │ (220px) │ │ │ │ Main Content Area │ │ [Logo区域] │ - 页面标题 + 操作按钮 │ │ [导航菜单] │ - 筛选区域(可选) │ │ [收起导航] │ - 内容区(表单/列表/详情/图表) │ └───────────────┴─────────────────────────────────────────────┘
使用 Flex 布局,这是经过验证的稳定方案:
.layout {
display: flex;
flex-direction: column;
height: 100vh;
}
.body {
flex: 1;
display: flex;
min-height: 0;
overflow: hidden;
}
activeSubItem state 控制).layout # 页面根节点 (flex column)
├── .header # 顶栏(70px,flex-shrink: 0)
└── .body # 内容区(flex: 1)
├── .sidebar # 侧边栏(220px,flex-shrink: 0)
└── .mainColumn # 主内容列(flex: 1)
├── .breadcrumb # 面包屑
└── .mainContent # 主内容
├── .pageHeader # 页面标题区
├── .filterPanel # 筛选区(可选)
└── .contentArea # 内容区
页面文件放在 app/ 目录下:
page.tsxpage.module.csspublic/ 文件夹下目录结构示例:
app/
├── products/
│ ├── page.tsx # 产品列表页
│ ├── page.module.css
│ ├── [id]/
│ │ └── page.tsx # 产品详情页
│ └── new/
│ └── page.tsx # 新建产品页
└── dashboard/
└── page.tsx # 仪表盘页
public/
├── header-logo.png # 必须包含
├── logo-brand.png # 必须包含
└── user-avatar.png # 必须包含
Grid 布局在某些情况下会导致 Header 和 Body 的空间分配计算问题,Flex 布局更稳定可靠。
Next.js 的 public/ 目录是处理静态资源的标准方式,使用绝对路径 /xxx.png 引用简单可靠。
确保 public/ 目录下的图片文件一起分发,否则 Logo 和头像将无法显示。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章