2 任务服务接口文档

SimOne Web Task Server

2.1 服务状态接口

2.1.1 获取服务健康状态

Path: /api-task/health

Method: GET

Headers: Headers

请求参数

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

version

版本

Yes

string

current

当前状态

Yes

number

maximum

最大状态

No

number

message

当前状态信息

No

string

level

服务当前等级

No

“info” | “error” | “warning”

code

服务错误代码

No

number


2.2 任务接口

2.2.1 获取运行的任务或回放的任务 id

Path: /api-task/sessions/isPlay

Method: GET

Headers: Headers

请求参数

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

testingSessionIds

运行的任务 id

Yes

string[]

replaySessionIds

回放的任务 id

Yes

string[]


2.2.2 获取回放任务状态

Path: /api-task/sessions/replayTasks

Method: GET

Headers: Headers

请求参数

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

replayTasks

回放任务状态

Yes

Record<string, ReplayTaskInfo >


2.2.3 获取任务队列

Path: /api-task/sessions/queue

Method: GET

Headers: Headers

请求参数

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

queue

排队信息

Yes

Record<string, number>


2.2.4 恢复暂停任务集

Path: /api-task/sessions/:id/resume

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

返回码

Code

说明

202

Ok

返回数据


2.2.5 暂停任务

Path: /api-task/sessions/:id/pause

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

返回码

Code

说明

202

Ok

返回数据


2.2.6 获取任务报告

Path: /api-task/sessions/:id/report

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务集 id

Yes

string

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

success

是否成功

Yes

boolean

备注

返回 success true 之后使用/report/:id_zh-Hans.pdf 地址进行下载,例 sessionId 为 123456,下载地址为:原网页网址/report/123456_zh-Hans.pdf


2.2.7 任务下一帧

Path: /api-task/sessions/step

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

body

任务 id

Yes

string

返回码

Code

说明

202

Ok

返回数据


2.2.8 修改仿真速度

Path: /api-task/sessions/speed

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

body

任务 id

Yes

string

speed

body

任务速度

Yes

number

返回码

Code

说明

202

Ok

返回数据


2.2.9 任务跳转

Path: /api-task/sessions/skipTo

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

body

任务 id

Yes

string

seconds

body

任务时间

Yes

number

返回码

Code

说明

200

Ok

返回数据


2.2.10 更新主车控制

Path: /api-task/sessions/updateVehicleControl

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

body

任务 id

Yes

string

egoId

body

主车 id

Yes

string

vehicleControl

body

主车控制

Yes

VehicleControl

返回码

Code

说明

200

Ok

返回数据


2.2.11 获取回放任务数据

Path: /api-task/sessions/:id/replayChartData

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

timestamp

时间戳

Yes

string

taskId

任务 id

Yes

string

caseId

案例 id

Yes

string

taskUuid

任务 uuid

No

string

timeMs

时间

No

number

durationMs

持续时间

No

number

fps

帧率

No

number

speed

速度

No

number

mainvehicles

主车

No

MainVehicleUIData


2.2.12 获取回放任务状态

Path: /api-task/sessions/:id/taskState

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

taskId

任务 id

Yes

string

isPlay

是否是回放

Yes

number


2.2.13 停止任务集

Path: /api-task/sessions/stop

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

ids

body

任务集 id

Yes

string[]

返回码

Code

说明

202

Ok

返回数据


2.2.14 删除任务集

Path: /api-task/sessions/delete

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

ids

body

任务集 id

Yes

string[]

返回码

Code

说明

202

Ok

返回数据


2.3 任务运行时接口

2.3.1 获取任务列表

Path: /api-task/tasks/

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

finished

query

是否已完成

Yes

boolean

page

query

页数

Yes

string

pageSize

query

每页数量

Yes

string

own

query

是否是自己的任务

Yes

boolean

expandedIds

query

展开的任务 id

Yes

string[]

filters

query

筛选

No

string[]

searchFilter

query

搜索

No

string

startTime

query

开始时间

No

number

endTime

query

结束时间

No

number

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

list

任务列表

Yes

TaskListItem []

page

页数

Yes

number

total

总页数

Yes

number

pageSize

每页数量

Yes

number


2.3.2 获取任务详情

Path: /api-task/tasks/task

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

taskIds

query

展开的任务 id

Yes

string[]

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

tasks

任务列表

Yes

TaskListItem []

TaskListItem

字段名

说明

是否必填

类型

id

任务 id

Yes

string

parentId

sessionId

Yes

string | null

loading

是否加载中

No

boolean

userId

用户名

No

string

userName

用户姓名

No

string

2.3.3 获取任务数量

Path: /api-task/tasks/count

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

own

query

是否是自己的任务

Yes

boolean

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

count

任务数量

Yes

number


2.3.4 获取任务队列

Path: /api-task/tasks/queue

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

own

query

是否是自己的任务

Yes

boolean

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

total

任务总数

Yes

number

running

运行任务数量

Yes

number

pending

即将运行任务数量

Yes

number

waiting

等待任务数量

Yes

number

finished

结束任务数量

Yes

number

estimatedTaskDuration

预计任务时间

Yes

number


2.3.5 清除全部任务(需要管理员权限)

Path: /api-task/tasks/clean

Method: POST

Headers: Headers

请求参数

返回码

Code

说明

202

Ok

返回数据


2.3.6 获取指定 id 的任务

Path: /api-task/tasks/:id/task

Method: GET

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

返回码

Code

说明

202

Ok

返回数据


2.3.7 创建任务

Path: /api-task/tasks/

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

caseIds

body

案例 id

Yes

string[]

taskName

body

任务名称

Yes

string

vehicleConfig

body

WorldSim 车辆&算法配置

Yes

VehicleConfig

algorithmName

body

LogSim 算法 id

Yes

string

algorithmVersion

body

LogSim 算法版本 id

Yes

string

overrideJudgementId

body

覆盖判定 id

No

string

evaluationPresetId

body

评价 id

No

string

withEvaluation

body

是否评价

No

boolean

enableStateMachine

body

状态机测试脚本

No

boolean

notification

body

运行结果通知配置

No

Notification

返回码

Code

说明

202

Ok

返回数据

字段名

说明

是否必填

类型

sessionId

sessionId

Yes

string

taskIds

任务 id

Yes

string[]


2.3.8 回放指定任务

Path: /api-task/tasks/:id/replay

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

RTC

query

是否 RTC 任务

No

boolean

返回码

Code

说明

202

Ok

返回数据

字段名

说明

是否必填

类型

taskId

任务 id

Yes

string


2.3.9 查看任务运行可视化

Path: /api-task/tasks/:id/observe

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

返回码

Code

说明

202

Ok

返回数据


2.3.10 dump 任务

Path: /api-task/tasks/:id/dump

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

vizConfig

body

每页数量

Yes

VizConfig

outputConfig

body

每页数量

Yes

OutputConfig

返回码

Code

说明

202

Ok

返回数据


2.3.11 获取任务数据

Path: /api-task/tasks/:id/data

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

success

是否成功

Yes

boolean


2.3.12 创建回放案例

Path: /api-task/tasks/convert2case

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

name

path

案例名

Yes

string

categoryId

body

保存目录 id

Yes

string

opponent

body

保存类型,回放案例或标准案例

No

“record” | “openscenario”

ego2npc

body

选择保存为标准案例时,主车是否转换为对手车

No

boolean

tags

body

标签

No

string[]

notes

body

案例备注

No

string

返回码

Code

说明

200

Ok

404

Not Found

返回数据

字段名

说明

是否必填

类型

id

id

Yes

string


2.3.12 停止任务

Path: /api-task/tasks/stop

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

all

query

是否停止全部任务

No

boolean

ids

body

任务 id

Yes

string[]

isReplay

body

是否是回放

No

boolean

返回码

Code

说明

202

Ok

返回数据


2.3.13 停止回放任务

Path: /api-task/tasks/stopReplay

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

ids

body

任务 id

Yes

string[]

返回码

Code

说明

202

Ok

返回数据


2.3.14 删除任务

Path: /api-task/tasks/delete

Method: POST

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

taskIds

body

任务 id

Yes

string[]

返回码

Code

说明

202

Ok

返回数据


2.3.15 获取任务是否结束

Path: /api-task/tasks/:id/hasFinished

Method: GET

Headers: Headers

请求参数

字段名

传参格式

说明

是否必填

类型

id

path

任务 id

Yes

string

返回码

Code

说明

200

Ok

返回数据

字段名

说明

是否必填

类型

hasFinished

任务是否结束

Yes

boolean


2.4 测试计划相关接口

2.4.1 获取测试计划列表

Path: /api-task/testPlan

Method: GET

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

page

query

页码

Yes

number

pageSize

query

每页数量

Yes

number

options

query

筛选项,需要字符串化,并 url 编码,如: encodeURIComponent(JSON.stringify(params.options))

Yes

FilterOptions

返回数据

Code

说明

类型

200

Ok

{ list : TestPlan ; page : number; total : number}


2.4.2 获取测试计划

Path: /api-task/testPlan/{id}

Method: GET

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

id

path

测试计划 id

Yes

string

返回数据

Code

说明

类型

200

Ok

TestPlan


2.4.3 创建测试计划

Path: /api-task/testPlan

Method: POST

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

data

body

创建测试计划

Yes

TestPlan

返回数据

Code

说明

类型

200

Ok

{ id : string}


2.4.4 更新测试计划

Path: /api-task/testPlan/{id}

Method: PUT

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

id

path

测试计划 id

Yes

string

data

body

测试计划 data

Yes

TestPlan

返回数据

Code

说明

类型

200

Ok

TestPlan


2.4.5 删除测试计划

Path: /api-task/testPlan/{id}

Method: DELETE

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

id

path

测试计划 id

Yes

string

返回数据

Code

说明

类型

200

Ok

{ id : string}


2.4.5 删除测试计划(可以同时删除多个)

Path: /api-task/testPlan/{id}

Method: POST

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

ids

body

测试计划 id 列表

Yes

string[]

返回数据

Code

说明

类型

200

Ok

{ deleted : string[]}


2.4.6 执行测试计划

Path: /api-task/testPlan/execute

Method: POST

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

ids

body

测试计划 id 列表

Yes

string[]

返回数据

Code

说明

类型

200

Ok

{ sessionIds : string[]}


2.4.7 复制测试计划

Path: /api-task/testPlan/{id}/clone

Method: POST

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

id

path

测试计划 id

Yes

string

返回数据

Code

说明

类型

200

Ok

{ id : string}


2.4.8 测试计划名称是否已存在

Path: /api-task/testPlan/isrepeat

Method: GET

Headers: Headers

请求参数

参数名称

传参格式

说明

是否必填

类型

name

query

测试计划名称

Yes

string

type

query

测试计划案例类型

Yes

Enum: "worldsim" , "logsim"

返回数据

Code

说明

类型

200

Ok

{ isRepeat : boolean}



通用请求头

Headers

参数名称

类型

说明

是否必填

Authorization

string

用于权限验证的 token

Yes

projectId

string

默认值: "default"

Yes


相关类型

2.2 任务接口相关类型

ReplayTaskInfo

回放任务信息

字段名

说明

是否必填

类型

status

任务状态

Yes

string

mode

任务模式

Yes

“replay” | “dump”

RTC

是否 RTC 任务

No

boolean

VizConfig

可视化配置

字段名

说明

是否必填

类型

duration

开始时间,结束时间

Yes

[number, number]

sensors

传感器

Yes

{ [key: string]: boolean }

OutputConfig

dump 输出配置

字段名

说明

是否必填

类型

dumpHz

dump 频率

Yes

number

h264

h264

Yes

boolean

bitrate

比特率

Yes

number

bbox3D

3d 包围盒

Yes

boolean

VehicleControl

主车控制输入信息

字段名

说明

是否必填

类型

vehicleId

主车 id

No

number

throttlepercentage

油门百分比

No

number

steeringpercentage

转向百分比

No

number

brakepercentage

刹车百分比

No

number

handBrake

手刹状态

No

boolean

isManualGear

是否手动挡

No

boolean

manualGear

手动挡位

No

number

gearImmediate

立即换挡

No

boolean

activeInput

活跃输入

No

number

acceleration

加速度

No

number

speed

速度

No

number

signalLights

信号灯

No

number

TaskListItem

任务项简要信息

字段名

说明

是否必填

类型

id

任务 id

Yes

string

parentId

sessionId

Yes

string | null

loading

是否加载中

No

boolean

userId

用户名

No

string

userName

用户姓名

No

string

MainVehicleUIData

热区主车信息

字段名

说明

是否必填

类型

id

id

No

number | null

speed

速度

No

number | null

throttle

油门

No

number | null

steering

转向

No

number | null

brake

刹车

No

number | null

rpm

转速

No

number | null

gear

档位

No

number | null

velocityx

速度 x 方向值

No

number | null

velocityy

速度 y 方向值

No

number | null

velocityz

速度 z 方向值

No

number | null

accelerationx

加速度 x 方向值

No

number | null

accelerationy

加速度 y 方向值

No

number | null

accelerationz

加速度 z 方向值

No

number | null

posx

位置 x 方向值

No

number | null

posy

位置 y 方向值

No

number | null

posy

位置 z 方向值

No

number | null

rotationRate

旋转比率

No

number | null

2.3 任务时运行接口相关类型

AlgorithmSlot

控制器配置

字段名

说明

是否必填

类型

id

占位控制器 id

Yes

string

name

占位控制器名称

Yes

string

algorithmId

实际对应算法 id

No

string

algorithmVId

实际对应算法名称

No

string

2.4 测试计划接口相关类型

TestTypes

测试类型(支持自定义)

类型

冒烟测试

“1”

回归测试

“2”

单元测试

“3”

功能测试

“4”

系统测试

“5”

AlgorithmConfig

WorldSim 算法配置

名称

类型

说明

是否必填

id

string

用例内算法 Id

Yes

name

string

用例内算法名称

Yes

algorithmId

string

算法资源 Id

Yes

algorithmVId

string

算法资源版本 Id

No

Algorithm

LogSim 算法配置

名称

类型

说明

是否必填

id

string

用例内算法 Id

Yes

name

string

用例内算法名称

No

version

string

算法版本

No

vId

string

算法资源版本 Id

No

VehicleConfig

车辆配置

名称

类型

说明

是否必填

id

string

主车资源 Id

Yes

classId

string

主车模型 Id

Yes

instanceId

string

用例内主车实例 Id,设置为 Ego

Yes

name

string

主车名称

No

algorithms

Array< AlgorithmConfig >

用例内引用的算法配置

Yes

Trigger

触发设置

// eg:
// 每天12:00
{type: "daily", at: "12:00"}
// 每周一12:00
{type: "weekly", at: "12:00", day: 1}
// 每月1号12:00
{type: "monthly", at: "12:00", date: 1}
// 每当其他测试计划结束后,且根据结果条件触发, any:任意结果  passed:通过  failed:未通过
{testplanId: "5051903e-6e52-43c6-b386-702a06c60cca", condition: "any"}

Notification

执行结果通知设置

// eg:
// 不通知
{type: "none", condition: "any"}
// groupId 钉钉配置Id condition any:任意结果  passed:通过  failed:未通过
{type: "dingtalk", condition: "any", groupId: "5a714bf6-7730-4470-ad82-f6d45d8c367d", groupName: "dev"}

FilterOptions

测试计划筛选项

字段名

说明

是否必填

类型

category

案例类型

Yes

Enum: "worldsim" , "logsim"

search

搜索关键字

No

string

types

测试类型列表

No

TestTypes []

vehicleIds

主车 id 列表

No

string[]

algorithms

算法配置&版本列表

No

Array<{ type: string; groupIds?: string[] }>

triggerTypes

触发方式列表

No

Array< Enum: "manual" , "conditional" , "algorithm" , "timed" >

notifications

通知方式列表

No

Array<{ type: "dingtalk" , "none" ; groupIds?: string[] }>

stateMachine

状态机测试脚本列表

No

string[]

TestPlan

测试计划

字段名

说明

是否必填

类型

id

测试计划 id (创建时不传)

Yes

string

name

测试计划名称

Yes

string

category

案例类型

Yes

Enum: "worldsim" , "logsim"

categoryIds

测试用例文件夹 id 列表

No

string[]

caseSuiteIds

测试集 id 列表

No

string[]

type

测试类型

Yes

TestTypes a

Algorithm

LogSim 算法配置

No

Algorithm

vehicleConfig

WorldSim 主车与算法配置

No

VehicleConfig

overrideJudgementId

判定集, "-1"代表无

No

string

withEvaluation

是否自动评价

No

boolean

evaluationPresetId

评价预设 Id, "-1"代表无

No

string

triggerType

触发方式

No

Enum: "manual" , "conditional" , "algorithm" , "timed"

trigger

triggerType 值为 "conditional" , "timed" 时需要配置

No

Trigger

notification

运行结果通知配置

No

Notification

enableStateMachine

状态机测试脚本

No

boolean