144 lines
4.2 KiB
Plaintext
144 lines
4.2 KiB
Plaintext
---
|
||
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):
|
||
"""记录请求日志的中间件"""
|
||
# 实现细节
|
||
|