QDAirPortBackendTest/接口文档1.md
2026-01-21 16:20:16 +08:00

12 KiB
Raw Permalink Blame History

车辆信息接口文档

1. 概述

  • 连接方式WebSocket
  • 数据格式JSON
  • 交互逻辑:客户端建立 WebSocket 连接成功后,服务端会自动推送数据。

2. 接口详情

2.1 VehicleOrderInfo - 任务信息

  • 接口地址ws://ip:port/ws/at_manager
  • 用途GUI 根据该消息刷新页面任务信息
  • 推送频率:数据变化推送
  • Message NameVehicleOrderInfo

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 VehicleOrderInfo
businessKey 任务id str 任务的唯一标识
vehicleId 车号 str 车号
jobStatus 任务状态 int 0:未开始, 1:执行中, 4:终止, 9:完成
abortBy 取消来源 str 描述任务是被谁终止的
cancelReason 取消原因 str 描述任务取消的原因
jobStage 任务进度 str
jobStageTag 任务进度标签 str
origin 任务来源 str GUI客户端发送的任务
jobType 收送类型 str 作业类型
passingLocation 任务必经点 str
isNeedToTs 是否经过锁站 int
movementType 作业类型 str
offset 引导值 str
vesselVisitID 船id str
uniqueOrderIDOrigin 原始任务ID str 重派的任务该字段为原始任务ID
destination 目的位置 dict
└ logicalLocation 目的位置 dict
  ├ area 目标区域类型 str 固定值 YARD
  ├ block 目标区域 str
  ├ lane 车道 str
  ├ stack 贝位 str
points 指定点位 dict 该值不为空时系统使用该坐标导航(如GUI选点)
└ x x坐标 float
└ y y坐标 float
└ heading 航向角 float
jobContent 任务内容 dict 结构同 destination
workflowNodes 流程节点记录 list
└ node 节点名字 str
└ time 记录时间戳 float
└ origin 来源 str AUTO:系统, GUI:人工
└ state 节点状态 bool open:当前节点打开, close:已完成

代码示例

{
  "data": {
    "messageName": "VehicleOrderInfo",
    "businessKey": "1767666776611",
    "tenantId": "UpHang",
    "processDefKey": "UpHang",
    "vehicleId": "AET01",
    "jobStatus": 1,
    "abortBy": null,
    "orderStatus": "",
    "cancelReason": null,
    "jobStage": "HANG_UP",
    "jobStageTag": "WORKING",
    "jobStageVehicle": 0,
    "origin": "FMS",
    "jobType": "UpHang",
    "qctpCranId": "",
    "craneID": null,
    "passingLocation": "",
    "isNeedToTs": -1,
    "isNeedReshuffGate": 0,
    "movementType": "ProcessTask",
    "vesselVisitID": null,
    "loadable": false,
    "executeTogether": false,
    "doubleYardSpecialStack": null,
    "uniqueOrderIDOrigin": "",
    "firstJobId": "",
    "destination": {
      "logicalLocation": {
        "area": "BackUp",
        "block": "BU01",
        "lane": "01",
        "stack": "001",
        "tier": ""
      },
      "portLocation": {
        "fmsX": null,
        "fmsY": null,
        "fmsZ": null,
        "orientation": null
      }
    },
    "points": {},
    "isSecondBox": false,
    "boxBelongsJob": null,
    "trainId": "",
    "mainId": 1134,
    "createOn": "2026-01-06T02:32:56.685437+00:00",
    "updateOn": "2026-01-06T02:32:56.685437+00:00",
    "plannedContainerDestinationList": [],
    "jobExtra": {
      "hangType": "large",
      "hangNum": "4",
      "uploadNum": "0"
    },
    "jobAdd": [
      {
        "destPointType": "gateDestination",
        "destination": {
          "area": "GateCheck",
          "block": "GC01",
          "lane": "01",
          "stack": "001"
        }
      }
    ]
  }
}

2.2 VehicleDetails - 车辆列表/类型

  • 接口地址ws://ip:port/ws/at_manager
  • 用途GUI 根据该数据展示车辆模型
  • 推送频率:数据发生变化推送
  • Message NameVehicleDetails

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 VehicleDetails
vehicleId 车号 str
vehicleType 车辆类型 str 例如QTRUCK

代码示例

{
  "messageName": "VehicleDetails",
  "vehicleId": "AET01",
  "vin": null,
  "manufacturer": null,
  "vehicleType": "QTRUCK",
  "createAt": "2025-08-05T07:54:09.721537+00:00",
  "updateAt": "2025-11-06T07:40:30.789366+00:00",
  "color": null,
  "engineType": null
}

2.3 VehicleLoginStatus - 车辆上线/下线消息

  • 接口地址ws://ip:port/ws/at_manager
  • 用途GUI 根据该数据展示上线/下线的车
  • 推送频率:数据发生变化推送
  • Message NameVehicleLoginStatus

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 VehicleLoginStatus
vehicleId 车号 str
loginStatus 上线下线状态 str login:在线, logout:离线

代码示例

{
  "messageName": "VehicleLoginStatus",
  "vehicleId": "AET01",
  "loginStatus": "login"
}

2.4 VehicleChassisInfo - 单车底盘信息

  • 接口地址ws://ip:port/ws/at_manager
  • 用途GUI 显示速度、电量、里程、底盘模式、胎压等
  • 推送频率:数据发生变化推送
  • Message NameVehicleChassisInfo

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 VehicleChassisInfo
vehicleId 车号 str
sys_info 系统信息 dict
└ i_driving_mode 驾驶模式 str
state_info 状态信息 dict
  ├ d_speed_kmph 速度 Float 单位: KM/小时
  ├ i_vehicle_miles_traveled 里程表 str 底盘记录总路程,单位 m
  ├ d_battery_available 电量 str 剩余电量百分比
  ├ i_gear_position 档位 int 1:N, 2:D, 3:P, 4:R, 5:未知

代码示例

{
  "messageName": "VehicleChassisInfo",
  "vehicleId": "AET01",
  "reportAt": 1767667344.8743727,
  "sys_info": {
    "i_at_id": "AET01",
    "i_driving_mode": "1",
    "overweight_speed_limit": 0,
    "state_info": {
      "d_speed_kmph": 0,
      "d_battery_available": "0.0",
      "d_battery_soh": "0.0"
    }
  }
}

2.5 VehicleSuspendReport - 车辆紧停状态

  • 接口地址ws://ip:port/ws/at_manager
  • 用途GUI 操作紧停/恢复按钮状态,或展示当前车辆是否紧停
  • 推送频率:数据发生变化推送
  • Message NameVehicleSuspendReport

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 VehicleSuspendReport
vehicleId 车号 str
suspendStatus 当前车辆状态 int 0:恢复行驶, 1:紧急急停, 2:缓停

代码示例

{
  "messageName": "VehicleSuspendReport",
  "vehicleId": "AET01",
  "suspendStatus": 0,
  "origin": "device"
}

2.6 VehicleTailerNum - 拖挂数量

  • 接口地址ws://ip:port/ws/at_manager
  • 用途:推送单车拖挂数量
  • 推送频率N/A (通常为变化推送)
  • Message NameVehicleTailerNum

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 VehicleTailerNum
vehicleId 车号 str
tailerNum 拖挂数量 str 0或空表示无挂其他数字表示有挂

代码示例

{
  "messageName": "VehicleTailerNum",
  "vehicleId": "AET01",
  "tailerNum": "0"
}

2.7 VehiclePositionInfo - 车辆位置信息

  • 接口地址ws://ip:port/ws/at_manager_bsm
  • 用途GUI 根据该数据展示车辆位置信息
  • 推送频率:数据发生变化推送
  • Message NameVehiclePositionInfo

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 VehiclePositionInfo
vehicleId 车号 str
x 车辆X坐标 float
y 车辆Y坐标 float
theta 车辆航向角 float 弧度正东0, 正北1.57, 正西3.14, 正南-1.57
direction 行驶方向 int 1:正向行驶, 2:反向行驶
trailer 拖挂信息 dict
└ x 拖挂x坐标 float 不准,是车头坐标
└ y 拖挂Y坐标 float 不准,是车头坐标
└ theta 拖挂角度 float 弧度定义同上

代码示例

{
  "messageName": "VehiclePositionInfo",
  "vehicleId": "AET01",
  "updateAt": "20260106T024227963Z",
  "update_at": "20260106T024227963Z",
  "reportAt": 1767667348.1297243,
  "report_at": 1767667348.1297243,
  "action": 0,
  "z": 0,
  "x": 6.12613,
  "y": 101.70456,
  "direction": 0,
  "v": 0,
  "theta": -1.5224342,
  "trailer": {
    "x": 3.555143,
    "y": 111.36841,
    "theta": 100000
  }
}

2.8 NaviShortPathReport - 车辆短路径信息

  • 接口地址ws://ip:port/ws/at_manager_path
  • 用途GUI 根据该数据展示车辆路径规划
  • 推送频率:数据发生变化推送
  • Message NameNaviShortPathReport

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 NaviShortPathReport
vehicleId 车号 str
vehicleMissionId 任务ID str (注原文此处类型标注为float有误示例为str)
destinationType 目的地类型 int
path 路径信息 list
└ x 路径点x坐标 float UTM坐标
└ y 路径点y坐标 float UTM坐标
└ theta 路径点角度 float 弧度定义同上

代码示例

{
  "vehicleId": "AET01",
  "vehicleMissionId": "04078d1e-eaa8-11f0-8723-fa30eca52200",
  "destinationType": "",
  "shortNavi": false,
  "path": [
    {
      "x": 6.126130111981183,
      "y": 101.70455933734775,
      "theta": -1.5224548170138026
    },
    {
      "x": 6.138059945020359,
      "y": 101.45796921849251,
      "theta": -1.5224956618374788
    },
    {
      "x": 6.650000399346166,
      "y": 50.25839266739786,
      "theta": -1.570796333683315
    }
  ],
  "messageName": "NaviShortPathReport"
}

2.9 GetFmsMessage - 系统和单车告警信息

  • 接口地址ws://ip:port/ws/at_manager
  • 用途:推送系统和单车的告警信息
  • 推送频率:数据发生变化推送
  • Message NameGetFmsMessage

输出参数

参数名 参数说明 是否必填 字段类型 备注说明
messageName 消息名称 str 固定值 GetFmsMessage
vehicleID 车号 str
description 描述 str
code 告警码 str
level 告警等级 int
type 来源 int 1:单车, 2:系统告警
ts 告警时间 str 时间戳

代码示例

{
  "vehicleID": "AET01",
  "code": "4119010",
  "type": 1,
  "level": 4,
  "isActive": 1,
  "longTermDisplayMessage": false,
  "description": "里程计信息超时",
  "ts": "2026-01-06T03:36:09.637195+00:00",
  "messageName": "GetFmsMessage"
}