소스 정보
- 저장소
- NewLifeX/NewLife.Cube
- 최근 소스 활동
- 2026년 8월 2일 07:40
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 631
- 포크
- 167
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/NewLifeX/NewLife.Cube --skill cube-add-page명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Vue 组件开发的「视觉快速迭代闭环」:Gallery 手动预览(?story= 深链 / 无参数侧栏,带 HMR)+ Vitest 逻辑回归 + Playwright CT 像素级截图。提供手动浏览器预览与 CT 测试编写规范,让"改代码→截图→调整→再截图"在分钟级闭环中完成。
LOV(List of Values)值集系统使用指南。涵盖后端配置、前端组件、API 封装、枚举自动注册全链路。当用户说"配置值集"、"使用LovSelect"、"添加LOV"、"值集选择"、"枚举下拉"、"使用LOV"时使用。
在 @newlifex/cube-vue 框架中新增、注册或切换页面布局。 当用户说"新增布局"、"自定义布局"、"修改布局"、"切换布局"、"使用 XXX 布局"时使用。 包含布局组件创建、框架注册、应用使用的完整流程。
SOC 직업 분류 기준
SKILL.md 표시 중
| name | cube-add-page |
| description | 根据后端 NewLife.Cube 控制器定义,在前端项目创建页面组件。当用户说"新增页面"、"创建页面"、"添加功能页面"、"给 XX 模块加页面"时使用。 |
Cube 前端新增页面技能。根据后端控制器定义,在前端对应应用目录创建页面组件,并配置菜单图标、列表展示字段等。
只需创建页面组件文件,不需要关心页面如何注册和渲染。 本框架会自动加载页面、自动注册路由,无需手工配置。
当需要新增或修改前端页面时使用,例如:
apps/ 目录,按「页面目录结构」判断该区域是独立成应用(情形 B)还是归在某个综合 app 下(情形 A),确认目标 app 目录已存在cube-add-app 技能创建应用| 参数 | 说明 | 示例 |
|---|---|---|
controllerName | 控制器名称(PascalCase) | Product, Device, Alarm |
area | 业务区域(与后端 Area 名一致) | Basic, Device, Demo |
entityName | 实体名称(可选,默认同 controllerName) | Product |
menuIcon | 菜单图标(Element Plus 图标名) | Files, Setting, User |
listFields | 列表页要展示的字段数组(可选,默认全部) | ["Id", "Name", "Code", "Enable"] |
detailUrl | 详情页 URL 模板(可选) | "/{area}/{controller}/Detail?id={Id}" |
页面位置由后端控制器所属的区域(Area) 和前端 apps/ 目录的部署形态共同决定。
Area(区域)和 Controller(控制器)。apps/ 目录,按下列两种情形取对应的路径:views 下先按区域、再按控制器分两级文件夹:
{前端项目}/apps/{app-name}/src/views/{area}/{controller}/index.vue
示例:Admin 区域、User 控制器,应用为 cube-admin
→ apps/cube-admin/src/views/admin/user/index.vue
views 下只有控制器一级文件夹:
{前端项目}/apps/{area-app}/src/views/{controller}/index.vue
示例:Admin 区域、User 控制器,对应应用为 admin
→ apps/admin/src/views/user/index.vue
判断口诀:
apps/里区域是"文件夹"还是"应用名"?是文件夹 → 情形 A(两级);是应用名 → 情形 B(一级)。
EntityController<TEntity>AreaBase,构造函数传入 Area 名)apps/{app-name}/),不存在则调用 cube-add-app在后端 Controller 上通过 [Menu] 特性设置图标:
[Menu(30, true, Icon = "Files")] // Icon 为 Element Plus 图标名
public class DemoController : EntityController<DemoEntity>
图标也可通过 Cube 后台 → 菜单管理修改。常用图标:
Files、Setting、User、List、Document、DataBoard、Coin、Clock。
在 Controller 静态构造函数中配置 ListFields。常用操作:
| 场景 | 代码 |
|---|---|
| 移除审计字段 | ListFields.RemoveCreateField().RemoveUpdateField() |
| 清空并自定义 | list.Clear(); foreach(...) list.AddListField(item) |
| 设置详情链接 | df.Url = "/{area}/{controller}/Detail?id={Id}" |
完整 ListFields 方法表、ListField 属性表、AddFormFields/EditFormFields 配置详见 references/api-and-styling.md。
本框架路由和 CRUD 由后端自动驱动,你的唯一任务就是创建页面组件文件。
若只需标准表格列表 + 弹窗新增/编辑,无需创建任何前端文件,后端 Controller 创建完成后刷新即可访问。
非标准 CRUD 布局、看板、图表、自定义交互等场景,按「页面目录结构」在对应路径创建 index.vue:
# 情形 A(两级)
apps/{app-name}/src/views/{area}/{controller}/index.vue
# 情形 B(一级)
apps/{area-app}/src/views/{controller}/index.vue
创建后框架自动加载并渲染,无需以下任何操作:
/{area}/{controller}/{action}/{id?})routes.ts、main.ts[Menu] 特性控制)必须先提供原型参考(原型 HTML / 截图 / 详细描述),再根据原型实现 Vue 组件。
样式规范:自定义页面必须使用 Element Plus CSS token(--el-*)或 Cube Layout token(--cube-layout-*),禁止硬编码色值与自定义 token。详见 references/api-and-styling.md。
API 对接:通过 usePageApi(area, controller) composable 对接后端 CRUD,无需为每个模块手写 api/xxx.ts:
const api = usePageApi("Demo", "Demo");
const res = await api.getList({ pageIndex: 0, pageSize: 20 });
完整 usePageApi 方法表、使用示例、错误处理约定、完整示例、枚举字段处理详见 references/api-and-styling.md。
/{area}/{controller},无需手动输入路由配置Files、Setting),不可用 fa- 旧格式[XxxArea] 特性routes.ts 中写路由,不要修改 main.tsapps/*/src/views/**/index.vue 自动匹配后端菜单路由usePageApi(area, controller) 对接后端,不需要为每个模块建 api/xxx.tsgetList 需传 pageIndex: page - 1;totalCount 在 res.page.totalCount| 文件 | 内容 |
|---|---|
| references/api-and-styling.md | ListFields 配置、自定义页面样式规范、usePageApi 通用 CRUD Composable、错误处理约定、完整示例、枚举字段处理 |