切换主题
Standard CRUD
适用范围:Legacy Admin Kit / Schema 与旧
admin-vue。新admin-nuxtui的开发入口见管理端 Nuxt UI 指南。
Standard CRUD 适合 generated resource catalog 已证明 compatible 的目录型页面。CLI 负责可由事实确定的结构;作者负责页面为什么存在、信息层级、查询意图和业务文案。
1. 诊断并发现实时能力
从仓库根目录进入固定了 pnpm 版本的前端 workspace 后执行。不要从无 package.json 的仓库根目录跨目录调用 pnpm,否则 Corepack 可能先选择错误版本:
powershell
Set-Location .\packages\yoyo-admin
pnpm run cli -- admin doctor --json
pnpm run cli -- admin capabilities --json
pnpm run cli -- admin contracts status --json只使用 capabilities.data.create.recipes[] 当前列出的 recipe 和 options。不要从旧文档猜命令。
2. 查询 generated facts
powershell
pnpm run cli -- admin inspect resources --json
pnpm run cli -- admin inspect resource measuringUnit --json
pnpm run cli -- admin inspect permissions --prefix Pages.Administration.BasicData.MeasuringUnits --json继续生成的条件是 standardCrud.eligible: true,且所需 Query/Create/Edit/Delete 权限确实存在。资源存在但不兼容时是 capability gap,不应硬套 recipe。
3. 先 dry-run
powershell
pnpm run cli -- admin create frontend-module `
--kind standard-crud `
--module widgets `
--resource measuringUnit `
--route /widgets/list `
--title "控件管理" `
--description "维护控件目录。" `
--group "业务模块" `
--permission-prefix Pages.Administration.BasicData.MeasuringUnits `
--dry-run --json计划必须只有:
src/app/<module>/manifest.ts;src/app/<module>/<resource>/schema.ts;src/app/manifests.ts的受控 wiring 更新。
不应出现 index.vue、通用 service.ts、binding.ts、validation.ts 或 page-contract.ts。确认计划后,用相同命令移除 --dry-run 执行。
4. 补齐 product content
生成结果只达到 structural-ready:operations、字段 lifecycle、权限兼容性、page/datasource id 来自 generated facts;初始表格只保留稳定 row key,字段 label/kind 也是待复核的中性 skeleton。
作者必须在 canonical schema.ts 中决定:
- identity/headline/key/status/meta 的信息层级;
- query fields、quick/advanced filter 与 default sort;
- column title、renderer、role、priority、mobile placement;
- label/help/confirmation subject 与 create/edit default;
- 是否确实需要升级到 typed extension。
正式参考:
apps/yoyo-admin/admin-vue/src/app/administration/basic-data/measuring-units/schema.tsapps/yoyo-admin/admin-vue/src/app/administration/basic-data/manifest.ts
其中 createMeasuringUnitPageSchema 展示了生成 skeleton 与最终产品语义的差异。Reference 不是模板 owner,不能复制后改名。
5. 验证
powershell
Push-Location ..\..\apps\yoyo-admin\admin-vue
pnpm run typecheck
pnpm run check:schema-project
pnpm run test:conformance -- --page <page-key>
Pop-Location完整验证选择见 诊断与验证。Standard CRUD 最终由 Standard Management Runtime 投影到 LegacyYDataTable;不要再包一层自建 Page/CRUD runtime。