108 lines
2.2 KiB
TypeScript
108 lines
2.2 KiB
TypeScript
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<LoginLogRecord> {
|
|
page: number;
|
|
size: number;
|
|
sort: Array<string>;
|
|
}
|
|
|
|
export interface LoginLogListRes {
|
|
list: LoginLogRecord[];
|
|
total: number;
|
|
}
|
|
|
|
export function listLoginLog(params: LoginLogParam) {
|
|
return axios.get<LoginLogListRes>(`${BASE_URL}/login`, {
|
|
params,
|
|
paramsSerializer: (obj) => {
|
|
return qs.stringify(obj);
|
|
},
|
|
});
|
|
}
|
|
|
|
export interface OperationLogParam extends Partial<OperationLogRecord> {
|
|
page: number;
|
|
size: number;
|
|
sort: Array<string>;
|
|
uid?: string;
|
|
}
|
|
|
|
export interface OperationLogListRes {
|
|
list: OperationLogRecord[];
|
|
total: number;
|
|
}
|
|
|
|
export function listOperationLog(params: OperationLogParam) {
|
|
return axios.get<OperationLogListRes>(`${BASE_URL}/operation`, {
|
|
params,
|
|
paramsSerializer: (obj) => {
|
|
return qs.stringify(obj);
|
|
},
|
|
});
|
|
}
|
|
|
|
export interface SystemLogParam extends Partial<SystemLogRecord> {
|
|
page: number;
|
|
size: number;
|
|
sort: Array<string>;
|
|
}
|
|
|
|
export interface SystemLogListRes {
|
|
list: SystemLogRecord[];
|
|
total: number;
|
|
}
|
|
|
|
export function listSystemLog(params: SystemLogParam) {
|
|
return axios.get<SystemLogListRes>(`${BASE_URL}/system`, {
|
|
params,
|
|
paramsSerializer: (obj) => {
|
|
return qs.stringify(obj);
|
|
},
|
|
});
|
|
}
|
|
|
|
export function getSystemLog(id: number) {
|
|
return axios.get<SystemLogDetailRecord>(`${BASE_URL}/system/${id}`);
|
|
}
|