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

