Files
vue3-element-admin/src/api/log.ts
Theo afc9109803 feat: 操作日志新增操作时间查询条件
操作日志新增操作时间查询条件
2024-08-10 15:36:46 +08:00

123 lines
2.3 KiB
TypeScript

import request from "@/utils/request";
const LOG_BASE_URL = "/api/v1/logs";
class LogAPI {
/**
* 获取日志分页列表
*
* @param queryParams 查询参数
*/
static getPage(queryParams: LogPageQuery) {
return request<any, PageResult<LogPageVO[]>>({
url: `${LOG_BASE_URL}/page`,
method: "get",
params: queryParams,
});
}
/**
* 获取访问趋势
*
* @param queryParams
* @returns
*/
static getVisitTrend(queryParams: VisitTrendQuery) {
return request<any, VisitTrendVO>({
url: `${LOG_BASE_URL}/visit-trend`,
method: "get",
params: queryParams,
});
}
/**
* 获取访问趋势
*
* @param queryParams
* @returns
*/
static getVisitStats() {
return request<any, VisitStatsVO[]>({
url: `${LOG_BASE_URL}/visit-stats`,
method: "get",
});
}
}
export default LogAPI;
/**
* 日志分页查询对象
*/
export interface LogPageQuery extends PageQuery {
/** 搜索关键字 */
keywords?: string;
/** 操作时间 */
createTime?: [string, string];
}
/**
* 系统日志分页VO
*/
export interface LogPageVO {
/** 主键 */
id: number;
/** 日志模块 */
module: string;
/** 日志内容 */
content: string;
/** 请求路径 */
requestUri: string;
/** 请求方法 */
method: string;
/** IP 地址 */
ip: string;
/** 地区 */
region: string;
/** 浏览器 */
browser: string;
/** 终端系统 */
os: string;
/** 执行时间(毫秒) */
executionTime: number;
/** 操作人 */
operator: string;
}
/** 访问趋势视图对象 */
export interface VisitTrendVO {
/** 日期列表 */
dates: string[];
/** 浏览量(PV) */
pvList: number[];
/** 访客数(UV) */
uvList: number[];
/** IP数 */
ipList: number[];
}
/** 访问趋势查询参数 */
export interface VisitTrendQuery {
/** 开始日期 */
startDate: string;
/** 结束日期 */
endDate: string;
}
/** 访问统计 */
export interface VisitStatsVO {
/** 标题 */
title: string;
/** 类型 */
type: "pv" | "uv" | "ip";
/** 今日访问量 */
todayCount: number;
/** 总访问量 */
totalCount: number;
/** 同比增长率(相对于昨天同一时间段的增长率) */
growthRate: number;
totalCountOutput: number;
}