import React from 'react'; import { Button, Spin } from 'antd'; import { ReloadOutlined, ClockCircleOutlined, InfoCircleOutlined, CheckCircleOutlined, ThunderboltOutlined, HddOutlined, } from '@ant-design/icons'; import { designTokens } from '../../config/theme'; import { useFetch } from '../../hooks/useSWR'; // 格式化运行时间 const formatUptime = (seconds) => { if (!seconds || isNaN(seconds)) { return '0天 0小时 0分钟'; } const days = Math.floor(seconds / 86400); const hours = Math.floor((seconds % 86400) / 3600); const minutes = Math.floor((seconds % 3600) / 60); const parts = []; if (days > 0) { parts.push(`${days}天`); } if (hours > 0) { parts.push(`${hours}小时`); } if (minutes > 0 || parts.length === 0) { parts.push(`${minutes}分钟`); } return parts.join(' '); }; const SystemInfo = ({ onRefresh, isRefreshing }) => { const { data: systemData, isLoading: isVersionLoading } = useFetch('/system-settings/system/info'); const version = systemData?.system?.version || '1.2.0'; const formattedVersion = `v${version}`; const currentTime = new Date().toLocaleString('zh-CN'); // 获取系统运行时间 const uptime = systemData?.system?.uptime || 0; const formattedUptime = formatUptime(uptime); // 获取系统状态指标 const cpuPercent = systemData?.systemMetrics?.cpu?.percent || 45; const memoryPercent = systemData?.systemMetrics?.memory?.percent || 68; const diskPercent = systemData?.systemMetrics?.disk?.percent || 35; const systemMetrics = [ { label: 'CPU 使用率', value: cpuPercent, color: '#1890ff', }, { label: '内存使用率', value: memoryPercent, color: '#52c41a', }, { label: '磁盘空间', value: diskPercent, color: '#722ed1', }, ]; return (