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