VWED_server/.cursor/rules/api-routes.mdc

144 lines
4.2 KiB
Plaintext
Raw Normal View History

2025-04-30 16:57:46 +08:00
---
description:
globs:
alwaysApply: false
---
# VWED任务模块 - API接口
## API接口概述
VWED任务模块使用FastAPI框架实现RESTful API接口提供任务管理、任务编辑、任务执行、模板管理和脚本管理等功能。
## 主要API路由
### 任务管理API
任务管理API提供任务的基本CRUD操作和执行控制。
**相关文件**: [routes/task_api.py](mdc:routes/task_api.py)
**主要接口**:
- `GET /api/tasks`: 获取任务列表
- `GET /api/tasks/{task_id}`: 获取任务详情
- `POST /api/tasks`: 创建新任务
- `PUT /api/tasks/{task_id}`: 更新任务信息
- `DELETE /api/tasks/{task_id}`: 删除任务
- `POST /api/tasks/{task_id}/execute`: 执行任务
- `GET /api/tasks/{task_id}/status`: 获取任务执行状态
- `POST /api/tasks/{task_id}/cancel`: 取消正在执行的任务
### 任务编辑API
任务编辑API提供任务流程和组件的编辑功能支持任务的可视化设计。
**相关文件**: [routes/task_edit_api.py](mdc:routes/task_edit_api.py)
**主要接口**:
- `GET /api/task-edit/{task_id}/blocks`: 获取任务的所有块
- `POST /api/task-edit/{task_id}/blocks`: 添加新块
- `PUT /api/task-edit/{task_id}/blocks/{block_id}`: 更新块信息
- `DELETE /api/task-edit/{task_id}/blocks/{block_id}`: 删除块
- `POST /api/task-edit/{task_id}/connections`: 创建块之间的连接
- `DELETE /api/task-edit/{task_id}/connections/{connection_id}`: 删除连接
- `POST /api/task-edit/{task_id}/validate`: 验证任务流程
### 模板管理API
模板管理API提供任务模板的管理功能用户可以基于模板快速创建任务。
**相关文件**: [routes/template_api.py](mdc:routes/template_api.py)
**主要接口**:
- `GET /api/templates`: 获取模板列表
- `GET /api/templates/{template_id}`: 获取模板详情
- `POST /api/templates`: 创建新模板
- `PUT /api/templates/{template_id}`: 更新模板信息
- `DELETE /api/templates/{template_id}`: 删除模板
- `POST /api/templates/{template_id}/create-task`: 基于模板创建任务
### 脚本管理API
脚本管理API提供自定义脚本的管理功能支持在任务中执行自定义脚本。
**相关文件**: [routes/script_api.py](mdc:routes/script_api.py)
**主要接口**:
- `GET /api/scripts`: 获取脚本列表
- `GET /api/scripts/{script_id}`: 获取脚本详情
- `POST /api/scripts`: 创建新脚本
- `PUT /api/scripts/{script_id}`: 更新脚本信息
- `DELETE /api/scripts/{script_id}`: 删除脚本
- `POST /api/scripts/{script_id}/test`: 测试执行脚本
### 数据库操作API
数据库操作API提供直接操作数据库的接口主要用于调试和管理目的。
**相关文件**: [routes/database.py](mdc:routes/database.py)
**主要接口**:
- `GET /api/db/tables`: 获取数据库表列表
- `GET /api/db/tables/{table_name}`: 获取表结构
- `GET /api/db/execute`: 执行SQL查询
### 通用API
通用API提供系统级功能如健康检查、版本信息等。
**相关文件**: [routes/common_api.py](mdc:routes/common_api.py)
**主要接口**:
- `GET /api/health`: 系统健康检查
- `GET /api/version`: 获取系统版本信息
- `GET /api/components`: 获取预设组件列表
## API响应格式
所有API接口返回统一的JSON格式:
```json
{
"code": 200, // 状态码
"message": "成功", // 状态消息
"data": { // 响应数据
// 具体数据内容
}
}
```
## 错误处理
系统实现了统一的错误处理机制将所有异常转换为标准格式的JSON响应:
```json
{
"code": 400, // 错误状态码
"message": "参数错误", // 错误消息
"data": { // 错误详情
"field": "name",
"message": "名称不能为空"
}
}
```
## 中间件
系统实现了多个中间件提供日志记录、CORS支持和异常处理等功能:
```python
# 添加CORS中间件
app.add_middleware(
CORSMiddleware,
allow_origins=settings.CORS_ORIGINS,
allow_credentials=settings.CORS_ALLOW_CREDENTIALS,
allow_methods=settings.CORS_ALLOW_METHODS,
allow_headers=settings.CORS_ALLOW_HEADERS,
)
# 请求日志中间件
@app.middleware("http")
async def log_requests(request: Request, call_next):
"""记录请求日志的中间件"""
# 实现细节