import axios from 'axios'; import qs from 'query-string'; const BASE_URL = '/monitor/log'; export interface LogRecord { id?: number; ip: string; address: string; browser: string; os: string; createTime: string; } export interface LoginLogRecord extends LogRecord { description: string; status: number; errorMsg: string; createUserString: string; } export interface OperationLogRecord extends LogRecord { module: string; description: string; status: number; errorMsgString: string; createUserString: string; } export interface SystemLogRecord extends LogRecord { statusCode: number; requestMethod: string; requestUri: string; timeTaken: number; } export interface SystemLogDetailRecord extends SystemLogRecord { requestHeaders: string; requestBody: string; responseHeaders: string; responseBody: string; } export interface LoginLogParam extends Partial { page: number; size: number; sort: Array; } export interface LoginLogListRes { list: LoginLogRecord[]; total: number; } export function listLoginLog(params: LoginLogParam) { return axios.get(`${BASE_URL}/login`, { params, paramsSerializer: (obj) => { return qs.stringify(obj); }, }); } export interface OperationLogParam extends Partial { page: number; size: number; sort: Array; uid?: string; } export interface OperationLogListRes { list: OperationLogRecord[]; total: number; } export function listOperationLog(params: OperationLogParam) { return axios.get(`${BASE_URL}/operation`, { params, paramsSerializer: (obj) => { return qs.stringify(obj); }, }); } export interface SystemLogParam extends Partial { page: number; size: number; sort: Array; } export interface SystemLogListRes { list: SystemLogRecord[]; total: number; } export function listSystemLog(params: SystemLogParam) { return axios.get(`${BASE_URL}/system`, { params, paramsSerializer: (obj) => { return qs.stringify(obj); }, }); } export function getSystemLog(id: number) { return axios.get(`${BASE_URL}/system/${id}`); }