曹睿
2025-04-22 2fa9c764993b4a7ad51754d0e8587990f96f1529
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import request from "@/utils/request";
 
const LOG_BASE_URL = "/api/v1/logs";
 
const LogAPI = {
  /**
   * 获取日志分页列表
   *
   * @param queryParams 查询参数
   */
  getPage(queryParams: LogPageQuery) {
    return request<PageResult<LogVO[]>>({
      url: `${LOG_BASE_URL}/page`,
      method: "GET",
      data: queryParams,
    });
  },
 
  /**
   * 获取访问趋势
   *
   * @param queryParams
   * @returns
   */
  getVisitTrend(queryParams: VisitTrendQuery) {
    return request<VisitTrendVO>({
      url: `${LOG_BASE_URL}/visit-trend`,
      method: "GET",
      data: queryParams,
    });
  },
 
  /**
   * 获取访问趋势
   *
   * @param queryParams
   * @returns
   */
  getVisitStats() {
    return request<VisitStatsVO>({
      url: `${LOG_BASE_URL}/visit-stats`,
      method: "GET",
    });
  },
};
 
export default LogAPI;
 
/**
 * 日志分页查询对象
 */
export interface LogPageQuery extends PageQuery {
  /** 搜索关键字 */
  keywords?: string;
  /** 操作时间 */
  createTime?: [string, string] | string;
}
 
/**
 * 系统日志分页VO
 */
export interface LogVO {
  /** 主键 */
  id?: number;
  /** 日志模块 */
  module?: string;
  /** 日志内容 */
  content?: string;
  /** 请求路径 */
  requestUri?: string;
  /** 请求方法 */
  method?: string;
  /** IP 地址 */
  ip?: string;
  /** 地区 */
  region?: string;
  /** 浏览器 */
  browser?: string;
  /** 终端系统 */
  os?: string;
  /** 执行时间(毫秒) */
  executionTime?: number;
  /** 操作人 */
  operator?: string;
  /** 操作时间 */
  createTime?: 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 {
  /** 今日访客数(UV) */
  todayUvCount: number;
  /** 总访客数 */
  totalUvCount: number;
  /** 访客数同比增长率(相对于昨天同一时间段的增长率) */
  uvGrowthRate: number;
  /** 今日浏览量(PV) */
  todayPvCount: number;
  /** 总浏览量 */
  totalPvCount: number;
  /** 同比增长率(相对于昨天同一时间段的增长率) */
  pvGrowthRate: number;
}