mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-08-30 12:45:32 +08:00
docs(agents): 修正规则与技能文档的索引缺漏、错误引用与表述冲突
- AGENTS.md 工作流索引:补充 ulthon-update-workflow 与 ulthon-rules-manager,移除不存在的 ulthon-tools-log - ulthon-naming-convention.md:删除对 ulthon-source-directory.md 的错误引用,明确框架应用目录与控制器子目录命名规范 - ulthon-database-design.md / ulthon-scheme-definition:统一关联表 onlyFileds 键名说明,修正示例字段拼写 - ulthon-scheme-curd-workflow.md:CURD 表名参数表述与参数表对齐 - ulthon-permission-cli.md:章节改写为节点分配原则,去除变更痕迹叙事 - README.md:文档主页 URL 与 AGENTS.md 对齐
This commit is contained in:
@@ -61,13 +61,13 @@
|
||||
| `table` | 关联表名 | 必填 |
|
||||
| `primaryKey` | 关联表主键 | 非必填 |
|
||||
| `modelFilename` | 模型文件 | 非必填,不建议指定,可自动生成 |
|
||||
| `onlyFileds` | 列表页显示字段 | 可指定,用竖线分割 |
|
||||
| `onlyFileds` | 列表页显示字段 | 可指定,用竖线分割。**键名是 `onlyFileds`(而非 `onlyFields`),需与 `CurdBase.php` 解析逻辑一致** |
|
||||
| `relationBindSelect` | 表单下拉关联字段 | 必填 |
|
||||
|
||||
完整写法示例:
|
||||
|
||||
```
|
||||
标签 {relation} (table:tag,relationBindSelect:title,primaryKey:id,onlyFileds:title|titme_image|username|phone)
|
||||
标签 {relation} (table:tag,relationBindSelect:title,primaryKey:id,onlyFileds:title|time_image|username|phone)
|
||||
```
|
||||
|
||||
## 其他细节
|
||||
|
||||
@@ -2,12 +2,16 @@
|
||||
|
||||
## 目录命名
|
||||
|
||||
- 一个单词的目录用小写,例如 `service/`
|
||||
- 多个单词的目录用大驼峰,例如 `AdminService/`、`UserService/`
|
||||
- 一个单词的目录用小写,例如 `service/`、`controller/`
|
||||
- 多个单词的目录用大驼峰,例如独立的子项目目录 `AdminService/`、`UserService/`
|
||||
- 此处的"多单词目录"指 **独立子项目目录**(如 `source/` 下各端工程、各子项目目录),**不**指框架标准应用目录
|
||||
- 框架标准应用目录(`app/admin/`、`app/common/` 等)按 ThinkPHP 惯例统一使用小写
|
||||
- **控制器子目录**:推荐使用全小写命名,例如 `app/admin/controller/system/`、`app/admin/controller/mall/`
|
||||
- 即使目录名用了大驼峰,URL 也会自动转换,但默认全小写可避免歧义
|
||||
- URL 访问规则详见 [ulthon-controller-url.md](./ulthon-controller-url.md)
|
||||
|
||||
## PHP 文件命名
|
||||
|
||||
- `app/common` 目录下已有单独的规范说明(见 `ulthon-source-directory.md`)
|
||||
- 其他各应用目录下:
|
||||
- **service 模块**需要写后缀,例如 `AdminService`,而不是 `admin`
|
||||
- **除了 service 模块**,其他文件不需要写后缀,不论是 controller、model、traits、config、middleware 等
|
||||
- **service 模块**:文件名需要写 `Service` 后缀,例如 `AdminService.php`(类名 `AdminService`),而不是 `Admin.php`
|
||||
- **其他模块**(controller、model、traits、config、middleware 等):不需要写后缀,直接使用业务名(如 `User.php`、`Order.php`)
|
||||
- **Scheme 类**:文件名采用大驼峰(PascalCase),且必须与类名一致,详见 [ulthon-scheme-definition](../skills/ulthon-scheme-definition/SKILL.md)
|
||||
|
||||
@@ -90,12 +90,12 @@ php think admin:permission:user --user-id=1
|
||||
3. 如果用户通过角色获得权限,执行 `admin:role:permission:list --role-id=<roleId>` 核对角色是否包含该节点。
|
||||
4. 检查后台配置中是否存在免鉴权规则(例如 no_login/no_auth 的控制器/节点白名单)。
|
||||
|
||||
## 变更说明(重要)
|
||||
## 节点分配原则
|
||||
|
||||
- 旧命令 `admin:permission:assign` / `admin:permission:revoke` 已移除。
|
||||
- “按用户直接增删节点”的需求,应通过“角色”承接:
|
||||
- 只影响单个用户:创建专用角色 → 给该角色分配节点 → 将角色分配给该用户。
|
||||
- 影响一批用户:维护共享角色 → 给该角色增删节点 → 所有拥有该角色的用户一起生效。
|
||||
权限节点的增删统一通过"角色"承接,不直接对单个用户操作:
|
||||
|
||||
- 只影响单个用户:创建专用角色 → 给该角色分配节点 → 将角色分配给该用户
|
||||
- 影响一批用户:维护共享角色 → 给该角色增删节点 → 所有拥有该角色的用户一起生效
|
||||
|
||||
## 常见坑位
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ description: "指导使用 Scheme 与 CURD 的标准开发流程。需要新增/
|
||||
- CURD 生成前,Scheme 与数据库表结构必须完全一致,否则会被拒绝。
|
||||
- 业务 Scheme 代码统一放在 `app/admin/scheme/`。
|
||||
- 表结构设计遵循项目数据库规范:表名小写下划线、字段注释完整、避免 ENUM。
|
||||
- CURD 命令中的 `{table}` 参数应为**不含前缀的下划线**格式(例如:数据库表 `ul_user_profile` 对应的参数为 `user_profile`)。
|
||||
- CURD 命令中的 `{table}` 参数**推荐使用不含前缀的下划线**格式(例如:数据库表 `ul_user_profile` 对应参数 `user_profile`),与 `scheme:make` 输出保持一致;带前缀的表名也支持,但生成的代码中可能出现前缀,需手动核对。
|
||||
- CURD 生成的页面脚本(`index.js` / `add.js` / `edit.js` / `read.js` / `_common.js`)默认与视图文件放在同一目录:`app/admin/view/<模块路径>/`,不提供“输出到其他 JS 目录”的配置项。
|
||||
- 一旦你开始在生成代码上做业务改造,就应默认“正式目录不可被覆盖”,后续结构变更需要走“临时生成 + 按需合并”。
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ class YourClassName extends BaseScheme
|
||||
- `table`: 关联表名。
|
||||
- `relationBindSelect`: 显示的字段名。
|
||||
- `primaryKey`: 关联表主键(可选)。
|
||||
- `onlyFields`: 列表页显示的字段(可选,用 `|` 分隔)。
|
||||
- `onlyFileds`: 列表页显示的字段(可选,用 `|` 分隔)。**注意:键名是 `onlyFileds`(而非 `onlyFields`),需与 `extend/base/common/command/CurdBase.php` 解析逻辑保持一致;写错键名会导致列表字段配置静默失效。**
|
||||
- `table`: 表格选择器。`options` 需包含:
|
||||
- `table`: 关联表名。
|
||||
- `type`: 选择模式 (`checkbox`/`radio`)。
|
||||
|
||||
@@ -117,13 +117,16 @@ Skills 是"按场景调用的工作流说明",统一以 `.agents/skills/*/SKIL
|
||||
- Scheme 定义指南:[ulthon-scheme-definition](./.agents/skills/ulthon-scheme-definition/SKILL.md)
|
||||
- 数据库调试命令(tools:db):[ulthon-db-tools-debug](./.agents/skills/ulthon-db-tools-debug/SKILL.md)
|
||||
- HTTP 调用工具(tools:http:call):[ulthon-tools-http-call](./.agents/skills/ulthon-tools-http-call/SKILL.md)
|
||||
- 日志命令(tools:log):[ulthon-tools-log](./.agents/skills/ulthon-tools-log/SKILL.md)
|
||||
- 内置定时器与定时任务扩展:[ulthon-timer](./.agents/skills/ulthon-timer/SKILL.md)
|
||||
- 页面 / 接口同体:[ulthon-page-api-dual-mode](./.agents/skills/ulthon-page-api-dual-mode/SKILL.md)
|
||||
- 登录认证(Session + Token):[ulthon-auth-session-token](./.agents/skills/ulthon-auth-session-token/SKILL.md)
|
||||
- 权限与角色管理(RBAC CLI):[ulthon-permission-cli](./.agents/skills/ulthon-permission-cli/SKILL.md)
|
||||
- 菜单管理(admin:menu:\* CLI):[ulthon-admin-menu-cli](./.agents/skills/ulthon-admin-menu-cli/SKILL.md)
|
||||
- 测试工作流(运行/编写/决策/回归保护):[ulthon-testing](./.agents/skills/ulthon-testing/SKILL.md)
|
||||
- 框架更新工作流(admin:update 同步上游):[ulthon-update-workflow](./.agents/skills/ulthon-update-workflow/SKILL.md)
|
||||
- 零散规则管理(新增/维护 `.agents/rules/`):[ulthon-rules-manager](./.agents/skills/ulthon-rules-manager/SKILL.md)
|
||||
|
||||
> 日志查看走通用命令 `php think tools:log:show`,详见 [快速命令参考](#快速命令参考)。
|
||||
|
||||
## 智能体指导
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ php think admin:update
|
||||
|
||||
* 官方网站:[http://admin.demo.ulthon.com](http://admin.demo.ulthon.com)
|
||||
|
||||
* 文档地址:[http://doc.ulthon.com/home/read/ulthon_admin/home.html](http://doc.ulthon.com/home/read/ulthon_admin/home.html)
|
||||
* 文档地址:[https://doc.ulthon.com/read/augushong/ulthon_admin/home/zh-cn/2.x.html](https://doc.ulthon.com/read/augushong/ulthon_admin/home/zh-cn/2.x.html)
|
||||
|
||||
* 演示地址:[http://admin.demo.ulthon.com/admin](http://admin.demo.ulthon.com/admin)(账号:admin,密码:123456。备注:只有查看信息的权限)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user