3.4 KiB
3.4 KiB
图像验证码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
无移除的功能。