34 KiB
任务编辑接口文档
三、任务编辑模块接口
1. 获取块数据
接口描述
获取系统中所有可用的块数据,包括各类组件类型及其对应的组件列表,用于任务编辑页面左侧的组件面板显示。
请求方式
- HTTP方法: GET
- 接口路径:
/api/vwed-task-edit/block
请求参数
无
响应参数
{
"code": 200,
"msg": "Success",
"data": [
{
"label": "脚本",
"order": 0,
"blocks": [
{
"type": "All",
"name": "ScriptBp",
"label": "运行脚本",
"description": "",
"inputParams": [
{
"name": "functionName",
"type": "String",
"label": "函数名",
"description": "",
"required": true,
"defaultValue": null,
"options": []
},
{
"name": "functionArgs",
"type": "Any",
"label": "函数参数",
"description": "",
"required": false,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
},
{
"type": "All",
"name": "SetTaskVariablesBp",
"label": "设置任务变量",
"description": "",
"inputParams": [
{
"name": "script",
"type": "String",
"label": "脚本代码",
"description": "",
"required": true,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
},
{
"label": "HTTP请求",
"order": 1,
"blocks": [
{
"type": "All",
"name": "HttpGetBp",
"label": "HTTP GET请求",
"description": "",
"inputParams": [
{
"name": "url",
"type": "String",
"label": "请求URL",
"description": "",
"required": true,
"defaultValue": null,
"options": []
},
{
"name": "headers",
"type": "Object",
"label": "请求头",
"description": "",
"required": false,
"defaultValue": {},
"options": []
},
{
"name": "timeout",
"type": "Number",
"label": "超时时间(ms)",
"description": "",
"required": false,
"defaultValue": 30000,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
},
{
"type": "All",
"name": "HttpPostBp",
"label": "HTTP POST请求",
"description": "",
"inputParams": [
{
"name": "url",
"type": "String",
"label": "请求URL",
"description": "",
"required": true,
"defaultValue": null,
"options": []
},
{
"name": "data",
"type": "Object",
"label": "请求数据",
"description": "",
"required": false,
"defaultValue": {},
"options": []
},
{
"name": "headers",
"type": "Object",
"label": "请求头",
"description": "",
"required": false,
"defaultValue": {},
"options": []
},
{
"name": "contentType",
"type": "String",
"label": "内容类型",
"description": "",
"required": false,
"defaultValue": "application/json",
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
},
{
"label": "任务",
"order": 2,
"blocks": [
{
"type": "All",
"name": "PrintBp",
"label": "打印",
"description": "",
"inputParams": [
{
"name": "message",
"type": "String",
"label": "消息内容",
"description": "",
"required": true,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
},
{
"label": "流程",
"order": 3,
"blocks": [
{
"type": "All",
"name": "IfBp",
"label": "条件判断",
"description": "",
"inputParams": [
{
"name": "condition",
"type": "Expression",
"label": "条件表达式",
"description": "",
"required": true,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
},
{
"type": "All",
"name": "WhileBp",
"label": "循环",
"description": "",
"inputParams": [
{
"name": "condition",
"type": "Expression",
"label": "循环条件",
"description": "",
"required": true,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
},
{
"label": "基础",
"order": 4,
"blocks": [
{
"type": "All",
"name": "WaitBp",
"label": "等待",
"description": "",
"inputParams": [
{
"name": "timeout",
"type": "Number",
"label": "等待时间(ms)",
"description": "",
"required": true,
"defaultValue": 1000,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
},
{
"label": "库位",
"order": 5,
"blocks": [
{
"type": "All",
"name": "GetSiteBp",
"label": "获取库位信息",
"description": "",
"inputParams": [
{
"name": "siteId",
"type": "String",
"label": "库位ID",
"description": "",
"required": true,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
},
{
"label": "仿真",
"order": 6,
"blocks": [
{
"type": "All",
"name": "SimulateBp",
"label": "仿真操作",
"description": "",
"inputParams": [
{
"name": "action",
"type": "String",
"label": "仿真动作",
"description": "",
"required": true,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
},
{
"label": "机器人调度",
"order": 7,
"blocks": [
{
"type": "All",
"name": "MoveRobotBp",
"label": "移动机器人",
"description": "",
"inputParams": [
{
"name": "robotId",
"type": "String",
"label": "机器人ID",
"description": "",
"required": true,
"defaultValue": null,
"options": []
},
{
"name": "targetPosition",
"type": "Object",
"label": "目标位置",
"description": "",
"required": true,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
},
{
"label": "设备",
"order": 8,
"blocks": [
{
"type": "All",
"name": "ControlDeviceBp",
"label": "控制设备",
"description": "",
"inputParams": [
{
"name": "deviceId",
"type": "String",
"label": "设备ID",
"description": "",
"required": true,
"defaultValue": null,
"options": []
},
{
"name": "command",
"type": "String",
"label": "控制命令",
"description": "",
"required": true,
"defaultValue": null,
"options": []
}
],
"extraInputParamsFunc": "",
"outputParams": {}
}
]
}
]
}
2. 获取任务源码
接口描述
获取指定任务的源码详情数据,直接返回vwed_taskdef表中的详细定义,用于任务编辑页面加载已有任务的详细配置信息。
请求方式
- HTTP方法: GET
- 接口路径:
/api/vwed-task-edit/source/{id}
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 任务ID,路径参数 |
响应参数
{
"code": 200,
"message": "操作成功",
"data": {
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
"label": "test1",
"version": 3,
"createDate": "2023-05-10 14:30:22",
"modifyDate": "2023-05-10 15:30:22",
"templateName": "userTemplate",
"periodicTask": 0,
"ifEnable": 0,
"status": 0,
"detail": {
"inputParams": [
{
"name": "from",
"type": "String",
"label": "起点",
"remark": "",
"defaultValue": "",
"required": false
},
{
"name": "to",
"type": "String",
"label": "终点",
"remark": "",
"defaultValue": "",
"required": false
}
],
"outputParams": [],
"rootBlock": {
"id": -1,
"name": "-1",
"blockType": "RootBp",
"inputParams": {},
"children": {
"default": [
{
"id": 5,
"name": "b5",
"blockType": "IfBp",
"children": {},
"inputParams": {
"condition": {
"type": "Expression",
"value": "taskInputs.from",
"required": true
}
},
"refTaskDefId": "",
"selected": false,
"expanded": true
},
{
"id": 6,
"name": "b6",
"blockType": "PrintBp",
"children": {},
"inputParams": {
"message": {
"type": "Simple",
"value": "111111"
}
},
"refTaskDefId": "",
"selected": false,
"expanded": true
}
]
},
"selected": false,
"refTaskDefId": "",
"expanded": true
}
}
}
}
错误响应
- 任务不存在时:
{
"code": 404,
"message": "任务不存在"
}
- 系统错误:
{
"code": 500,
"message": "获取任务源码详情失败: [详细错误信息]"
}
3. 保存任务编辑数据
接口描述
保存任务的编辑数据,包括任务的详细定义、输入参数配置、组件配置和连接关系等。
请求方式
- HTTP方法: POST
- 接口路径:
/api/vwed-task-edit/save
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 任务ID |
detail | Object | 是 | 任务详细定义,包含输入参数、根块配置等 |
请求示例
{
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
"label": "test1",
"detail": {
"inputParams": [
{
"name": "from",
"type": "String",
"label": "起点",
"remark": "",
"defaultValue": "",
"required": false
},
{
"name": "to",
"type": "String",
"label": "终点",
"remark": "",
"defaultValue": "",
"required": false
}
],
"outputParams": [],
"rootBlock": {
"id": -1,
"name": "-1",
"blockType": "RootBp",
"inputParams": {},
"children": {
"default": [
{
"id": 5,
"name": "b5",
"blockType": "IfBp",
"children": {},
"inputParams": {
"condition": {
"type": "Expression",
"value": "taskInputs.from",
"required": true
}
},
"refTaskDefId": "",
"selected": false,
"expanded": true
},
{
"id": 6,
"name": "b6",
"blockType": "PrintBp",
"children": {},
"inputParams": {
"message": {
"type": "Simple",
"value": "111111"
}
},
"refTaskDefId": "",
"selected": false,
"expanded": true
}
]
},
"selected": false,
"refTaskDefId": "",
"expanded": true
}
}
}
响应参数
{
"code": 200,
"message": "保存成功",
"data": {
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
"version": 3,
"updateTime": "2023-05-10 15:30:22"
}
}
4. 备份任务
接口描述
创建指定任务的备份副本。系统会从vwed_taskdef表中复制原任务的所有信息(包括任务定义、详细配置、输入参数等),并在同一张表中生成一个新的任务记录。新任务名称默认为原任务名称加上"-备份"后缀,用户可以修改备份名称和添加备注信息。
请求方式
- HTTP方法: POST
- 接口路径:
/api/vwed-task-edit/backup/{id}
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 要备份的任务ID,路径参数 |
backupName | String | 否 | 备份后的任务名称,不提供则默认为"原任务名-备份" |
remark | String | 否 | 备份任务的备注信息 |
请求示例
{
"backupName": "test1-备份",
"remark": "这是一个备份任务"
}
响应参数
{
"code": 200,
"message": "备份成功",
"data": {
"id": "7c6aac36-652b-4314-9433-f5788e9e7adb",
"label": "test1-备份",
"version": 1,
"templateName": "userTemplate",
"periodicTask": 0,
"ifEnable": 0,
"status": 0,
"createDate": "2023-05-16 11:22:36",
"sourceTaskId": "193f8412-fa0d-4b6d-9648-70bceacd6629",
"remark": "这是一个备份任务"
}
}
5. 获取子任务列表
接口描述
获取可以被引用的子任务列表,用于子任务组件的配置。数据来源是vwed_taskdef表中的现有任务定义,任何定义好的任务都可以作为其他任务的子任务使用(除了任务自身)。
请求方式
- HTTP方法: GET
- 接口路径:
/api/vwed-task-edit/subtasks/list
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
page | Integer | 否 | 页码,默认为1 |
pageSize | Integer | 否 | 每页记录数,默认为100 |
keyword | String | 否 | 搜索关键词,用于筛选子任务 |
excludeId | String | 否 | 要排除的任务ID,通常是当前正在编辑的任务ID |
响应参数
{
"code": 200,
"message": "操作成功",
"data": {
"total": 10,
"list": [
{
"id": "231f8412-fa0d-4b6d-9648-70bceacd1111",
"label": "test1",
"version": 3,
"templateName": "userTemplate",
"remark": "测试子任务1",
"createDate": "2023-05-10 14:30:22",
"createdBy": "admin",
"status": 0,
"inputParams": [
{
"name": "from",
"type": "String",
"label": "起点",
"required": false
},
{
"name": "to",
"type": "String",
"label": "终点",
"required": false
}
]
},
{
"id": "231f8412-fa0d-4b6d-9648-70bceacd2222",
"label": "测试_cc",
"version": 2,
"templateName": "userTemplate",
"remark": "测试子任务2",
"createDate": "2023-05-12 10:20:15",
"createdBy": "admin",
"status": 0,
"inputParams": [
{
"name": "agvId",
"type": "String",
"label": "机器人ID",
"required": true
}
]
}
]
}
}
8. 运行任务
接口描述
直接执行指定的任务,并传入任务输入参数,用于在任务编辑页面上直接启动任务。与测试执行不同,此接口将真实运行任务并影响系统数据。如果任务输入参数中有必填字段,则必须在请求中提供对应字段,否则会返回400错误。系统还会检查设备是否有正在运行的相同任务,根据配置决定是否允许重新启动。
请求方式
- HTTP方法: POST
- 接口路径:
/api/vwed-task-edit/run
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
taskId | String | 是 | 要运行的任务ID |
params | Array | 否 | 任务运行参数数组,根据任务定义中的inputParams字段确定 |
source_system | String | 否 | 请求来源系统标识(如:WMS、MES等系统编号) |
source_device | String | 否 | 下达任务的硬件设备标识(设备ID、MAC地址等) |
source_type | Integer | 否 | 来源类型(1: 系统调度, 2: 呼叫机, 3: 第三方系统, 4: 手持电脑) |
TaskInputParamNew参数结构
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
name | String | 是 | 参数名称 |
type | String | 是 | 参数类型(STRING、BOOLEAN、INTEGER、FLOAT、OBJECT、ARRAY) |
label | String | 是 | 参数显示名称 |
required | Boolean | 否 | 是否必填,默认为false |
defaultValue | String | 是 | 默认值 |
remark | String | 否 | 参数说明,默认为空字符串 |
请求示例
{
"taskId": "193f8412-fa0d-4b6d-9648-70bceacd6629",
"params": [
{
"name": "from",
"type": "String",
"label": "起点",
"required": false,
"defaultValue": "WH-01",
"remark": "起始位置"
},
{
"name": "to",
"type": "String",
"label": "终点",
"required": true,
"defaultValue": "PKG-02",
"remark": "目标位置"
}
],
"source_system": "web_editor",
"source_device": "device_001",
"source_type": 1
}
响应参数
{
"code": 200,
"message": "任务启动成功",
"data": {
"taskRecordId": "a52c6b91-de78-4fd2-9d18-5f79ba8e7c1d",
"status": 1001,
"createTime": "2023-05-18 15:20:36"
}
}
错误响应
- 缺少必填参数时:
{
"code": 400,
"message": "缺少必填参数"
}
- 设备已有相同任务运行且不允许重启时:
{
"code": 409,
"message": "相同设备已有此任务正在运行中,请等待任务完成后再次启动"
}
- 任务不存在时:
{
"code": 404,
"message": "任务不存在"
}
- 其他服务器错误:
{
"code": 500,
"message": "任务启动失败"
}
9. 获取任务输入参数配置
接口描述
获取指定任务的输入参数配置信息,用于编辑任务时展示当前任务已配置的输入参数。同时返回任务基本信息和可用的参数类型,方便前端一次性获取所需信息。
请求方式
- HTTP方法: GET
- 接口路径:
/api/vwed-task-edit/input-params/{id}
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 任务ID,路径参数 |
响应参数
{
"code": 200,
"message": "操作成功",
"data": {
"inputParams": [
{
"name": "from",
"type": "String",
"label": "起点",
"required": false,
"defaultValue": "",
"remark": "起始位置"
},
{
"name": "to",
"type": "String",
"label": "终点",
"required": true,
"defaultValue": "",
"remark": "目标位置"
}
],
"taskInfo": {
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
"label": "test1",
"version": 3,
"remark": "测试任务",
"templateName": "userTemplate"
},
"paramTypes": [
{
"code": "STRING",
"label": "字符串",
"description": "文本类型数据"
},
{
"code": "BOOLEAN",
"label": "布尔",
"description": "布尔类型,值为true或false"
},
{
"code": "INTEGER",
"label": "整数",
"description": "整数类型"
},
{
"code": "FLOAT",
"label": "浮点数",
"description": "浮点数类型"
},
{
"code": "OBJECT",
"label": "JSON对象",
"description": "JSON对象类型,如{\"key\":\"value\"}"
},
{
"code": "ARRAY",
"label": "JSON数组",
"description": "JSON数组类型,如[\"item1\",\"item2\"]"
}
]
}
}
10. 保存任务输入参数配置
接口描述
保存指定任务的输入参数配置信息。系统支持根据获取可用输入参数类型接口返回的字段动态配置参数。
请求方式
- HTTP方法: POST
- 接口路径:
/api/vwed-task-edit/input-params/{id}
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 任务ID,路径参数 |
inputParams | Array | 是 | 输入参数配置数组 |
请求示例
{
"inputParams": [
{
"name": "test",
"type": "Number",
"label": "test",
"required": false,
"defaultValue": "",
"remark": ""
},
{
"name": "from",
"type": "String",
"label": "起点",
"required": false,
"defaultValue": "",
"remark": "起始位置"
},
{
"name": "to",
"type": "String",
"label": "终点",
"required": true,
"defaultValue": "",
"remark": "目标位置"
}
]
}
响应参数
{
"code": 200,
"message": "保存成功",
"data": null
}
11. 获取任务基本设置
接口描述
获取任务的基本信息设置,包括任务名称、备注、是否在任务异常结束或终止时解锁库位等配置。
请求方式
- HTTP方法: GET
- 接口路径:
/api/vwed-task-edit/basic-settings/{id}
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 任务ID,路径参数 |
响应参数
{
"code": 200,
"message": "操作成功",
"data": {
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
"label": "test1",
"remark": "测试任务基本设置",
"releaseSites": true,
"version": 3,
"createDate": "2023-05-10 14:30:22"
}
}
12. 保存任务基本设置
接口描述
保存任务的基本信息设置,包括任务名称、备注、是否在任务异常结束或终止时解锁库位等配置。此接口修改的是vwed_taskdef表中的数据。
请求方式
- HTTP方法: POST
- 接口路径:
/api/vwed-task-edit/basic-settings/{id}
请求参数
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 任务ID,路径参数 |
label | String | 是 | 任务名称 |
remark | String | 否 | 备注信息 |
releaseSites | Boolean | 否 | 任务异常结束/终止时是否解锁库位,默认为true |
请求示例
{
"label": "test1",
"remark": "测试任务基本设置",
"releaseSites": true
}
响应参数
{
"code": 200,
"message": "保存成功",
"data": {
"id": "193f8412-fa0d-4b6d-9648-70bceacd6629",
"label": "test1",
"remark": "测试任务基本设置",
"releaseSites": true,
"updateTime": "2023-05-10 16:30:22"
}
}
13. 获取常用参数字段
接口描述
获取常用参数的展示字段和字段值类型,用于任务编辑页面中间部分上侧的常用字段展示区域。
请求方式
- HTTP方法: GET
- 接口路径:
/api/vwed-task-edit/common-params
请求参数
无
响应参数
{
"code": 200,
"message": "操作成功",
"data": [
{
"id": "robotId",
"label": "机器人id",
"type": "String",
"description": "机器人唯一标识",
"example": "robot_001",
"placeholder": "机器人ID",
"order": 1,
"values": [
{"id": "robot_001", "name": "AGV-001", "description": "1号AGV机器人"},
{"id": "robot_002", "name": "AGV-002", "description": "2号AGV机器人"},
{"id": "robot_003", "name": "AGV-003", "description": "3号AGV机器人"}
]
},
{
"id": "robotGroup",
"label": "机器人组",
"type": "Array",
"description": "机器人分组信息",
"example": "['group1', 'group2']",
"placeholder": "机器人组",
"order": 2,
"values": [
{"id": "group1", "name": "分拣组", "description": "负责物品分拣的机器人组"},
{"id": "group2", "name": "运输组", "description": "负责物品运输的机器人组"},
{"id": "group3", "name": "装配组", "description": "负责物品装配的机器人组"}
]
},
{
"id": "robotTag",
"label": "机器人标签",
"type": "String",
"description": "机器人标签信息",
"example": "delivery",
"placeholder": "机器人标签",
"order": 3,
"values": [
{"id": "delivery", "name": "配送", "description": "配送类机器人"},
{"id": "picking", "name": "拣货", "description": "拣货类机器人"},
{"id": "cleaning", "name": "清洁", "description": "清洁类机器人"}
]
},
{
"id": "siteId",
"label": "库位id",
"type": "String",
"description": "库位唯一标识",
"example": "site_001",
"placeholder": "库位ID",
"order": 4,
"values": [
{"id": "site_001", "name": "A01", "description": "A区1号库位"},
{"id": "site_002", "name": "A02", "description": "A区2号库位"},
{"id": "site_003", "name": "B01", "description": "B区1号库位"}
]
},
{
"id": "area",
"label": "库区",
"type": "String",
"description": "库区信息",
"example": "A区",
"placeholder": "库区",
"order": 5,
"values": [
{"id": "area_A", "name": "A区", "description": "A区储存区"},
{"id": "area_B", "name": "B区", "description": "B区储存区"},
{"id": "area_C", "name": "C区", "description": "C区装配区"}
]
},
{
"id": "station",
"label": "站点",
"type": "String",
"description": "站点信息",
"example": "station_001",
"placeholder": "站点",
"order": 6,
"values": [
{"id": "station_001", "name": "入库站", "description": "物品入库站点"},
{"id": "station_002", "name": "出库站", "description": "物品出库站点"},
{"id": "station_003", "name": "检验站", "description": "物品质检站点"}
]
},
{
"id": "binTask",
"label": "binTask",
"type": "Object",
"description": "bin任务相关信息",
"example": "{\"id\": \"bin_001\"}",
"placeholder": "binTask",
"order": 7,
"values": [
{"id": "bin_001", "name": "分拣任务", "description": "物品分拣任务"},
{"id": "bin_002", "name": "装箱任务", "description": "物品装箱任务"},
{"id": "bin_003", "name": "码垛任务", "description": "物品码垛任务"}
]
},
{
"id": "workstation",
"label": "工位",
"type": "String",
"description": "工位信息",
"example": "ws_001",
"placeholder": "工位",
"order": 8,
"values": [
{"id": "ws_001", "name": "装配工位1", "description": "1号装配工位"},
{"id": "ws_002", "name": "装配工位2", "description": "2号装配工位"},
{"id": "ws_003", "name": "测试工位", "description": "产品测试工位"}
]
},
{
"id": "position",
"label": "岗位",
"type": "String",
"description": "岗位信息",
"example": "operator",
"placeholder": "岗位",
"order": 9,
"values": [
{"id": "operator", "name": "操作员", "description": "设备操作人员"},
{"id": "inspector", "name": "检验员", "description": "质量检验人员"},
{"id": "manager", "name": "管理员", "description": "区域管理人员"}
]
},
{
"id": "user",
"label": "用户",
"type": "Object",
"description": "用户信息",
"example": "{\"id\": \"user_001\", \"name\": \"张三\"}",
"placeholder": "用户",
"order": 10,
"values": [
{"id": "user_001", "name": "张三", "description": "系统操作员"},
{"id": "user_002", "name": "李四", "description": "系统管理员"},
{"id": "user_003", "name": "王五", "description": "系统维护员"}
]
},
{
"id": "cache",
"label": "缓存",
"type": "Object",
"description": "缓存数据",
"example": "{\"key\": \"value\"}",
"placeholder": "缓存",
"order": 11,
"values": [
{"id": "cache_task", "name": "任务缓存", "description": "任务相关的缓存数据"},
{"id": "cache_user", "name": "用户缓存", "description": "用户相关的缓存数据"},
{"id": "cache_system", "name": "系统缓存", "description": "系统相关的缓存数据"}
]
},
{
"id": "builtInFunction",
"label": "内置函数",
"type": "Function",
"description": "系统内置函数",
"example": "getCurrentTime()",
"placeholder": "内置函数",
"order": 12,
"values": [
{"id": "getCurrentTime", "name": "获取当前时间", "description": "返回系统当前时间", "syntax": "getCurrentTime()"},
{"id": "formatDate", "name": "格式化日期", "description": "将日期格式化为指定格式", "syntax": "formatDate(date, format)"},
{"id": "generateUUID", "name": "生成UUID", "description": "生成唯一标识符", "syntax": "generateUUID()"}
]
}
]
}
四、组件相关数据结构
1. 组件类型说明
任务编辑中的组件类型主要分为以下几类:
类别ID | 类别名称 | 描述 |
---|---|---|
subtask | 子任务 | 用于创建和管理子任务,支持任务的层级结构和模块化 |
script | 脚本 | 支持编写自定义脚本,实现复杂的业务逻辑 |
http | HTTP请求 | 用于与外部系统进行通信,发送HTTP请求并处理响应 |
task | 任务 | 基本任务单元,包含任务的核心属性和行为 |
flow | 流程 | 控制任务执行流程,如条件判断、循环等 |
base | 基础 | 提供基础功能,如变量操作、数据转换等 |
site | 库位 | 与工位或库位相关的组件,用于定位和操作 |
robot | 机器人 | 控制和管理机器人的调度和执行 |
device | 设备 | 与外部设备交互的组件 |
2. 任务详情结构说明
任务详情(detail)字段是一个JSON对象,包含以下主要部分:
属性名 | 类型 | 描述 |
---|---|---|
inputParams | Array | 任务输入参数定义数组 |
outputParams | Array | 任务输出参数定义数组(可能为空) |
rootBlock | Object | 任务根块配置,包含所有子组件和连接关系 |
输入参数对象结构
属性名 | 类型 | 描述 |
---|---|---|
name | String | 参数名称,用于代码中引用 |
type | String | 参数类型(String、Number、Boolean、Object等) |
label | String | 参数显示名称 |
remark | String | 参数说明 |
defaultValue | String | 参数默认值 |
required | Boolean | 是否必填 |
根块对象结构
属性名 | 类型 | 描述 |
---|---|---|
id | Number/String | 块ID,根块固定为-1 |
name | String | 块名称 |
blockType | String | 块类型,根块固定为RootBp |
inputParams | Object | 块输入参数配置 |
children | Object | 子块配置,包含default属性下的子块数组 |
selected | Boolean | 是否被选中(编辑状态) |
expanded | Boolean | 是否被展开(编辑状态) |
子块对象结构
属性名 | 类型 | 描述 |
---|---|---|
id | Number | 块ID,唯一标识 |
name | String | 块名称 |
blockType | String | 块类型,对应组件类型 |
children | Object | 子块配置,根据块类型不同可能有不同的属性 |
inputParams | Object | 块输入参数配置 |
refTaskDefId | String | 引用的任务定义ID(子任务类型使用) |
selected | Boolean | 是否被选中(编辑状态) |
expanded | Boolean | 是否被展开(编辑状态) |
3. 参数值类型
组件参数值支持以下几种类型:
类型 | 描述 |
---|---|
Simple | 简单值,直接输入的固定值 |
Expression | 表达式,使用${变量名}语法引用变量 |
JSON | JSON格式,用于复杂数据结构 |