| | |
| | | dock_sn: string, |
| | | task_type: TaskType, // 任务类型 |
| | | wayline_type: WaylineType, // 航线类型 |
| | | execute_time?: number // 执行时间(毫秒) |
| | | task_days?: number[] // 执行任务的日期(秒) |
| | | task_periods?: number[][] // 执行任务的时间点(秒) |
| | | rth_altitude: number // 相对机场返航高度 20 - 500 |
| | | out_of_control_action: OutOfControlAction // 失控动作 |
| | | } |
| | |
| | | dock_name: string, |
| | | workspace_id: string, |
| | | username: string, |
| | | execute_time: string, |
| | | begin_time: string, |
| | | end_time: string, |
| | | execute_time: string, |
| | | completed_time: string, |
| | | status: TaskStatus, // 任务状态 |
| | | progress: number, // 执行进度 |
| | | code: number, // 错误码 |
| | | rth_altitude: number // 相对机场返航高度 20 - 500 |
| | | out_of_control_action: OutOfControlAction // 失控动作 |
| | | media_count: number // 媒体数量 |
| | | uploading:boolean // 是否正在上传媒体 |
| | | uploaded_count: number // 已上传媒体数量 |
| | | } |
| | | |
| | | // Get Wayline Jobs |
| | |
| | | job_id: string |
| | | } |
| | | |
| | | // 取消机场任务 |
| | | // 删除机场任务 |
| | | export async function deleteTask (workspaceId: string, params: DeleteTaskParams): Promise<IWorkspaceResponse<{}>> { |
| | | const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/jobs` |
| | | const result = await request.delete(url, { |
| | | params: params |
| | | }) |
| | | return result.data |
| | | } |
| | | |
| | | export enum UpdateTaskStatus { |
| | | Suspend = 0, // 暂停 |
| | | Resume = 1, // 恢复 |
| | | } |
| | | export interface UpdateTaskStatusBody { |
| | | job_id: string |
| | | status: UpdateTaskStatus |
| | | } |
| | | |
| | | // 更新机场任务状态 |
| | | export async function updateTaskStatus (workspaceId: string, body: UpdateTaskStatusBody): Promise<IWorkspaceResponse<{}>> { |
| | | const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/jobs/${body.job_id}` |
| | | const result = await request.put(url, { |
| | | status: body.status |
| | | }) |
| | | return result.data |
| | | } |
| | |
| | | }) |
| | | return result.data |
| | | } |
| | | |
| | | // 媒体立即上传 |
| | | export const uploadMediaFileNow = async function (workspaceId: string, jobId: string): Promise<IWorkspaceResponse<{}>> { |
| | | const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/jobs/${jobId}/media-highest` |
| | | const result = await request.post(url) |
| | | return result.data |
| | | } |