docs: 补充页面接口同体机制说明

This commit is contained in:
augushong
2026-02-01 09:16:38 +08:00
parent b6b690edb3
commit 51c60134c0

View File

@@ -37,3 +37,16 @@ php think tools:db:desc
### 开发流程
项目内置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)不生效。