From b80ee8c883f279e843071e6b53ab9cddec3f88a0 Mon Sep 17 00:00:00 2001
From: 胡思旗 <931347610@qq.com>
Date: Tue, 29 Aug 2023 15:07:13 +0800
Subject: [PATCH] 登录流程对接、项目列表组件封装

---
 src/api/manage.ts |   58 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 9 deletions(-)

diff --git a/src/api/manage.ts b/src/api/manage.ts
index 1fe6b06..8df6a52 100644
--- a/src/api/manage.ts
+++ b/src/api/manage.ts
@@ -1,11 +1,13 @@
+import { Firmware, FirmwareQueryParam, FirmwareUploadParam } from '/@/types/device-firmware'
 import request, { CommonListResponse, IListWorkspaceResponse, IPage, IWorkspaceResponse } from '/@/api/http/request'
-const HTTP_PREFIX = '/manage/api/v1'
+import { Device } from '/@/types/device'
+
+const HTTP_PREFIX = '/system/auth'
 
 // login
 export interface LoginBody {
  username: string,
  password: string,
- flag: number,
 }
 export interface BindBody {
   device_sn: string,
@@ -22,12 +24,18 @@
   begin_time: number,
   end_time: number,
   message: string,
-  domain: string,
+  domain: number,
 }
 
 export const login = async function (body: LoginBody): Promise<IWorkspaceResponse<any>> {
-  const url = `${HTTP_PREFIX}/login`
+  const url = `${HTTP_PREFIX}/login/password`
   const result = await request.post(url, body)
+  return result.data
+}
+
+export const loginOut = async function (): Promise<IWorkspaceResponse<any>> {
+  const url = `${HTTP_PREFIX}/logout`
+  const result = await request.delete(url)
   return result.data
 }
 
@@ -116,7 +124,14 @@
   return result.data
 }
 
-export const getBindingDevices = async function (workspace_id: string, body: IPage, domain: string): Promise<IWorkspaceResponse<any>> {
+/**
+ * 获取绑定设备信息
+ * @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
@@ -141,13 +156,38 @@
 }
 
 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}&pageSize=${pagination.page_size}` + 
-    `&level=${body.level ?? ''}&beginTime=${body.begin_time ?? ''}&endTime=${body.end_time ?? ''}&message=${body.message ?? ''}&language=${body.language}`
+  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(`&deviceSn=${sn}`)
+      url = url.concat(`&device_sn=${sn}`)
     }
   })
   const result = await request.get(url)
   return result.data
-}
\ No newline at end of file
+}
+
+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