From 3667807a7b7418efc090ee3fa6a6b734bc3080bf Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 13 Sep 2023 20:36:29 +0800
Subject: [PATCH] Merge branch 'develop' of http://s16s652780.51mypc.cn:49896/r/yskj/iot_drone_web into develop
---
src/api/wayline.ts | 80 +++++++++++++++++++++++++++++-----------
1 files changed, 58 insertions(+), 22 deletions(-)
diff --git a/src/api/wayline.ts b/src/api/wayline.ts
index ec579dc..cb685db 100644
--- a/src/api/wayline.ts
+++ b/src/api/wayline.ts
@@ -3,12 +3,12 @@
import { TaskType, TaskStatus, OutOfControlAction } from '/@/types/task'
import { WaylineType } from '/@/types/wayline'
-const HTTP_PREFIX = '/wayline/api/v1'
+const HTTP_PREFIX = '/api/drone'
// Get Wayline Files
-export const getWaylineFiles = async function (wid: string, body: {}): Promise<IWorkspaceResponse<any>> {
- const url = `${HTTP_PREFIX}/workspaces/${wid}/waylines?order_by=${body.order_by}&page=${body.page}&page_size=${body.page_size}`
- const result = await request.get(url)
+export const getWaylineFiles = async function (params:any): Promise<IWorkspaceResponse<any>> {
+ const url = `${HTTP_PREFIX}/waylineFile/getList`
+ const result = await request.get(url, { params })
return result.data
}
@@ -36,20 +36,33 @@
return result.data
}
-export interface CreatePlan {
- name: string,
- file_id: string,
- dock_sn: string,
- task_type: TaskType, // 任务类型
- wayline_type: WaylineType, // 航线类型
- execute_time?: number // 执行时间(毫秒)
- rth_altitude: number // 相对机场返航高度 20 - 500
- out_of_control_action: OutOfControlAction // 失控动作
+export interface waylineJob {
+ name: string
+ fileId: string
+ waylineId:string
+ dockSn: string
+ workspaceId: string
+ taskType: TaskType
+ executeSingleTime?: string
+ repeatExecuteTimeArr?: string[]
+ executeStartTime?: string
+ executeEndTime?: string
+ executeRepeatTime?: string[]
+ frequencyValue?: number
+ frequencyType?: number
+ repeatRuleType?: number
+ repeatRuleValueDay?: number[]
+ repeatRuleValueWeek?: number[]
+ startPower: number
+ rthAltitude: number
+ outOfControl: number
+ finishAction: number
+ breakContinue: number
}
-// Create Wayline Job
-export const createPlan = async function (workspaceId: string, plan: CreatePlan): Promise<IWorkspaceResponse<any>> {
- const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/flight-tasks`
+// 新增计划
+export const createPlan = async function (plan:any): Promise<IWorkspaceResponse<any>> {
+ const url = `${HTTP_PREFIX}/waylineJob/add`
const result = await request.post(url, plan)
return result.data
}
@@ -65,8 +78,10 @@
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, // 错误码
@@ -77,10 +92,10 @@
uploaded_count: number // 已上传媒体数量
}
-// Get Wayline Jobs
+// 获取计划列表(分页)
export const getWaylineJobs = async function (workspaceId: string, page: IPage): Promise<IListWorkspaceResponse<Task>> {
- const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/jobs?page=${page.page}&page_size=${page.page_size}`
- const result = await request.get(url)
+ const url = `${HTTP_PREFIX}/waylineJob/getPage`
+ const result = await request.get(url, { params: { workspaceId } })
return result.data
}
@@ -88,7 +103,7 @@
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, {
@@ -97,10 +112,31 @@
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
+}
+
// Upload Wayline file
export const importKmzFile = async function (workspaceId: string, file: {}): Promise<IWorkspaceResponse<any>> {
- const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/waylines/file/upload`
+ const url = `${HTTP_PREFIX}/waylineFile/upload`
const result = await request.post(url, file, {
+ params: {
+ projectId: workspaceId
+ },
headers: {
'Content-Type': 'multipart/form-data',
}
--
Gitblit v1.9.3