guoshilong
2023-11-13 54849757852f6ab40eb17afbd03d1d839b60a38d
src/api/manage.ts
@@ -1,11 +1,15 @@
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
export interface LoginBody {
 username: string,
 password: string,
 flag: number,
  username: string,
  password: string,
  flag: number
}
export interface BindBody {
  device_sn: string,
@@ -22,12 +26,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 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
}
@@ -45,6 +55,34 @@
  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 (): Promise<IWorkspaceResponse<any>> {
  const url = `${HTTP_PREFIX}/users/current`
@@ -52,7 +90,7 @@
  return result.data
}
// Get Device Topo
// 获取在线设备信息
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)
@@ -60,8 +98,8 @@
}
// 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
}
@@ -92,6 +130,12 @@
  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)
@@ -109,16 +153,42 @@
  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
}
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
}
/**
 * 获取设备信息
 * @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
}
@@ -141,13 +211,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
}
}
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
}