| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- import request, { IWorkspaceResponse, IListWorkspaceResponse } from '/@/api/http/request'
- import { DeviceValue, DOMAIN } from '/@/types/device'
- import { DeviceLogUploadStatusEnum } from '/@/types/device-log'
- import { getWorkspaceId } from '/@/utils/index';
- const MNG_API_PREFIX = '/manage/api/v1'
- export interface GetDeviceUploadLogListParams {
- device_sn: string,
- page: number,
- page_size: number,
- begin_time?: number, // 开始时间
- end_time?: number, // 结束时间
- status?: DeviceLogUploadStatusEnum, // 日志上传状态
- logs_information?: string // 搜索内容
- }
- export interface BriefDeviceInfo {
- sn: string,
- device_model: DeviceValue,
- device_callsign: string
- }
- export interface DeviceLogProgressInfo {
- device_sn: string,
- device_model_domain: DOMAIN,
- progress: number, // 进度
- result: number, // 上传结果
- upload_rate: number, // 上传速率
- status: DeviceLogUploadStatusEnum // 上传状态
- }
- export interface DeviceLogItem {
- boot_index: number, // 日志id
- start_time: number, // 日志开始时间
- end_time: number, // 日志结束时间
- size: number // 日志大小
- }
- export interface DeviceLogFileInfo {
- device_sn: string,
- module: DOMAIN,
- result: number,
- object_key: string,
- file_id: string,
- list: DeviceLogItem[]
- }
- export interface DeviceLogFileListInfo {
- files: DeviceLogFileInfo[]
- }
- export interface GetDeviceUploadLogListRsp {
- logs_id: string, // 记录id
- happen_time: string, // 发生时间
- user_name: string, // 用户
- logs_information: string, // 异常描述
- create_time: string, // 上传时间
- status: DeviceLogUploadStatusEnum, // 日志上传状态
- device_topo: { // 设备topo
- hosts: BriefDeviceInfo[],
- parents: BriefDeviceInfo[]
- },
- logs_progress: DeviceLogProgressInfo[], // 日志上传进度
- device_logs: DeviceLogFileListInfo // 设备日志
- }
- /**
- * 获取设备上传日志列表信息
- * @param params
- * @returns
- */
- export async function getDeviceUploadLogList(params: GetDeviceUploadLogListParams): Promise<IListWorkspaceResponse<GetDeviceUploadLogListRsp>> {
- const resp = await request.get(`${MNG_API_PREFIX}/workspaces/${getWorkspaceId()}/devices/${params.device_sn}/logs-uploaded`, {
- params: params
- })
- return resp.data
- }
- export interface GetDeviceLogListParams {
- device_sn: string,
- domain: DOMAIN[]
- }
- /**
- * 获取设备日志列表信息
- * @param params
- * @returns
- */
- export async function getDeviceLogList(params: GetDeviceLogListParams): Promise<IWorkspaceResponse<DeviceLogFileListInfo>> {
- const domain = params.domain ? params.domain : []
- const resp = await request.get(`${MNG_API_PREFIX}/workspaces/${getWorkspaceId()}/devices/${params.device_sn}/logs`, {
- params: {
- domain_list: domain.join(',')
- }
- })
- return resp.data
- }
- export interface UploadDeviceLogBody {
- device_sn: string
- happen_time: string // 发生时间
- logs_information: string // 异常描述
- files: {
- list: DeviceLogItem[],
- device_sn: string,
- module: DOMAIN
- }[]
- }
- /**
- * 上传设备日志
- * @param body
- * @returns
- */
- export async function postDeviceUpgrade(body: UploadDeviceLogBody): Promise<IWorkspaceResponse<{}>> {
- const resp = await request.post(`${MNG_API_PREFIX}/workspaces/${getWorkspaceId()}/devices/${body.device_sn}/logs`, body)
- return resp.data
- }
- export type DeviceLogUploadAction = 'cancel'
- export interface CancelDeviceLogUploadBody {
- device_sn: string
- status: DeviceLogUploadAction
- module_list: DOMAIN[]
- }
- // 取消上传
- export async function cancelDeviceLogUpload(body: CancelDeviceLogUploadBody): Promise<IWorkspaceResponse<{}>> {
- const url = `${MNG_API_PREFIX}/workspaces/${getWorkspaceId()}/devices/${body.device_sn}/logs`
- const result = await request.delete(url, {
- data: body
- })
- return result.data
- }
- export interface DeleteDeviceLogUploadBody {
- device_sn: string
- logs_id: string
- }
- // 取消上传
- export async function deleteDeviceLogUpload(body: DeleteDeviceLogUploadBody): Promise<IWorkspaceResponse<{}>> {
- const url = `${MNG_API_PREFIX}/workspaces/${getWorkspaceId()}/devices/${body.device_sn}/logs/${body.logs_id}`
- const result = await request.delete(url, {
- data: body
- })
- return result.data
- }
- export interface GetUploadDeviceLogUrlParams {
- logs_id: string,
- file_id: string,
- }
- // export interface GetUploadDeviceLogRsp{
- // url: string
- // }
- /**
- * 获取设备上传日志url
- * @param params
- * @returns
- */
- export async function getUploadDeviceLogUrl(params: GetUploadDeviceLogUrlParams): Promise<IWorkspaceResponse<string>> {
- const resp = await request.get(`${MNG_API_PREFIX}/workspaces/${getWorkspaceId()}/logs/${params.logs_id}/url/${params.file_id}`)
- return resp.data
- }
|