358 lines
8.2 KiB
Markdown
358 lines
8.2 KiB
Markdown
### 1. 获取天风任务列表
|
||
|
||
#### 接口描述
|
||
获取系统中所有任务的列表信息,支持分页查询、条件筛选和排序。
|
||
|
||
#### 请求方式
|
||
- **HTTP方法**: GET
|
||
- **接口路径**: `/api/vwed-task/list`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 描述 |
|
||
|-------|------|-----|------|
|
||
| pageNum | Integer | 否 | 页码,默认为1 |
|
||
| pageSize | Integer | 否 | 每页记录数,默认为10 |
|
||
| keyword | String | 否 | 关键字搜索(任务名称) |
|
||
| status | Integer | 否 | 任务状态筛选 |
|
||
| sortField | String | 否 | 排序字段 |
|
||
| sortOrder | String | 否 | 排序方式:asc(升序)、desc(降序) |
|
||
|
||
#### 响应参数
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"total": 3,
|
||
"list": [
|
||
{
|
||
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
|
||
"label": "test1",
|
||
"version": 19,
|
||
"templateName": "userTemplate",
|
||
"periodicTask": false,
|
||
"ifEnable": 0,
|
||
"status": 0,
|
||
"createDate": "2023-05-10 14:30:22",
|
||
"remark": "备注信息"
|
||
},
|
||
{
|
||
"id": "734749d1-0fdf-4a06-9fb7-8f991953d5e5",
|
||
"label": "test",
|
||
"version": 3,
|
||
"templateName": "userTemplate",
|
||
"periodicTask": true,
|
||
"ifEnable": 1,
|
||
"status": 0,
|
||
"createDate": "2023-05-15 09:45:18",
|
||
"remark": "定时任务"
|
||
},
|
||
{
|
||
"id": "7c6aac36-652b-4314-9433-f5788e9e7adb",
|
||
"label": "test1-备份",
|
||
"version": 1,
|
||
"templateName": "userTemplate",
|
||
"periodicTask": false,
|
||
"ifEnable": 0,
|
||
"status": 0,
|
||
"createDate": "2023-05-16 11:22:36",
|
||
"remark": "备份1"
|
||
}
|
||
],
|
||
"pageNum": 1,
|
||
"pageSize": 10,
|
||
"totalPages": 1
|
||
}
|
||
}
|
||
```
|
||
|
||
### 2. 创建任务
|
||
|
||
#### 接口描述
|
||
创建一个新任务,设置任务的基本信息。创建任务时只需提供任务名称和任务类型两个必填项。系统会自动将新建任务与当前已激活的模板进行关联,系统中有且只有一个处于激活状态的模板。
|
||
|
||
#### 请求方式
|
||
- **HTTP方法**: POST
|
||
- **接口路径**: `/api/vwed-task/create`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 描述 |
|
||
|-------|------|-----|------|
|
||
| label | String | 是 | 任务名称 |
|
||
| taskType | Integer | 是 | 任务类型:1-普通任务,2-定时任务 |
|
||
| mapId | Integer | 是 | 相关地图ID|
|
||
| remark | String | 否 | 任务备注 |
|
||
| period | Integer | 否 | 周期时间(毫秒) |
|
||
| delay | Integer | 否 | 延迟时间(毫秒),默认3000 |
|
||
| releaseSites | Boolean | 否 | 是否释放站点,默认true |
|
||
| token | String | 否 | 用户token值,用于认证 |
|
||
| tenantId | String | 否 | 租户ID,用于多租户隔离,默认为"default" |
|
||
|
||
#### 请求示例
|
||
|
||
```json
|
||
{
|
||
"label": "新任务",
|
||
"taskType": 1,
|
||
"remark": "测试用任务",
|
||
"token": "user_authentication_token",
|
||
"tenantId": "tenant1"
|
||
}
|
||
```
|
||
|
||
#### 响应参数
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
|
||
"label": "新任务",
|
||
"version": 1,
|
||
"templateName": "userTemplate",
|
||
"periodicTask": false,
|
||
"status": 0,
|
||
"createDate": "2023-05-10 14:30:22"
|
||
}
|
||
}
|
||
|
||
### 3. 删除任务
|
||
|
||
#### 接口描述
|
||
删除指定的一个或多个任务。
|
||
|
||
#### 请求方式
|
||
- **HTTP方法**: DELETE
|
||
- **接口路径**: `/api/vwed-task/delete`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 描述 |
|
||
|-------|------|-----|------|
|
||
| ids | Array | 是 | 要删除的任务ID数组 |
|
||
|
||
#### 请求示例
|
||
|
||
```json
|
||
{
|
||
"ids": ["193f8412-fa0d-4b6d-9648-70bceacd6629", "734749d1-0fdf-4a06-9fb7-8f991953d5e5"]
|
||
}
|
||
```
|
||
|
||
#### 响应参数
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "删除成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
|
||
### 5. 批量导出任务
|
||
|
||
#### 接口描述
|
||
导出多个指定任务的配置,返回加密的专有格式文件(.vtex)。导出时会自动去除ID、创建时间、更新时间、版本和删除标记等系统相关字段,仅保留任务的功能性配置数据。
|
||
|
||
#### 请求方式
|
||
- **HTTP方法**: POST
|
||
- **接口路径**: `/api/vwed-task/export-batch`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 描述 |
|
||
|-------|------|-----|------|
|
||
| ids | Array | 是 | 要导出的任务ID数组 |
|
||
|
||
#### 请求示例
|
||
|
||
```json
|
||
{
|
||
"ids": ["193f8412-fa0d-4b6d-9648-70bceacd6629", "734749d1-0fdf-4a06-9fb7-8f991953d5e5"]
|
||
}
|
||
```
|
||
|
||
#### 响应参数
|
||
文件下载响应,Content-Type为application/octet-stream,文件为加密的二进制格式(.vtex),包含以下自动去除系统相关字段的任务定义信息:
|
||
- 已移除:id, created_at, updated_at, version, deleted 等系统字段
|
||
- 保留:label(任务名称), detail(任务详情), period(周期时间), delay(延迟时间)等功能性字段
|
||
|
||
#### 响应头信息
|
||
```
|
||
Content-Disposition: attachment; filename=tasks_export_2.vtex
|
||
Content-Type: application/octet-stream
|
||
X-Content-Type-Options: nosniff
|
||
```
|
||
|
||
### 7. 导入任务
|
||
|
||
#### 接口描述
|
||
通过导入任务配置文件(.vtex)创建新任务。支持批量导入多个任务,系统会自动为每个任务生成唯一的名称以避免冲突。
|
||
|
||
#### 请求方式
|
||
- **HTTP方法**: POST
|
||
- **接口路径**: `/api/vwed-task/import`
|
||
- **Content-Type**: multipart/form-data
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 描述 |
|
||
|-------|------|-----|------|
|
||
| file | File | 是 | 任务配置文件,加密的专有格式(.vtex) |
|
||
| token | String | 否 | 用户token值,用于认证 |
|
||
| tenantId | String | 否 | 租户ID,用于多租户隔离,默认为"default" |
|
||
|
||
#### 响应参数
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "成功导入 2 个任务",
|
||
"data": {
|
||
"success_count": 2,
|
||
"failed_count": 0,
|
||
"failed_tasks": [],
|
||
"imported_tasks": [
|
||
{
|
||
"id": "193f8412-fa0d-4b6d-9648-70bceacd6631",
|
||
"name": "任务1-备份-16487239871234",
|
||
"original_name": "任务1"
|
||
},
|
||
{
|
||
"id": "734749d1-0fdf-4a06-9fb7-8f991953d5e6",
|
||
"name": "任务2-备份-16487239875678",
|
||
"original_name": "任务2"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 部分导入成功响应示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "部分导入成功: 成功 1 个, 失败 1 个",
|
||
"data": {
|
||
"success_count": 1,
|
||
"failed_count": 1,
|
||
"failed_tasks": [
|
||
{
|
||
"index": 1,
|
||
"name": "任务2",
|
||
"reason": "任务数据不完整"
|
||
}
|
||
],
|
||
"imported_tasks": [
|
||
{
|
||
"id": "193f8412-fa0d-4b6d-9648-70bceacd6631",
|
||
"name": "任务1-备份-16487239871234",
|
||
"original_name": "任务1"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 导入失败响应示例
|
||
|
||
```json
|
||
{
|
||
"code": 400,
|
||
"message": "解析任务数据失败: 文件格式无效或已损坏",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
### 8. 获取单个任务详情
|
||
|
||
#### 接口描述
|
||
获取指定任务的详细信息,包括任务的基本信息、配置参数和详细定义。
|
||
|
||
#### 请求方式
|
||
- **HTTP方法**: GET
|
||
- **接口路径**: `/api/vwed-task/{task_id}`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 描述 |
|
||
|-------|------|-----|------|
|
||
| task_id | String | 是 | 任务ID,路径参数 |
|
||
|
||
#### 响应参数
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
|
||
"label": "test1",
|
||
"version": 19,
|
||
"detail": {
|
||
"inputParams": [
|
||
{
|
||
"name": "from",
|
||
"type": "String",
|
||
"label": "起点",
|
||
"required": false,
|
||
"defaultValue": "",
|
||
"remark": "起始位置"
|
||
},
|
||
{
|
||
"name": "to",
|
||
"type": "String",
|
||
"label": "终点",
|
||
"required": true,
|
||
"defaultValue": "",
|
||
"remark": "目标位置"
|
||
}
|
||
],
|
||
"outputParams": [],
|
||
"rootBlock": {
|
||
"id": -1,
|
||
"name": "-1",
|
||
"blockType": "RootBp",
|
||
"inputParams": {},
|
||
"children": {}
|
||
}
|
||
},
|
||
"templateName": "userTemplate",
|
||
"period": 3000,
|
||
"periodicTask": false,
|
||
"status": 0,
|
||
"ifEnable": 0,
|
||
"delay": 3000,
|
||
"releaseSites": true,
|
||
"createDate": "2023-05-10 14:30:22",
|
||
"remark": "测试任务"
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 错误响应
|
||
|
||
```json
|
||
{
|
||
"code": 404,
|
||
"message": "任务不存在",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
或
|
||
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"message": "获取任务详情失败: 内部服务器错误",
|
||
"data": null
|
||
}
|
||
```
|