feat: PLANNING体系首版(00路线图/02任务总表/03执行协议/I-03/I-04/registry42口径)+M1止血交付

This commit is contained in:
2026-09-12 14:25:25 +08:00
commit 39af400fc8
472 changed files with 36277 additions and 0 deletions
+81
View File
@@ -0,0 +1,81 @@
# 图像验证码API详情页 Spec
## Why
当前API接口大全(`/api`)中的"图片验证码"API尚未实现前端详情页。现有的 `ApiDetail.tsx` 是静态页面,仅支持硬编码的天气API和IP定位API,无法动态展示其他API的文档和测试功能。需要实现一个通用的API详情页,支持动态加载后端API目录中的任意API信息,包括图像验证码API。
## What Changes
### 前端变更
- 重构 `ApiDetail.tsx` 为通用组件,通过API ID或路径动态加载API信息
- 新增API详情页路由 `/api-detail/:id`,支持从API列表页点击进入
- 实现API文档展示:接口描述、请求参数表、响应示例、错误码说明
- 实现在线测试功能:支持GET/POST请求,显示响应状态、耗时、响应体
- 添加收藏功能,已登录用户可收藏/取消收藏API
- 添加使用次数统计展示
- 支持暗色模式样式
### 路由变更
- 新增路由 `/api-detail/:id` → 通用API详情页
- API列表页(Tools.tsx)点击卡片时跳转到 `/api-detail/:id`
### 数据变更
- 复用现有 `apidirectory` 后端接口获取API详情
- 无需新增数据库表
## Impact
- Affected specs: `real-time-weather-api`, `ip-location-api`, `air-quality-api`(参考其模式)
- Affected code:
- `chunyu_project_react/src/pages/ApiDetail/ApiDetail.tsx`(重构为通用组件)
- `chunyu_project_react/src/pages/ApiDetail/ApiDetail.css`(样式更新)
- `chunyu_project_react/src/pages/Tools/Tools.tsx`(修改点击跳转逻辑)
- `chunyu_project_react/src/App.tsx`(新增路由)
- `chunyu_project_react/src/locales/*.json`(添加翻译键)
## ADDED Requirements
### Requirement: 通用API详情页
系统SHALL提供一个通用的API详情页,能够根据API ID动态加载并展示任意API的文档和测试功能。
#### Scenario: 从API列表进入详情页
- **WHEN** 用户在API列表页(`/api`)点击某个API卡片
- **THEN** 页面跳转到 `/api-detail/:id`,显示该API的详情信息
#### Scenario: 动态加载API信息
- **WHEN** 用户访问 `/api-detail/:id`
- **THEN** 系统通过 `api_request.apidirectory.getItemDetail(id)` 获取API信息并展示
#### Scenario: API文档展示
- **WHEN** 用户切换到"文档"标签
- **THEN** 显示接口名称、请求方法、URL路径、接口描述、请求参数表、响应示例、错误码说明
#### Scenario: 在线测试功能
- **WHEN** 用户在"测试"标签中配置请求参数并点击发送
- **THEN** 系统向API发起真实请求,显示响应状态码、响应时间、响应体
#### Scenario: 收藏功能
- **WHEN** 已登录用户点击收藏按钮
- **THEN** 调用收藏API,按钮状态更新为"已收藏",收藏数+1
#### Scenario: 未登录用户点击收藏
- **WHEN** 未登录用户点击收藏按钮
- **THEN** 弹出登录弹窗
## MODIFIED Requirements
### Requirement: API列表页跳转逻辑
API列表页的卡片点击SHALL跳转到通用详情页 `/api-detail/:id`。
#### Scenario: 卡片点击跳转
- **WHEN** 用户点击API列表中的某个API卡片
- **THEN** 页面跳转到 `/api-detail/:id`(id为该API的数据库ID)
### Requirement: 路由注册
App.tsx SHALL注册 `/api-detail/:id` 路由指向通用API详情页。
#### Scenario: 路由匹配
- **WHEN** 用户访问 `/api-detail/1`
- **THEN** 显示ID为1的API详情页
## REMOVED Requirements
无移除的功能。