From 0197a903f1bcb20a94435ce326acd3a08e6a08dc Mon Sep 17 00:00:00 2001 From: aiotagro Date: Wed, 10 Sep 2025 20:55:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B1=E4=BA=8E=E6=9C=AC=E6=AC=A1=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=8F=98=E6=9B=B4=E5=86=85=E5=AE=B9=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=EF=BC=8C=E6=97=A0=E6=B3=95=E7=94=9F=E6=88=90=E6=9C=89=E6=95=88?= =?UTF-8?q?=E7=9A=84=E6=8F=90=E4=BA=A4=E4=BF=A1=E6=81=AF=E3=80=82=E8=AF=B7?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=E5=85=B7=E4=BD=93=E7=9A=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=86=85=E5=AE=B9=E4=BB=A5=E4=BE=BF=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=90=88=E9=80=82=E7=9A=84=E6=8F=90=E4=BA=A4=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin-system/package.json | 2 + admin-system/src/api/mockData.ts | 11 + admin-system/src/api/system.ts | 44 +++- admin-system/src/pages/dashboard/index.vue | 284 ++++++++++++++------- admin-system/src/pages/system/index.vue | 136 ++++++---- package-lock.json | 48 ++++ 6 files changed, 365 insertions(+), 160 deletions(-) diff --git a/admin-system/package.json b/admin-system/package.json index 5ec88ca..3ecae9e 100644 --- a/admin-system/package.json +++ b/admin-system/package.json @@ -12,9 +12,11 @@ }, "dependencies": { "@ant-design/icons-vue": "^6.1.0", + "@types/echarts": "^4.9.22", "ant-design-vue": "^4.0.0", "axios": "^1.4.0", "dayjs": "^1.11.0", + "echarts": "^6.0.0", "lodash-es": "^4.17.21", "pinia": "^2.1.0", "vue": "^3.3.0", diff --git a/admin-system/src/api/mockData.ts b/admin-system/src/api/mockData.ts index 62eabae..e4ff118 100644 --- a/admin-system/src/api/mockData.ts +++ b/admin-system/src/api/mockData.ts @@ -188,6 +188,17 @@ export const mockSystemAPI = { todayUserCount: 5, todayOrderCount: 3 }) + }, + + getSystemMonitorData: async () => { + await delay(500) + return createSuccessResponse({ + cpuUsage: Math.floor(Math.random() * 100), + memoryUsage: Math.floor(Math.random() * 100), + networkTraffic: Math.floor(Math.random() * 1000), + diskUsage: Math.floor(Math.random() * 100), + timestamp: new Date().toISOString() + }) } } diff --git a/admin-system/src/api/system.ts b/admin-system/src/api/system.ts index af41a74..fde06b1 100644 --- a/admin-system/src/api/system.ts +++ b/admin-system/src/api/system.ts @@ -105,9 +105,29 @@ export interface SystemStats { export const getSystemStats = () => request.get<{ success: boolean; code: number; message: string; data: SystemStats }>('/admin/system/stats') -// 获取系统日志 -export const getSystemLogs = (params?: { page?: number; limit?: number; level?: string }) => - request.get<{ success: boolean; code: number; message: string; data: { logs: any[]; pagination: any } }>('/admin/system/logs', { params }) +// 定义系统日志相关类型 +export interface SystemLog { + id: string + level: 'info' | 'warn' | 'error' | 'debug' + message: string + timestamp: string + module: string + userId?: string + ip?: string +} + +export interface SystemLogQueryParams { + page?: number + limit?: number + level?: string + module?: string + startDate?: string + endDate?: string +} + +// 获取系统日志列表 +export const getSystemLogs = (params?: SystemLogQueryParams) => + request.get<{ success: boolean; code: number; message: string; data: { logs: SystemLog[]; pagination: any } }>('/admin/system/logs', { params }) // 获取系统设置 export const getSystemSettings = () => @@ -117,6 +137,19 @@ export const getSystemSettings = () => export const updateSystemSettings = (data: any) => request.put<{ success: boolean; code: number; message: string }>(`/admin/system/settings`, data) +// 定义系统监控数据类型 +export interface SystemMonitorData { + cpuUsage: number + memoryUsage: number + networkTraffic: number + diskUsage: number + timestamp: string +} + +// 获取系统监控数据 +export const getSystemMonitorData = () => + request.get<{ success: boolean; code: number; message: string; data: SystemMonitorData }>('/admin/system/monitor') + // 开发环境使用模拟数据 const systemAPI = createMockWrapper({ getServices, @@ -129,9 +162,10 @@ const systemAPI = createMockWrapper({ getSystemConfigs, updateSystemConfig, getSystemStats, - getSystemLogs, + getSystemLogs, // 添加日志API getSystemSettings, - updateSystemSettings + updateSystemSettings, + getSystemMonitorData }, mockSystemAPI) export default systemAPI \ No newline at end of file diff --git a/admin-system/src/pages/dashboard/index.vue b/admin-system/src/pages/dashboard/index.vue index dde46be..20769e4 100644 --- a/admin-system/src/pages/dashboard/index.vue +++ b/admin-system/src/pages/dashboard/index.vue @@ -20,7 +20,7 @@ @@ -34,7 +34,7 @@ @@ -48,7 +48,7 @@ @@ -62,7 +62,7 @@ @@ -77,18 +77,12 @@ -
- -

用户增长图表

-
+
-
- -

订单分布图表

-
+
@@ -96,7 +90,7 @@ - +