Files
vscode-workbench/.trae/specs/api-directory-db/spec.md
T

74 lines
2.4 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.
# API接口大全数据库 Spec
## Why
当前"API接口大全"页面的数据是硬编码在组件中的静态数据,无法通过后台动态管理。需要创建数据库表和API接口来实现动态配置。
## What Changes
- 创建新的Django app `apidirectory`
- 创建数据库模型:ApiCategory(分类)、ApiItem(API接口)、ApiFavorite(收藏)
- 创建序列化器和API视图
- 修改前端Tools.tsx从API动态获取数据
## Impact
- Affected specs: API接口大全页面
- Affected code:
- 新增: `chunyu_project/apidirectory/` (整个新app)
- `chunyu_project/apidirectory/models.py`
- `chunyu_project/apidirectory/serializers.py`
- `chunyu_project/apidirectory/views.py`
- `chunyu_project/apidirectory/urls.py`
- `chunyu_project/chunyu_project/urls.py` (添加路由)
- `chunyu_project/chunyu_project/settings.py` (注册app)
- `chunyu_project_react/src/utils/request.ts` (添加API函数)
- `chunyu_project_react/src/pages/Tools/Tools.tsx` (改为动态加载)
## ADDED Requirements
### Requirement: API分类管理
系统SHALL提供API分类的增删改查功能。
#### Scenario: 获取分类列表
- **WHEN** 调用 GET /apidirectory/categories/
- **THEN** 返回所有分类及其关联的API数量
### Requirement: API接口管理
系统SHALL提供API接口的增删改查功能。
#### Scenario: 获取API列表
- **WHEN** 调用 GET /apidirectory/items/
- **THEN** 返回API列表,支持分类筛选、搜索、排序
#### Scenario: 获取API详情
- **WHEN** 调用 GET /apidirectory/items/{id}/
- **THEN** 返回单个API的详细信息
### Requirement: API收藏功能
系统SHALL支持用户收藏API接口。
#### Scenario: 收藏API
- **WHEN** 已登录用户 POST /apidirectory/items/{id}/favorite/
- **THEN** 切换收藏状态并返回结果
### Requirement: 前端动态加载
系统SHALL从后端API动态获取数据渲染页面。
#### Scenario: 页面加载
- **WHEN** 用户访问API接口大全页面
- **THEN** 显示加载状态,从API获取数据后渲染
## MODIFIED Requirements
### Requirement: Tools.tsx页面
现有的Tools.tsx页面SHALL从静态数据改为动态加载。
#### Scenario: 数据获取
- **WHEN** 页面加载
- **THEN** 调用API获取分类和工具数据
#### Scenario: 分类筛选
- **WHEN** 用户点击分类Tab
- **THEN** 根据分类ID过滤API列表
## REMOVED Requirements
无