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
+31
View File
@@ -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
**验证结果:** 所有检查点均已通过 ✅
+73
View File
@@ -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
无
+30
View File
@@ -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