跳转正文

Advanced CRUD (crud-ex) ​

适用范围:Legacy Admin Kit / Schema 与旧 admin-vue。新 admin-nuxtui 的开发入口见管理端 Nuxt UI 指南。

当页面需要 typed editor、row overlay、remote option、领域 renderer 或业务 command 时,选择 crud-ex。它仍使用 canonical Page Schema 与 Data Workbench,不是第二套页面框架。

当前能力结论 ​

CLI 当前只有 standard-crud frontend-module recipe;对 crud-ex 的审核结论是 NO NEW RECIPE。Identity Users 与 Roles 虽然共享 Data Workbench contract,但它们的 editor、permission、validation 与 command binding 仍有真实领域差异,尚不足以收敛成稳定生成 recipe。

Authoring anatomy ​

text
canonical schema.ts (`pageKind: 'crud-ex'`)
        ├─ query/table/form/action intent
        ├─ typed extension keys
        └─ registry linking
feature adapter / page contract
        ├─ generated DTO/request mapping
        ├─ datasource + option source
        ├─ generated validation port
        └─ mutation/action executors
YDataExtensionCatalog
        └─ editor / row-detail / row-overlay component
                ↓
Data Workbench / LegacyYDataTable + Editor Task

crud-ex 必须至少声明一个已登记 extension;key、slot 与 overlay 不匹配时 compiler fail closed。Extension 只拥有业务差异,不能接管 Data Workbench query/selection/pagination 或另建 mutation 状态机。

Identity Users reference ​

  • apps/yoyo-admin/admin-vue/src/app/administration/identity/users/schema.ts
  • apps/yoyo-admin/admin-vue/src/app/administration/identity/users/index.vue
  • apps/yoyo-admin/admin-vue/src/app/administration/identity/users/page-contract.ts
  • apps/yoyo-admin/admin-vue/src/app/administration/identity/users/DataRoleEditor.vue

该页面展示 remote-select option source、角色 editor、permission/history row overlay、generated validation 与 typed request mapping 的 owner 分工。

Identity Roles reference ​

  • apps/yoyo-admin/admin-vue/src/app/administration/identity/roles/schema.ts
  • apps/yoyo-admin/admin-vue/src/app/administration/identity/roles/index.vue
  • apps/yoyo-admin/admin-vue/src/app/administration/identity/roles/page-contract.ts
  • apps/yoyo-admin/admin-vue/src/app/administration/identity/roles/RolePermissionEditor.vue

该页面展示 permission remote option、Dialog editor、Drawer row overlay、ActionContract 与 generated validation linking。

Application UI 选择 ​

  • 普通字段编辑:优先 Editor Task 的 Dialog。
  • 长表单、树或需要列表上下文:显式声明 Drawer。
  • 多阶段且需要独立 URL:使用 Page Frame,不把 workflow 强塞进 overlay。

选择规则见 Editor Task;组件 props 回到对应组件文档,不在这里复制。

YoyoBoot · 从真实项目走向可复用能力