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不生效。