Skip to content

Commit aad57e2

Browse files
committed
访问日志重构
1 parent 98b9bdd commit aad57e2

File tree

4 files changed

+279
-149
lines changed

4 files changed

+279
-149
lines changed

src/api/infra/apiAccessLog/index.ts

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,33 +18,12 @@ export interface ApiAccessLogVO {
1818
resultMsg: string
1919
createTime: Date
2020
}
21-
22-
export interface ApiAccessLogPageReqVO extends PageParam {
23-
userId?: number
24-
userType?: number
25-
applicationName?: string
26-
requestUrl?: string
27-
beginTime?: Date[]
28-
duration?: number
29-
resultCode?: number
30-
}
31-
32-
export interface ApiAccessLogExportReqVO {
33-
userId?: number
34-
userType?: number
35-
applicationName?: string
36-
requestUrl?: string
37-
beginTime?: Date[]
38-
duration?: number
39-
resultCode?: number
40-
}
41-
4221
// 查询列表API 访问日志
43-
export const getApiAccessLogPageApi = (params: ApiAccessLogPageReqVO) => {
22+
export const getApiAccessLogPage = (params: PageParam) => {
4423
return request.get({ url: '/infra/api-access-log/page', params })
4524
}
4625

4726
// 导出API 访问日志
48-
export const exportApiAccessLogApi = (params: ApiAccessLogExportReqVO) => {
27+
export const exportApiAccessLog = (params) => {
4928
return request.download({ url: '/infra/api-access-log/export-excel', params })
5029
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<template>
2+
<Dialog
3+
title="API 访问日志详细"
4+
v-model="modelVisible"
5+
:scroll="true"
6+
:max-height="500"
7+
width="800"
8+
>
9+
<el-descriptions border :column="1">
10+
<el-descriptions-item label="日志主键" min-width="120">
11+
{{ detailData.id }}
12+
</el-descriptions-item>
13+
<el-descriptions-item label="链路追踪">
14+
{{ detailData.traceId }}
15+
</el-descriptions-item>
16+
<el-descriptions-item label="应用名">
17+
{{ detailData.applicationName }}
18+
</el-descriptions-item>
19+
<el-descriptions-item label="用户信息">
20+
{{ detailData.userId }} |
21+
<dict-tag :type="DICT_TYPE.USER_TYPE" :value="detailData.userType" />
22+
| {{ detailData.userIp }} | {{ detailData.userAgent }}
23+
</el-descriptions-item>
24+
<el-descriptions-item label="请求信息">
25+
{{ detailData.requestMethod }} | {{ detailData.requestUrl }}
26+
</el-descriptions-item>
27+
<el-descriptions-item label="请求参数">
28+
{{ detailData.requestParams }}
29+
</el-descriptions-item>
30+
<el-descriptions-item label="开始时间">
31+
{{ formatDate(detailData.beginTime, 'YYYY-MM-DD HH:mm:ss') }} ~
32+
{{ formatDate(detailData.endTime, 'YYYY-MM-DD HH:mm:ss') }} | {{ detailData.duration }} ms
33+
</el-descriptions-item>
34+
<el-descriptions-item label="操作结果">
35+
<div v-if="detailData.resultCode === 0">正常</div>
36+
<div v-else-if="detailData.resultCode > 0"
37+
>失败 | {{ detailData.resultCode }} | {{ detailData.resultMsg }}</div
38+
>
39+
</el-descriptions-item>
40+
</el-descriptions>
41+
</Dialog>
42+
</template>
43+
44+
<script setup lang="ts">
45+
import { DICT_TYPE } from '@/utils/dict'
46+
import { formatDate } from '@/utils/formatTime'
47+
import * as ApiAccessLog from '@/api/infra/apiAccessLog'
48+
49+
const modelVisible = ref(false) // 弹窗的是否展示
50+
const detailLoading = ref(false) // 表单地加载中
51+
const detailData = ref() // 详情数据
52+
53+
/** 打开弹窗 */
54+
const openModal = async (data: ApiAccessLog.ApiAccessLogVO) => {
55+
modelVisible.value = true
56+
// 设置数据
57+
detailLoading.value = true
58+
try {
59+
detailData.value = data
60+
} finally {
61+
detailLoading.value = false
62+
}
63+
}
64+
65+
defineExpose({ openModal }) // 提供 openModal 方法,用于打开弹窗
66+
</script>

src/views/infra/apiAccessLog/apiAccessLog.data.ts

Lines changed: 0 additions & 74 deletions
This file was deleted.

0 commit comments

Comments
 (0)