diff --git a/src/api/infra/apiAccessLog/index.ts b/src/api/infra/apiAccessLog/index.ts
index 722ab8040fa973c809d5e32d99fdbfe27f371900..a05541d54a33cc9796d913317058cb752095d514 100644
--- a/src/api/infra/apiAccessLog/index.ts
+++ b/src/api/infra/apiAccessLog/index.ts
@@ -39,11 +39,26 @@ export interface ApiAccessLogExportReqVO {
resultCode?: number
}
+// 新增列表API 访问日志
+export const createApiAccessLogApi = (data: ApiAccessLogVO) => {
+ return defHttp.post({ url: '/infra/api-access-log/create', data })
+}
+//getApiAccessLogApi
+// 查询API 访问日志
+export const getApiAccessLogApi = (id: number) => {
+ return defHttp.get({ url: '/infra/api-access-log/get?id=' + id })
+}
+
// 查询列表API 访问日志
export const getApiAccessLogPageApi = (params: ApiAccessLogPageReqVO) => {
return defHttp.get({ url: '/infra/api-access-log/page', params })
}
+// 删除APIACCESSLOG
+export const deleteApiAccessLogApi = (id: number) => {
+ return defHttp.delete({ url: '/infra/api-access-log/delete?id=' + id })
+}
+
// 导出API 访问日志
export const exportApiAccessLogApi = (params: ApiAccessLogExportReqVO) => {
return defHttp.download({ url: '/infra/api-access-log/export-excel', params }, '访问日志.xls')
diff --git a/src/views/infra/apiAccessLog/ApiAccessLog.data.ts b/src/views/infra/apiAccessLog/ApiAccessLog.data.ts
new file mode 100644
index 0000000000000000000000000000000000000000..72c6084235917801865a8d2ef8240d8db16e77b1
--- /dev/null
+++ b/src/views/infra/apiAccessLog/ApiAccessLog.data.ts
@@ -0,0 +1,349 @@
+import { BasicColumn, FormSchema, useRender } from '@/components/Table'
+import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
+
+export const columns: BasicColumn[] = [
+ {
+ title: '日志主键',
+ dataIndex: 'id',
+ width: 100
+ },
+ {
+ title: '链路追踪编号',
+ dataIndex: 'traceId',
+ width: 100
+ },
+ {
+ title: '用户编号',
+ dataIndex: 'userId',
+ width: 100
+ },
+ {
+ title: '用户类型',
+ dataIndex: 'userType',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDict(text, DICT_TYPE.USER_TYPE)
+ }
+ },
+ {
+ title: '应用名',
+ dataIndex: 'applicationName',
+ width: 100
+ },
+ {
+ title: '请求方法名',
+ dataIndex: 'requestMethod',
+ width: 100
+ },
+ {
+ title: '请求地址',
+ dataIndex: 'requestUrl',
+ width: 100
+ },
+ {
+ title: '请求参数',
+ dataIndex: 'requestParams',
+ width: 100
+ },
+ {
+ title: '用户 IP',
+ dataIndex: 'userIp',
+ width: 100
+ },
+ {
+ title: '浏览器 UA',
+ dataIndex: 'userAgent',
+ width: 100
+ },
+ {
+ title: '开始请求时间',
+ dataIndex: 'beginTime',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDate(text)
+ }
+ },
+ {
+ title: '结束请求时间',
+ dataIndex: 'endTime',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDate(text)
+ }
+ },
+ {
+ title: '执行时长',
+ dataIndex: 'duration',
+ width: 100
+ },
+ {
+ title: '结果码',
+ dataIndex: 'resultCode',
+ width: 100
+ },
+ {
+ title: '结果提示',
+ dataIndex: 'resultMsg',
+ width: 100
+ },
+ {
+ title: '创建者',
+ dataIndex: 'creator',
+ width: 100
+ },
+ {
+ title: '创建时间',
+ dataIndex: 'createTime',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDate(text)
+ }
+ },
+ {
+ title: '更新者',
+ dataIndex: 'updater',
+ width: 100
+ },
+ {
+ title: '更新时间',
+ dataIndex: 'updateTime',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDate(text)
+ }
+ },
+ {
+ title: '租户编号',
+ dataIndex: 'tenantId',
+ width: 100
+ }
+]
+
+
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: '日志主键',
+ field: 'id',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '链路追踪编号',
+ field: 'traceId',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '用户编号',
+ field: 'userId',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '用户类型',
+ field: 'userType',
+ component: 'Select',
+ componentProps: {
+ options: getIntDictOptions(DICT_TYPE.USER_TYPE)
+ },
+ colProps: { span: 8 }
+ },
+ {
+ label: '应用名',
+ field: 'applicationName',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '请求方法名',
+ field: 'requestMethod',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '请求地址',
+ field: 'requestUrl',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '请求参数',
+ field: 'requestParams',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '用户 IP',
+ field: 'userIp',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '浏览器 UA',
+ field: 'userAgent',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '开始请求时间',
+ field: 'beginTime',
+ component: 'RangePicker',
+ colProps: { span: 8 }
+ },
+ {
+ label: '结束请求时间',
+ field: 'endTime',
+ component: 'RangePicker',
+ colProps: { span: 8 }
+ },
+ {
+ label: '执行时长',
+ field: 'duration',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '结果码',
+ field: 'resultCode',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '结果提示',
+ field: 'resultMsg',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ component: 'RangePicker',
+ colProps: { span: 8 }
+ },
+ {
+ label: '更新者',
+ field: 'updater',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '更新时间',
+ field: 'updateTime',
+ component: 'RangePicker',
+ colProps: { span: 8 }
+ },
+ {
+ label: '租户编号',
+ field: 'tenantId',
+ component: 'Input',
+ colProps: { span: 8 }
+ }
+]
+
+export const formSchema: FormSchema[] = [
+ {
+ label: '编号',
+ field: 'id',
+ show: false,
+ component: 'Input'
+ },
+ {
+ label: '链路追踪编号',
+ field: 'traceId',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '用户编号',
+ field: 'userId',
+ required: true,
+ component: 'InputNumber'
+ },
+ {
+ label: '用户类型',
+ field: 'userType',
+ component: 'Select',
+ defaultValue: 0,
+ componentProps: {
+ options: getIntDictOptions(DICT_TYPE.USER_TYPE)
+ }
+ },
+ {
+ label: '应用名',
+ field: 'applicationName',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '请求方法名',
+ field: 'requestMethod',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '请求地址',
+ field: 'requestUrl',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '请求参数',
+ field: 'requestParams',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '用户 IP',
+ field: 'userIp',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '浏览器 UA',
+ field: 'userAgent',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '执行时长',
+ field: 'duration',
+ required: true,
+ component: 'InputNumber'
+ },
+ {
+ label: '结果码',
+ field: 'resultCode',
+ required: true,
+ component: 'InputNumber'
+ },
+ {
+ label: '结果提示',
+ field: 'resultMsg',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '更新者',
+ field: 'updater',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '租户编号',
+ field: 'tenantId',
+ required: true,
+ component: 'InputNumber'
+ }
+]
\ No newline at end of file
diff --git a/src/views/infra/apiAccessLog/ApiAccessLogModel.vue b/src/views/infra/apiAccessLog/ApiAccessLogModel.vue
new file mode 100644
index 0000000000000000000000000000000000000000..39020e737e5b284e5e03c734807234f04daa2349
--- /dev/null
+++ b/src/views/infra/apiAccessLog/ApiAccessLogModel.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/infra/apiAccessLog/index.vue b/src/views/infra/apiAccessLog/index.vue
index 3b64cfc4fef975151807007f0e8e2d304a5ca147..d16d4fcc96f772505266dc16cd0b7037ec927c6c 100644
--- a/src/views/infra/apiAccessLog/index.vue
+++ b/src/views/infra/apiAccessLog/index.vue
@@ -1,3 +1,97 @@
- 开发中
+
+
+
+ 新增
+ 导出
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file