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