From 54849757852f6ab40eb17afbd03d1d839b60a38d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 13 Nov 2023 17:09:15 +0800
Subject: [PATCH] 重复定时和连续执行
---
src/api/wayline.ts | 89 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 75 insertions(+), 14 deletions(-)
diff --git a/src/api/wayline.ts b/src/api/wayline.ts
index 0838d99..1d624c6 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 = '/api/drone'
+const HTTP_PREFIX = '/wayline/api/v1'
// Get Wayline Files
-export const getWaylineFiles = async function (params:any): Promise<IWorkspaceResponse<any>> {
- const url = `${HTTP_PREFIX}/waylineFile/getList`
- const result = await request.get(url,{ params })
+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)
return result.data
}
@@ -27,6 +27,12 @@
} else {
return result.data
}
+}
+// get Wayline File
+export const getWayLineFile = async function (workspaceId: string, waylineId: string) {
+ const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/waylines/${waylineId}/urlData`
+ const result = await request.get(url)
+ return result.data
}
// Delete Wayline File
@@ -59,12 +65,39 @@
finishAction: number
breakContinue: number
}
+export interface CreatePlan {
+ name: string,
+ file_id: string,
+ dock_sn: string,
+ task_type: TaskType, // 任务类型
+ wayline_type: WaylineType, // 航线类型
+ task_days?: number[] // 执行任务的日期(秒)
+ task_periods?: number[][] // 执行任务的时间点(秒)
+ rth_altitude: number // 相对机场返航高度 20 - 500
+ out_of_control_action: OutOfControlAction // 失控动作
+ // 重复频率类型
+ rep_fre_type?:number
+ // 重复频率值
+ rep_fre_val?:number
+ // 重复规则值
+ rep_rule_val?:[]
+ rep_rule_type?:number
-
+ min_battery_capacity?:number
+ // 执行开始时间
+ execute_start_time_arr:number[][]
+}
// 新增计划
-export const createPlan = async function (plan:any): Promise<IWorkspaceResponse<any>> {
- const url = `${HTTP_PREFIX}/waylineJob/add`
+export const createPlan = async function (workspaceId: string, plan: CreatePlan): Promise<IWorkspaceResponse<any>> {
+ const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/flight-tasks`
+ const result = await request.post(url, plan)
+ return result.data
+}
+
+// 新增计划,重复定时和连续执行走这个逻辑
+export const createPlanCondition = async function (workspaceId: string, plan: CreatePlan): Promise<IWorkspaceResponse<any>> {
+ const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/flight-tasks-condition`
const result = await request.post(url, plan)
return result.data
}
@@ -94,10 +127,27 @@
uploaded_count: number // 已上传媒体数量
}
+export interface TaskQueryParam{
+ dockSn?:string
+ taskType?:any
+ status?:any
+ name?:string
+ startTime?:string
+ endTime?:string
+ parentId?:string
+}
+
// 获取计划列表(分页)
-export const getWaylineJobs = async function (workspaceId: string, page: IPage): Promise<IListWorkspaceResponse<Task>> {
- const url = `${HTTP_PREFIX}/waylineJob/getPage`
- const result = await request.get(url,{params:{workspaceId}})
+export const getWaylineJobs = async function (workspaceId: string, page: IPage, params:TaskQueryParam): Promise<IListWorkspaceResponse<Task>> {
+ const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/jobs?page=${page.page}&page_size=${page.page_size}`
+ const result = await request.get(url, { params })
+ return result.data
+}
+
+// 获取子数据
+export const getWaylineChildrenJobs = async function (workspaceId: string, params:TaskQueryParam): Promise<IListWorkspaceResponse<Task>> {
+ const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/getChildrenJobs`
+ const result = await request.get(url, { params })
return result.data
}
@@ -134,11 +184,8 @@
// Upload Wayline file
export const importKmzFile = async function (workspaceId: string, file: {}): Promise<IWorkspaceResponse<any>> {
- const url = `${HTTP_PREFIX}/waylineFile/upload`
+ const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/waylines/file/upload`
const result = await request.post(url, file, {
- params:{
- projectId: workspaceId
- },
headers: {
'Content-Type': 'multipart/form-data',
}
@@ -152,3 +199,17 @@
const result = await request.post(url)
return result.data
}
+
+// 历史轨迹记录
+export const getHistoryTrack = async function (workspaceId: string, page: number, page_size :number): Promise<IWorkspaceResponse<any>> {
+ const url = `/log/droneFlightLog/page?page=${page}&page_sie=${page_size}&workspaceId=${workspaceId}`
+ const result = await request.get(url)
+ return result.data
+}
+
+// 历史轨迹详情
+export const getHistoryDetail = async function (id: string): Promise<IWorkspaceResponse<any>> {
+ const url = `/log/droneFlightLog/infoListByFid?flightId=${id}`
+ const result = await request.get(url)
+ return result.data
+}
--
Gitblit v1.9.3