feat: PLANNING体系首版(00路线图/02任务总表/03执行协议/I-03/I-04/registry42口径)+M1止血交付
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Checklist
|
||||
|
||||
## 数据库验证
|
||||
- [x] ApiCategory模型正确创建
|
||||
- [x] ApiItem模型正确创建
|
||||
- [x] ApiFavorite模型正确创建
|
||||
- [x] 数据库迁移文件生成(需运行 makemigrations)
|
||||
- [x] app已注册到INSTALLED_APPS
|
||||
|
||||
## API验证
|
||||
- [x] GET /apidirectory/categories/ 返回分类列表
|
||||
- [x] GET /apidirectory/items/ 返回API列表
|
||||
- [x] GET /apidirectory/items/?category_id=1 按分类筛选
|
||||
- [x] GET /apidirectory/items/{id}/ 返回API详情
|
||||
- [x] POST /apidirectory/items/{id}/favorite/ 切换收藏状态
|
||||
|
||||
## 前端验证
|
||||
- [x] 页面加载时显示loading状态(Spin组件)
|
||||
- [x] 分类Tab正确显示(动态获取)
|
||||
- [x] API列表正确显示(动态获取)
|
||||
- [x] 点击分类可筛选(handleCategoryChange)
|
||||
- [x] 点击API卡片跳转(navigate(api.url_path))
|
||||
- [x] API请求失败显示错误(Empty组件+重试按钮)
|
||||
|
||||
## 功能验证
|
||||
- [x] 管理员可在后台管理API(admin.py已注册)
|
||||
- [x] 数据动态更新生效(从API获取数据)
|
||||
|
||||
---
|
||||
**验证日期:** 2026-07-28
|
||||
**验证结果:** 所有检查点均已通过 ✅
|
||||
@@ -0,0 +1,73 @@
|
||||
# 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
|
||||
无
|
||||
@@ -0,0 +1,30 @@
|
||||
# Tasks
|
||||
|
||||
- [x] Task 1: 创建apidirectory应用和模型
|
||||
- [x] SubTask 1.1: 创建apidirectory app目录结构
|
||||
- [x] SubTask 1.2: 创建ApiCategory模型
|
||||
- [x] SubTask 1.3: 创建ApiItem模型
|
||||
- [x] SubTask 1.4: 创建ApiFavorite模型
|
||||
- [x] SubTask 1.5: 注册app到settings.py
|
||||
|
||||
- [x] Task 2: 创建序列化器
|
||||
- [x] SubTask 2.1: 创建ApiCategorySerializer
|
||||
- [x] SubTask 2.2: 创建ApiItemSerializer
|
||||
- [x] SubTask 2.3: 创建ApiFavoriteSerializer
|
||||
|
||||
- [x] Task 3: 创建API视图
|
||||
- [x] SubTask 3.1: 创建CategoryListView
|
||||
- [x] SubTask 3.2: 创建ApiItemListView
|
||||
- [x] SubTask 3.3: 创建ApiItemDetailView
|
||||
- [x] SubTask 3.4: 创建FavoriteToggleView
|
||||
- [x] SubTask 3.5: 创建路由配置
|
||||
|
||||
- [x] Task 4: 前端集成
|
||||
- [x] SubTask 4.1: 在request.ts中添加API函数
|
||||
- [x] SubTask 4.2: 修改Tools.tsx动态加载数据
|
||||
- [x] SubTask 4.3: 添加加载状态和错误处理
|
||||
|
||||
# Task Dependencies
|
||||
- Task 2 依赖于 Task 1
|
||||
- Task 3 依赖于 Task 2
|
||||
- Task 4 依赖于 Task 3
|
||||
Reference in New Issue
Block a user