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/manage.ts |  216 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 201 insertions(+), 15 deletions(-)

diff --git a/src/api/manage.ts b/src/api/manage.ts
index 305fcb0..a22e272 100644
--- a/src/api/manage.ts
+++ b/src/api/manage.ts
@@ -1,14 +1,43 @@
-import request, { IWorkspaceResponse } from '/@/api/http/request'
+import { Firmware, FirmwareQueryParam, FirmwareUploadParam } from '/@/types/device-firmware'
+import request, { CommonListResponse, IListWorkspaceResponse, IPage, IWorkspaceResponse } from '/@/api/http/request'
+import { Device } from '/@/types/device'
+
 const HTTP_PREFIX = '/manage/api/v1'
+const HTTP_PREFIX_MANAGE = 'api/drone'
 
 // login
-interface loginBody {
- username: string,
- password: string
+export interface LoginBody {
+  username: string,
+  password: string,
+  flag: number
 }
-export const login = async function (body: loginBody): Promise<IWorkspaceResponse<any>> {
+export interface BindBody {
+  device_sn: string,
+  user_id: string,
+  workspace_id: string,
+  domain?: string
+}
+export interface HmsQueryBody {
+  sns: string[],
+  children_sn: string,
+  device_sn: string,
+  language: string,
+  level: number | string,
+  begin_time: number,
+  end_time: number,
+  message: string,
+  domain: number,
+}
+
+export const login = async function (body: LoginBody): Promise<IWorkspaceResponse<any>> {
   const url = `${HTTP_PREFIX}/login`
   const result = await request.post(url, body)
+  return result.data
+}
+
+export const loginOut = async function (): Promise<IWorkspaceResponse<any>> {
+  const url = `api/${HTTP_PREFIX}/logout`
+  const result = await request.delete(url)
   return result.data
 }
 
@@ -20,29 +49,57 @@
 }
 
 // Get Platform Info
-export const getPlatformInfo = async function (body: {}): Promise<IWorkspaceResponse<any>> {
+export const getPlatformInfo = async function (): Promise<IWorkspaceResponse<any>> {
   const url = `${HTTP_PREFIX}/workspaces/current`
-  const result = await request.get(url, body)
+  const result = await request.get(url)
+  return result.data
+}
+
+// edit Platform info
+export const editPlatformInfo = async function (params:any): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/workspaces/update`
+  const result = await request.post(url, params)
+  return result.data
+}
+
+// add Platform info
+export const addPlatformInfo = async function (params:any): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/workspaces/add`
+  const result = await request.post(url, params)
+  return result.data
+}
+
+// delete Platform info
+export const delPlatformInfo = async function (id:any): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/workspaces/delete?id=${id}`
+  const result = await request.post(url, { id })
+  return result.data
+}
+
+// Get Platform
+export const getPlatform = async function (params:any, page:number, pageSize:number): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/workspaces/list`
+  const result = await request.get(url, { params: { ...params, page, pageSize } })
   return result.data
 }
 
 // Get User Info
-export const getUserInfo = async function (body: {}): Promise<IWorkspaceResponse<any>> {
+export const getUserInfo = async function (): Promise<IWorkspaceResponse<any>> {
   const url = `${HTTP_PREFIX}/users/current`
-  const result = await request.get(url, body)
+  const result = await request.get(url)
   return result.data
 }
 
-// Get Device Topo
-export const getDeviceTopo = async function (body: {}): Promise<IWorkspaceResponse<any>> {
-  const url = `${HTTP_PREFIX}/devices/devices`
-  const result = await request.get(url, body)
+// 获取在线设备信息
+export const getDeviceTopo = async function (workspace_id: string): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${workspace_id}/devices`
+  const result = await request.get(url)
   return result.data
 }
 
 // Get Livestream Capacity
-export const getLiveCapacity = async function (body: {}): Promise<IWorkspaceResponse<any>> {
-  const url = `${HTTP_PREFIX}/live/capacity`
+export const getLiveCapacity = async function (body:any): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/live/capacity/${body.id}`
   const result = await request.get(url, body)
   return result.data
 }
@@ -60,3 +117,132 @@
   const result = await request.post(url, body)
   return result.data
 }
+// Update Quality
+export const setLivestreamQuality = async function (body: {}): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/live/streams/update`
+  const result = await request.post(url, body)
+  return result.data
+}
+
+export const getAllUsersInfo = async function (wid: string, body: IPage): Promise<CommonListResponse<any>> {
+  const url = `${HTTP_PREFIX}/users/${wid}/users?&page=${body.page}&page_size=${body.page_size}`
+  const result = await request.get(url)
+  return result.data
+}
+
+export const getUserPage = async function (params: any, body: IPage): Promise<CommonListResponse<any>> {
+  const url = `${HTTP_PREFIX}/user/page`
+  const result = await request.get(url, { params: { ...params, pageNum: body.current, pageSize: body.size } })
+  return result.data
+}
+
+export const updateUserInfo = async function (wid: string, user_id: string, body: {}): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/users/${wid}/users/${user_id}`
+  const result = await request.put(url, body)
+  return result.data
+}
+
+export const bindDevice = async function (body: BindBody): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${body.device_sn}/binding`
+  const result = await request.post(url, body)
+  return result.data
+}
+
+export const unbindDevice = async function (device_sn: string): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${device_sn}/unbinding`
+  const result = await request.delete(url)
+  return result.data
+}
+export const UnBind = async function (device_sn: string): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${device_sn}/unsubscribeTopic`
+  const result = await request.get(url)
+  return result.data
+}
+export const testBind = async function (device_sn: string): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${device_sn}/subscribeTopic`
+  const result = await request.get(url)
+  return result.data
+}
+export const getDeviceBySn = async function (workspace_id: string, device_sn: string): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/${device_sn}`
+  const result = await request.get(url)
+  return result.data
+}
+
+/**
+ * 获取绑定设备信息
+ * @param workspace_id
+ * @param body
+ * @param domain
+ * @returns
+ */
+export const getBindingDevices = async function (workspace_id: string, body: IPage, domain: number): Promise<IListWorkspaceResponse<Device>> {
+  const url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/bound?&page=${body.page}&page_size=${body.page_size}&domain=${domain}`
+  const result = await request.get(url)
+  return result.data
+}
+
+/**
+ * 获取设备信息
+ * @param params
+ */
+export const getDeviceList = async function (params:any): Promise<IListWorkspaceResponse<Device>> {
+  const url = `${HTTP_PREFIX}/manage/device/getPage`
+  const result = await request.get(url, { params })
+  return result.data
+}
+
+export const updateDevice = async function (body: {}, workspace_id: string, device_sn: string): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/${device_sn}`
+  const result = await request.put(url, body)
+  return result.data
+}
+
+export const getUnreadDeviceHms = async function (workspace_id: string, device_sn: string): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/hms/${device_sn}`
+  const result = await request.get(url)
+  return result.data
+}
+
+export const updateDeviceHms = async function (workspace_id: string, device_sn: string): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/hms/${device_sn}`
+  const result = await request.put(url)
+  return result.data
+}
+
+export const getDeviceHms = async function (body: HmsQueryBody, workspace_id: string, pagination: IPage): Promise<IListWorkspaceResponse<any>> {
+  let url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/hms?page=${pagination.page}&page_size=${pagination.page_size}` +
+    `&level=${body.level ?? ''}&begin_time=${body.begin_time ?? ''}&end_time=${body.end_time ?? ''}&message=${body.message ?? ''}&language=${body.language}`
+  body.sns.forEach((sn: string) => {
+    if (sn !== '') {
+      url = url.concat(`&device_sn=${sn}`)
+    }
+  })
+  const result = await request.get(url)
+  return result.data
+}
+
+export const changeLivestreamLens = async function (body: {}): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/live/streams/switch`
+  const result = await request.post(url, body)
+  return result.data
+}
+
+export const getFirmwares = async function (workspace_id: string, page: IPage, body: FirmwareQueryParam): Promise<IListWorkspaceResponse<Firmware>> {
+  const url = `${HTTP_PREFIX}/workspaces/${workspace_id}/firmwares?page=${page.page}&page_size=${page.page_size}` +
+    `&device_name=${body.device_name}&product_version=${body.product_version}&status=${body.firmware_status ?? ''}`
+  const result = await request.get(url)
+  return result.data
+}
+
+export const importFirmareFile = async function (workspaceId: string, param: FormData): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/firmwares/file/upload`
+  const result = await request.post(url, param)
+  return result.data
+}
+
+export const changeFirmareStatus = async function (workspaceId: string, firmwareId: string, param: {status: boolean}): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/firmwares/${firmwareId}`
+  const result = await request.put(url, param)
+  return result.data
+}

--
Gitblit v1.9.3