1. 集成前端独立组件
上云 API 2 说明文档(KOC3)
  • 快速开始
  • 申请许可证
  • 联系我们
  • 软件下载
  • 使用上云 API 2 设备模拟器
  • 鉴权接入指南
  • 部署上云 API 2 应用运行与设备管控底座
    • 部署指南
    • 部署前准备
    • 开始部署
    • 能力扩展
  • 设备上云
    • 设备上云
    • 设备固件版本
  • 集成前端独立组件
    • 集成指南
    • 驾驶舱和设备小窗
    • 驾驶舱模块化配置
    • 设备管理组件
    • 航线组件
    • 直播大屏
    • 飞行记录
    • 集成参考
    • PaasJS 新增特性
  • SDK 文档
    • 基本介绍
      • SDK 简介
      • 功能特性
    • 快速入门
      • 准备工作
      • 使用流程
    • 接口调用
      • 接口调用时序图
    • SDK API 文档
      • 使用 API 文档查阅接口详情
    • SDK版本迁移指南
      • 迁移概述
      • 新增方法详情
      • API 变更详情
      • 迁移操作步骤
    • 功能集合
      • SDK初始化
      • SDK配置
      • DRC链路
      • 飞机状态监听
      • 飞向目标点
      • 飞行参数设置
      • 飞行记录导出
      • POI 环绕飞行
      • 一键起飞
      • 航线任务管理
      • 航线任务控制
      • 航线资产管理
      • 机场状态监听
      • 控制权管理
      • 机场控制
      • 飞行控制
      • AI Box 管理
      • AI 智能告警
      • 机载 AI 控制
      • 机载 AI 算法管理
      • PSDK 控制
      • PSDK 资源管理
      • RTK 标定
      • 安全服务
      • 固件管理
      • 媒体服务
      • 日志管理
      • 三维重建
      • 设备管理
      • 设备保修维护
      • 设备健康管理
      • 设备远程调试
      • 设备在线状态
      • 相机控制
      • 直播录制
      • 直播设备管理
      • 直播视频流
      • 直播同步
      • 中继器控制
      • 自定义 SEI
      • WHEP 自定义拉流
      • 网络测速
      • 地图元素管理
      • 频闪灯配置
  • 使用上云 API 2 AI Plugin
    • 上云 API 2 AI Plugin 使用指南
  • 使用上云 API 2 二次开发 Demo
    • 上云 API 2 二次开发 Demo 部署指南
    • 上云 API 2 二次开发 Demo - 无人机管理平台使用说明
  • 排障指南
    • 前端独立组件排障指南
    • SDK排障指南
  1. 集成前端独立组件

航线组件

目录#

1.
航线编辑组件
引入 SDK 资源
DOM 骨架与必备样式
初始化
创建航线
编辑航线
航线拼接
设备拓扑连线
事件监听与错误码
主题热切换
销毁编辑器
2.
航线预览组件
引入 SDK 资源
初始化与使用
核心方法与事件
销毁

一、航线编辑组件#

WaylineEditor 是独立的 UMD bundle,同一个实例可完成创建航线、编辑航线、航线拼接三件事。

1. 引入 SDK 资源#

加载完成后,SDK 类挂载在 window.WaylineEditor。
由于 SDK 用 defer 加载,请在 window.onload 之后再初始化:

2. DOM 骨架与必备样式#

WaylineEditor 内部组件渲染到固定选择器,DOM 骨架与样式必须完整提供,所有 ID 与类名不可改。
DOM 结构
DOM 约束
#project-middle-container 与 .right-micro-app 必须相邻兄弟,不能在两者之间插入任何节点
.right-micro-app → .maps-micro-app → .map-app-placeholder 三层不能扁平化
editor.mount() 的目标是 #uranus-wayline-app(内层)
#wayline-header 必须在 render() 之前就存在于页面,否则顶栏不会显示
必备 CSS

3. 初始化#

构造函数
IWaylineEditorOptions 参数
字段类型必需说明
api.baseUrlstring✓后端服务地址,例如 https://[服务器地址]:30812/gateway(带 /gateway)
api.authIAuth✓HTTP 鉴权配置
ws.urlstring✗WebSocket 推送地址,鉴权复用 api.auth
map.topoobject✗拓扑设备连线配置,不传则不加载拓扑插件
runtimeDepsBasePathstring✗运行时依赖资源根目录,默认取 SDK 脚本所在目录
oss.objectKeyPrefixstring✗OSS 对象 key 前缀,建议显式指定,不传则每次随机 UUID
supportedDronesArray<{ drone: number, payloadList: number[] }>✗限制可选机型/负载,不传或传空数组 = 展示全部
enabledWaylineTypesnumber[]✗限制可选航线类型,不传或传空数组 = 展示全部
themeITheme✗自定义主题色
IAuth 字段
字段类型说明
authKeysstring[]鉴权 header 名称列表
headersobject | () => Record<string, string>推荐函数形式,每次请求实时取值
完整初始化示例

4. 创建航线#

调用后弹出航线创建对话框,确认保存后 Promise resolve 返回新航线的 waylineId。
必须先 mount(),未挂载时 create() 会直接 reject。
取消操作也会 reject,请务必挂 .catch(),否则产生未捕获的 Promise 异常。

限制可选的航线类型(初始化时传 enabledWaylineTypes)
枚举值名称说明
0Waypoint航点航线
1Area面状航线
2Facade斜面航线
3Solid几何体航线
4MappingStripe带状航线
7MappingObject贴近摄影航线
8TargetDetectionAI 巡逻航线

限制可选的机型/负载(初始化时传 supportedDrones)

5. 编辑航线#

必须先 loadMap(),未加载地图时 render() 不会抛异常,只会派发 error 事件(code: 6002)后静默返回,请务必监听 error 事件。
必须先 mount(),未挂载时 render() 直接静默返回。

6. 航线拼接#

把多条航线首尾合并成一条新航线,返回新航线的 UUID。
虽然是静态方法,但依赖已初始化的实例。请在 new WaylineEditor() → mount() → loadMap() 之后再调用。OSS 前缀取自构造参数 oss.objectKeyPrefix。
拼接校验规则
规则失败提示
至少 2 条航线航线拼接至少需要 2 条航线
仅支持航点航线仅支持航点航线拼接
各航线的设备/负载类型必须一致航线设备/负载类型不一致
使用相对起飞点高度模式时需有起飞点信息相对起飞点高度模式的航线缺少起飞点信息
各航线的第三方 AI 算法必须一致第三方AI算法类型不一致
合并后航线的全局参数(高度模式、飞行速度、偏航模式等)以第一条航线为准,其余航线的航点按第一条高度模式换算。

7. 设备拓扑连线#

在地图上渲染设备(机场/飞机/中继/遥控器)及其连线关系。构造时传 map.topo 才启用,不传则完全不加载拓扑插件。
map.topo 字段
字段类型默认值说明
snListstring[][]初始显示的设备 SN 列表
pollMsnumber0轮询间隔(ms),0 不轮询
showFullTopobooleanfalsetrue 点击展开整条拓扑,false 仅显示单设备
highlightModestring'show-related'点击设备后连线高亮方式
deselectOnClickEmptybooleantrue点击地图空白处是否取消选中
运行时接口

8. 事件监听与错误码#

事件说明
事件名参数说明
wayline-savewaylineId航线保存成功
wayline-backwaylineId点击返回按钮
collision-backwaylineId航线存在碰撞时的返回,此时不再派发 wayline-back
wayline-cancelwaylineId取消编辑
jump-to-wayline-list无请求返回航线列表,可据此关闭编辑器
wayline-device-selected{ deviceSn: string }拓扑设备被点选
set-router-destroy-confirm-tipsboolean编辑器脏状态变更,可用于拦截页面离开
click-to-user-manual{ action: string }点击「使用说明」按钮
error{ code: number, message: string, data?: any }SDK 运行时错误
⚠️ 碰撞航线只发 collision-back,若只监听了 wayline-back,存在碰撞时会漏收返回事件。请两个事件都监听。
错误码
错误码名称说明
4001WS_AUTH_ERRORWebSocket 鉴权失败
4002WS_DISCONNECTEDWebSocket 连接断开
5000API_ERRORAPI 请求失败(网络错误或服务端 5xx)
5001API_AUTH_ERRORAPI 鉴权失败(401/403)
6000PARSE_ERROR航线数据解析失败(KMZ 格式异常)
6001WASM_LOAD_ERRORWASM 模块加载失败
6002MAP_INIT_ERROR地图初始化失败(Cesium 加载异常)
7000UPLOAD_ERROROSS 上传失败

9. 主题热切换#

只传需要变更的字段,未传字段保持当前值。可在 mount() 之后随时调用。
完整主题字段见「集成参考」文档。

10. 销毁编辑器#

释放所有资源(同时清除拓扑并停止轮询),销毁后需重新 new WaylineEditor() 才能使用。

二、航线预览组件#

WaylineView SDK 用于只读预览一组航线(只渲染,不编辑),支持多航线同时渲染、拓扑设备连线叠加、地图回中。完全自包含,不依赖 paas.js。

1. 引入 SDK 资源#

加载完成后,SDK 类挂载在 window.WaylineView。
DOM 骨架(与 FlyDataReplay 同结构)

2. 初始化与使用#

WaylineViewOptions 参数
字段类型必需说明
api.baseUrlstring✓后端服务地址(带 /gateway)
api.authAuthConfig✓HTTP 鉴权配置
map.notifyWsUrlstring✗推送中心 WebSocket 地址
map.topoobject✗拓扑设备连线配置(不传则不加载拓扑插件)
runtimeDepsBasePathstring✗运行时依赖库资源目录
autoRecenterboolean✗渲染后是否自动回中,默认 true
onlyShowMapElementsboolean✗多航线时是否只渲染地图元素,默认 true

3. 核心方法与事件#

核心方法
方法说明返回值
view.loadMap(container?)加载地图Promise
view.mount(container)挂载预览组件到 DOMvoid
view.render({ waylineIds, autoRecenter? })渲染一组航线Promise
view.recenter(waylineId?)地图回中(不传则全部)Promise
view.clear()清空已渲染航线void
view.showDeviceTopo(sns)显示/清除拓扑设备连线void
view.destroy()销毁实例,释放所有资源void
WaylineView.getTopoList()静态方法,拉取全量设备拓扑列表Promise
view.selectedDeviceSngetter,当前选中的设备 SNstring | null
view.stategetter,{ mounted, renderedWaylineIds }object
事件说明
事件名参数说明
ready{ waylineIds: string[] }全部航线渲染完成
wayline-rendered{ waylineId, startWaypoints, total }单条航线渲染完成
recentered无地图回中完成
device-selected{ deviceSn: string }拓扑设备 marker 被点击
error{ code, message, data }SDK 内部错误
错误码
错误码说明
5000API 请求失败
5001API 鉴权失败
6000航线 KMZ 下载失败
6001航线 KMZ 解析失败
6002运行时依赖(WASM)加载失败
6003地图初始化失败

4. 销毁#


上一页
设备管理组件
下一页
直播大屏
Built with