users.php → 工单管理 的「配置」Tab 只管理部门 / 状态 / 预设回复三块 DB 字典,与 SPA「工单中心」已有的 8 个标量配置分裂成两处;且同一套 CRUD 在 admin_post 与 TicketConfigRest 里各写了一遍,REST 侧此前 没有任何调用方。 - 删除原生 config tab:UsersMenusTicketsConfig.php 整份移除, UsersMenusTicketsCenter 由 512 行降到 251 行(六个写处理方法、 分发分支、十条提示码与 ticket_delete_button 一并清理) - SPA /users/ticket 改为 customPage:内嵌 SchemaPage 承载原有 8 字段, 三块字典改为 n-data-table + n-modal + n-dialog,取色器/管理员多选/ 拖拽排序替代原生手填表单 - TicketConfigRest 成为三块字典的唯一实现,新增 api/modules/tickets.js 封装 aksrt/v1/admin/tickets* - 双向深链:原生页跳 SPA 配置页,SPA 页跳回原生工单列表 契约测试同步更新,并新增 ticket-spa-config-contract 守护接线。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Admin contract map
Generated by process, not a migration guide. Source of truth for menu ↔ schema wiring.
Rules
- Every
schemaPagemust have matching PHP section under the same domain. - Enum field values must be identical in PHP schema and JS schema.
- REST
'callback' => [$this, 'method']methods must exist (class or trait). - Deploy
assets/admin/build/as one atomic unit afternpm run build. - No compat aliases, dual-read, or silent frontend catch for missing APIs.
Audit
php tools/audit-admin-contracts.php
Exit code 1 means hard contract errors.
Domain builders
| Domain | PHP builder map key | Menu constants file |
|---|---|---|
| global | AKSRT_Admin_Schema_Global |
assets/admin/src/constants/sections/global.js |
| page_display | AKSRT_Admin_Schema_Page_Display |
page-display.js |
| post_list | AKSRT_Admin_Schema_Post_List |
post-list.js |
| permissions | AKSRT_Admin_Schema_Permissions |
permissions.js |
| users | AKSRT_Admin_Schema_Users |
users.js |
| payment | AKSRT_Admin_Schema_Payment |
payment.js |
| extensions | AKSRT_Admin_Schema_Extensions |
extensions.js |
| tools | AKSRT_Admin_Schema_Tools |
tools.js |
| shop | AKSRT_Admin_Schema_Shop |
shop.js |
Known custom pages (not schema REST)
These use dedicated Vue pages + dedicated REST modules:
- Homepage:
HomepageSettings+/settings/homepage - Footer:
FooterSettings+ footer settings API - Permissions capabilities matrix:
PermissionsCapabilities+/permissions/capabilities - Shop products/orders and other operational tables
- 工单中心:
UsersTicket+ schemausers/ticket+aksrt/v1/admin/tickets*(部门 / 状态 / 预设回复)
Deploy checklist
cd assets/admin && npm ci && npm run build- Confirm
build/index.jsand every dynamically imported./Chunk.hash.jsexist - Replace the entire remote
assets/admin/build/directory - Hard-refresh wp-admin (or purge CDN)
- Re-run
php tools/audit-admin-contracts.php