import request from '/@/api/http/request'; import { getWorkspaceId } from '/@/utils/index'; // Api参数类型 export type SignLoginApiParams = { username: string, client_id: string, timestamp: number, workspace_id: string, workspace_name: string, signature: string, }; export type FetchFeedbackRecordListApiParams = { page: number, page_size: number, }; export type FetchChangeRecordListApiParams = { page: number, page_size: number, begin_time?: number, // 开始时间 end_time?: number, // 结束时间 device_name?: string,//设备类型 logsInformation?: string,//模糊查询内容 }; export type FetchMediaFileListApiParams = Partial<{ begin_time: number, end_time: number, template_type: number, payload: string, search_info: string, page: number, page_size: number, }>; export type BatchDownloadMediaFileApiParams = { id: string }; export type FetchFileListByFolderApiParams = Partial<{ begin_time: number, end_time: number, media_type: number, search_info: string, page: number, page_size: number, }>; export type BatchDownloadFileApiParams = { id: string }; export type BatchDeletePictureApiParams = { id: string }; export type FetchTrajectoryListApiParams = Partial<{ begin_time: number, end_time: number, template_type: number, payload: number, search_info: string, page: number, page_size: number, }>; export type AddPilotApiParams = { username: number, password: number, }; export type FetchPilotPasswordApiParams = { userId: string, }; // Api函数类型 export type SignLoginApi = (data: SignLoginApiParams) => Promise; export type FetchDeviceModelApi = (params?: { flg: boolean }) => Promise; export type FetchDeviceStatusApi = (params: { snList: string }) => Promise; export type FetchPayloadListApi = () => Promise; export type FetchFeedbackRecordListApi = (data: FetchFeedbackRecordListApiParams) => Promise; export type FetchChangeRecordListApi = (params: FetchFeedbackRecordListApiParams) => Promise; export type FetchProjectListApi = () => Promise; export type FetchMediaFileListApi = (params: FetchMediaFileListApiParams) => Promise; export type BatchDownloadMediaFileApi = (params: BatchDownloadMediaFileApiParams) => Promise; export type FetchFileListByFolderApi = (dirId: string, params: FetchFileListByFolderApiParams) => Promise; export type FetchFileDetailApi = (fileId: string) => Promise; export type BatchDownloadFileApi = (params: BatchDownloadFileApiParams) => Promise; export type CreateMapElementApi = (fileId: string) => Promise; export type DeleteMapElementApi = (fileId: string) => Promise; export type UpdateFileNameApi = (fileId: string, data: { [key: string]: any }) => Promise; export type BatchDeletePictureApi = (params: BatchDeletePictureApiParams) => Promise; export type FetchTrajectoryListApi = (params: FetchTrajectoryListApiParams) => Promise; export type FetchTrajectoryMapApi = (taskId: string) => Promise; export type AddPilotApi = (data: AddPilotApiParams) => Promise; export type FetchPilotPasswordApi = (params: FetchPilotPasswordApiParams) => Promise; // 密钥登录 const signLoginApi: SignLoginApi = async (data) => { const res = await request.post('/manage/api/v1/signLogin', data); return res.data; } // 获取设备型号 const fetchDeviceModelApi: FetchDeviceModelApi = async (params) => { const res = await request.get(`/manage/api/v1/devices/${getWorkspaceId()}/getDeviceType`, { params: params }); return res.data; }; // 获取设备状态 const fetchDeviceStatusApi: FetchDeviceStatusApi = async (params) => { const res = await request.get(`/manage/api/v1/devices/${getWorkspaceId()}/devices/status`, { params: params }); return res.data; }; // 获取负载列表 const fetchPayloadListApi: FetchPayloadListApi = async () => { const res = await request.get(`/manage/api/v1/devices/${getWorkspaceId()}/payloads`); return res.data; }; // 获取反馈记录列表 const fetchFeedbackRecordListApi: FetchFeedbackRecordListApi = async (data) => { const res = await request.get('/manage/api/v1/devices', { params: data }); return res.data; }; // 获取变化记录列表 const fetchChangeRecordListApi: FetchChangeRecordListApi = async (params) => { const res = await request.get(`/manage/api/v1/oprlogs/${getWorkspaceId()}/devices/logs`, { params: params }); return res.data; }; // 获取项目列表 const fetchProjectListApi: FetchProjectListApi = async () => { const res = await request.get('/manage/api/v1/workspaces/list'); return res.data; }; // 获取文件夹列表 const fetchMediaFileListApi: FetchMediaFileListApi = async (params) => { const res = await request.get(`/media/api/v1/files/${getWorkspaceId()}/dirs`, { params: params }); return res.data; }; // 批量下载文件夹 const batchDownloadMediaFileApi: BatchDownloadMediaFileApi = async (params) => { const res = await request.get(`/media/api/v1/files/${getWorkspaceId()}/fileDownList`, { responseType: 'blob', params: params }); return res.data; }; // 获取文件夹下所有文件 const fetchFileListByFolderApi: FetchFileListByFolderApi = async (dirId, params) => { const res = await request.get(`/media/api/v1/files/${getWorkspaceId()}/files/${dirId}`, { params: params }); return res.data; }; // 获取文件详情 const fetchFileDetailApi: FetchFileDetailApi = async (fileId) => { const res = await request.get(`/media/api/v1/files/${getWorkspaceId()}/file/${fileId}`); return res.data; }; // 批量下载文件 const batchDownloadFileApi: BatchDownloadFileApi = async (params) => { const res = await request.get(`/media/api/v1/files/${getWorkspaceId()}/downloadFiles`, { responseType: 'blob', params: params }); return res.data; }; // 添加图片元素 const createMapElementApi: CreateMapElementApi = async (fileId) => { const url = `/media/api/v1/files/workspaces/${getWorkspaceId()}/createMapElement/${fileId}` const result = await request.post(url) return result.data; } // 删除图片元素 const deleteMapElementApi: DeleteMapElementApi = async (fileId) => { const url = `/media/api/v1/files/workspaces/${getWorkspaceId()}/deleteMapElement/${fileId}` const result = await request.delete(url) return result.data; } // 更新文件名称 const updateFileNameApi: UpdateFileNameApi = async (fileId, data) => { const url = `/media/api/v1/files/${getWorkspaceId()}/updateFile/${fileId}` const result = await request.put(url, data) return result.data } // 批量删除图片 const batchDeletePictureApi: BatchDeletePictureApi = async (data) => { const res = await request.delete(`/media/api/v1/files/${getWorkspaceId()}/deleteFiles`, { params: data }); return res.data; }; // 获取轨迹列表 const fetchTrajectoryListApi: FetchTrajectoryListApi = async (params) => { const url = `/map/api/v1/workspaces/${getWorkspaceId()}/flight-tasks` const res = await request.get(url, { params: params }); return res.data; }; // 获取轨迹地图 const fetchTrajectoryMapApi: FetchTrajectoryMapApi = async (taskId) => { const url = `/map/api/v1/workspaces/${getWorkspaceId()}/flight-task/${taskId}` const res = await request.get(url); return res.data; }; // 添加飞行员 const addPilotApi: AddPilotApi = async (data) => { const url = `/manage/api/v1/users/${getWorkspaceId()}/savePilotUser` const res = await request.post(url, data); return res.data; }; // 获取飞行员密码 const fetchPilotPasswordApi: FetchPilotPasswordApi = async (params) => { const url = `/manage/api/v1/users/getPwd` const res = await request.get(url, { params: params }); return res.data; }; export const apis = { signLogin: signLoginApi, fetchDeviceModel: fetchDeviceModelApi, fetchDeviceStatus: fetchDeviceStatusApi, fetchPayloadList: fetchPayloadListApi, fetchFeedbackRecordList: fetchFeedbackRecordListApi, fetchChangeRecordList: fetchChangeRecordListApi, fetchProjectList: fetchProjectListApi, fetchMediaFileList: fetchMediaFileListApi, batchDownloadMediaFile: batchDownloadMediaFileApi, fetchFileListByFolder: fetchFileListByFolderApi, fetchFileDetail: fetchFileDetailApi, batchDownloadFile: batchDownloadFileApi, createMapElement: createMapElementApi, deleteMapElement: deleteMapElementApi, updateFileName: updateFileNameApi, batchDeletePicture: batchDeletePictureApi, fetchTrajectoryList: fetchTrajectoryListApi, fetchTrajectoryMap: fetchTrajectoryMapApi, AddPilot: addPilotApi, fetchPilotPassword: fetchPilotPasswordApi, };