4.2 KiB
4.2 KiB
API 接口文档
基础信息
- 基础 URL:
http://localhost:3000/api - 认证方式: JWT Bearer Token
- 数据格式: JSON
认证
登录
POST /api/auth/login
Content-Type: application/json
{
"username": "admin",
"password": "admin123"
}
响应:
{
"code": 200,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"username": "admin"
}
}
}
后续请求需在 Header 中携带:
Authorization: Bearer <token>
实例管理
获取所有实例列表
GET /api/instances
Authorization: Bearer <token>
响应:
{
"code": 200,
"data": [
{
"id": "127.0.0.1:8001",
"serverId": "server-1",
"serverName": "主服务器",
"ip": "127.0.0.1",
"port": 8001,
"enabled": true,
"alive": true,
"busy": false,
"lastHeartbeat": "2024-01-01T00:00:00.000Z"
}
]
}
获取单个实例详情
GET /api/instances/:instanceId
Authorization: Bearer <token>
启用/禁用实例
PUT /api/instances/:instanceId
Authorization: Bearer <token>
Content-Type: application/json
{
"enabled": false
}
任务管理
获取任务列表
GET /api/tasks?status=pending&limit=20&offset=0
Authorization: Bearer <token>
查询参数:
status: 任务状态 (pending/running/completed/failed)limit: 分页数量offset: 分页偏移
响应:
{
"code": 200,
"data": {
"total": 100,
"items": [
{
"id": "task-uuid",
"instanceId": "127.0.0.1:8001",
"status": "running",
"progress": 50,
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
}
]
}
}
提交任务
POST /api/tasks
Authorization: Bearer <token>
Content-Type: application/json
{
"workflow": {},
"params": {}
}
获取任务详情
GET /api/tasks/:taskId
Authorization: Bearer <token>
取消任务
DELETE /api/tasks/:taskId
Authorization: Bearer <token>
文件管理
上传文件
POST /api/files/upload
Authorization: Bearer <token>
Content-Type: multipart/form-data
file: [二进制文件]
响应:
{
"code": 200,
"data": {
"fileId": "file-uuid",
"filename": "image.png",
"url": "https://shuzhiren.xueai.art/upload/file/xxx"
}
}
获取文件列表
GET /api/files
Authorization: Bearer <token>
删除文件
DELETE /api/files/:fileId
Authorization: Bearer <token>
配置管理
获取配置
GET /api/config
Authorization: Bearer <token>
更新配置
PUT /api/config
Authorization: Bearer <token>
Content-Type: application/json
{
"servers": [...],
"healthCheck": {
"interval": 30000
}
}
监控
获取监控概览
GET /api/monitor/overview
Authorization: Bearer <token>
响应:
{
"code": 200,
"data": {
"totalInstances": 8,
"aliveInstances": 8,
"busyInstances": 2,
"pendingTasks": 5,
"runningTasks": 2,
"completedTasks": 100
}
}
WebSocket 消息协议
连接
ws://localhost:3000/ws
消息格式
所有消息遵循以下格式:
{
"type": "message_type",
"timestamp": 1704067200000,
"data": {},
"requestId": "optional-uuid"
}
服务器 → 客户端 消息类型
| type | 说明 |
|---|---|
instance_status |
实例状态变更 |
task_progress |
任务进度更新 |
task_completed |
任务完成 |
task_failed |
任务失败 |
global_status |
全局状态同步 |
实例状态变更消息
{
"type": "instance_status",
"data": {
"instanceId": "127.0.0.1:8001",
"alive": true,
"busy": false
}
}
任务进度消息
{
"type": "task_progress",
"data": {
"taskId": "task-uuid",
"progress": 50
}
}
任务完成消息
{
"type": "task_completed",
"data": {
"taskId": "task-uuid",
"result": {
"files": ["https://..."]
}
}
}
健康检查
GET /api/health
响应:
{
"code": 200,
"data": {
"status": "ok",
"redis": "connected"
}
}