Files
ulthon_admin/AGENTS.md
2026-02-01 09:16:38 +08:00

53 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 不应该做的事情
1. 一般而言你不需要直接修改开发环境除了安装composer依赖或其他开发相关的资源。但你不应该自己安装docker、mysql、redis等基础环境这些由开发者提前维护好。
2. 一般而言你不需要修改环境配置文件(如 `.env`),这些由开发者提前维护好,如果你发现错误应当提示开发者完善相关的配置。
3. 你不需要自己运行项目程序,开发者会提前运行好,以便你直接在开发过程中调试。
## 需要遵守的规则
基本规则参考 [CODERULE.md](./CODERULE.md);
更多规则参考在线文档 https://doc.ulthon.com/read/augushong/ulthon_admin/home/zh-cn/2.x.html
## 框架工具
### 数据库操作
项目内置了数据库操作工具,可以直接在命令行中执行数据库操作。命令是:
```bash
php think tools:db:execute
php think tools:db:query
php think tools:db:table
php think tools:db:count
php think tools:db:info
php think tools:db:desc
```
通过 --help 可以查看每个命令的详细说明。
该功能的作用是快捷调试数据库的数据,不要通过这个方式设计表结构,(临时调试修改表结构等可以使用,但要注意还原,关于表结构设计有专门的方案规范)。
### 命令行交互
所有命令行工具均支持使用 `--force-force` (简写 `-ff`) 全局参数来跳过交互确认。
### 理解和设计表结构
项目内置SCHEME机制参考 [CODERULE.md](./CODEGUIDE.md)的 Scheme 机制 部分。通过scheme可以获得所有表结构也可以用于设计数据库结构。
### 开发流程
项目内置CURD机制基本流程在[CODERULE.md](./CODERULE.md)的 CURD 部分,详细说明需要查看在线文档。
### 页面接口同体机制
系统支持页面和接口同体,即同一个控制器方法既可以返回 HTML 页面,也可以返回 JSON 接口数据。
- **触发方式**在请求头Header中设置 `Accept` 包含 `application/json`
- **认证方式**:支持在 Header 中传入 `Authorization: Bearer tokenContent` 进行接口认证。
- **实现要求**:控制器方法必须调用 `$this->fetch()` 而非 `View::fetch()`
- **数据输出**
- 无论是 `$this->assign()` 还是 `View::assign()` 的数据都会被转换为 JSON。
- 如果不希望某个数据出现在 JSON 中,可以使用 `$this->assign('name', 'value', -1)`(第三个参数设为 -1
- **特殊处理**`index` 方法GET方式默认返回分页数据。若需获取 `assign` 的数据,需在 URL 中添加参数 `get_page_data=1`
- **生效范围**仅在控制器模式Controller Mode中生效路由模式Route Mode不生效。