From 11938a1067dce2bdbc4d8209986d164487ded810 Mon Sep 17 00:00:00 2001 From: Leo <98382335+gaoziman@users.noreply.github.com> Date: Tue, 8 Jul 2025 10:55:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(system):=20=E6=96=B0=E5=A2=9E=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=97=A5=E5=BF=97=E5=92=8C=E6=93=8D=E4=BD=9C=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=8A=9F=E8=83=BD=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增登录日志管理页面,支持日志查询、删除等操作 - 新增操作日志管理页面,提供系统操作审计功能 - 实现完整的日志API接口和类型定义 - 配置相应的权限控制和路由管理 - 完善系统日志管理体系,提升系统安全性 --- src/service/api/system/operlog/index.ts | 61 ++ src/service/api/system/operlog/types.ts | 71 ++ src/views/system/loginlog/index.vue | 739 ++++++++++++++++++ src/views/system/operlog/index.vue | 968 ++++++++++++++++++++++++ 4 files changed, 1839 insertions(+) create mode 100644 src/service/api/system/operlog/index.ts create mode 100644 src/service/api/system/operlog/types.ts create mode 100644 src/views/system/loginlog/index.vue create mode 100644 src/views/system/operlog/index.vue diff --git a/src/service/api/system/operlog/index.ts b/src/service/api/system/operlog/index.ts new file mode 100644 index 0000000..394d287 --- /dev/null +++ b/src/service/api/system/operlog/index.ts @@ -0,0 +1,61 @@ +import { request } from '../../../http' +import type { OperLogQueryBo, OperLogVo } from './types' + +// 重新导出类型供外部使用 +export type { OperLogForm, OperLogQueryBo, OperLogSearchForm, OperLogVo } from './types' + +/** + * 分页查询操作日志列表 + */ +export function getOperLogListPage(params: OperLogQueryBo) { + return request.Get>>('/coder/sysOperLog/listPage', { params }) +} + +/** + * 根据ID查询操作日志详情 + */ +export function getOperLogById(operId: number) { + return request.Get>(`/coder/sysOperLog/getById/${operId}`) +} + +/** + * 查询操作日志详情 + */ +export function getOperLogDetailById(operId: number) { + return request.Get>(`/coder/sysOperLog/getDetailById/${operId}`) +} + +/** + * 删除操作日志 + */ +export function deleteOperLog(operId: number) { + return request.Post>(`/coder/sysOperLog/deleteById/${operId}`) +} + +/** + * 批量删除操作日志 + */ +export function batchDeleteOperLog(operIds: number[]) { + return request.Post>('/coder/sysOperLog/batchDelete', operIds) +} + +/** + * 清空操作日志 + */ +export function clearOperLog() { + return request.Post>('/coder/sysOperLog/clear') +} + +/** + * 获取操作统计 + */ +export function getOperLogStatistics() { + return request.Get>>('/coder/sysOperLog/statistics') +} + +/** + * 获取仪表盘统计 + */ +export function getOperLogDashboard() { + return request.Get>>('/coder/sysOperLog/dashboard') +} diff --git a/src/service/api/system/operlog/types.ts b/src/service/api/system/operlog/types.ts new file mode 100644 index 0000000..4840eb9 --- /dev/null +++ b/src/service/api/system/operlog/types.ts @@ -0,0 +1,71 @@ +/** + * 操作日志模块类型定义 + */ + +// 操作日志查询参数 +export interface OperLogQueryBo { + pageNo?: number + pageSize?: number + operName?: string // 操作名称 + operMan?: string // 操作人员 + operType?: string // 操作类型 + operStatus?: string // 操作状态 (0成功 1失败) + operUrl?: string // 请求URL + requestMethod?: string // 请求方式 + operIp?: string // 操作IP + beginTime?: string // 开始时间 + endTime?: string // 结束时间 +} + +// 操作日志响应数据 +export interface OperLogVo { + operId: number // 操作主键 + operName: string // 操作名称 + operType: string // 操作类型 + methodName: string // 方法名称 + requestMethod?: string // 请求方式 + systemType?: string // 系统类型 + operMan: string // 操作人员 + operUrl: string // 请求URL + operIp: string // 主机地址 + operLocation?: string // 操作地点 + operParam?: string // 请求参数 + jsonResult?: string // 返回参数 + operStatus: string // 操作状态 (0成功 1失败) + errorMsg?: string // 错误消息 + operTime: string // 操作时间 + costTime?: string // 消耗时间 +} + +// 操作日志表单数据 +export interface OperLogForm { + operId?: number + operName: string + operType: string + methodName: string + requestMethod?: string + systemType?: string + operMan: string + operUrl: string + operIp: string + operLocation?: string + operParam?: string + jsonResult?: string + operStatus: string + errorMsg?: string + costTime?: string +} + +// 操作日志搜索表单 +export interface OperLogSearchForm { + operName?: string + operMan?: string + operType?: string + operStatus?: string | null + operUrl?: string + requestMethod?: string + operIp?: string + timeRange?: [number, number] | null + beginTime?: string + endTime?: string +} diff --git a/src/views/system/loginlog/index.vue b/src/views/system/loginlog/index.vue new file mode 100644 index 0000000..f5a0697 --- /dev/null +++ b/src/views/system/loginlog/index.vue @@ -0,0 +1,739 @@ + + + + + diff --git a/src/views/system/operlog/index.vue b/src/views/system/operlog/index.vue new file mode 100644 index 0000000..11fe85b --- /dev/null +++ b/src/views/system/operlog/index.vue @@ -0,0 +1,968 @@ + + + + +