-
{successRate.toFixed(1)}%
-
成功 {data.success.toLocaleString()} / 失败 {data.fail.toLocaleString()}
+
+
+ {requestStats.map(stat => (
+
+
+
+
+
{stat.label}
+
{stat.label === '成功率' ? `${stat.value}%` : stat.value.toLocaleString()}
+ {stat.change !== undefined && stat.label !== '成功率' && (
+
+{stat.change.toLocaleString()} 今日
+ )}
+
+ ))}
- 90 ? 'green' : successRate > 70 ? 'yellow' : 'red'}
- />
@@ -374,10 +412,10 @@ const Dashboard = () => {
QPS 趋势
-
滚动的 30 次请求曲线
+
滚动的 50 次请求曲线
- {
valueFormatter={(value: number) => `${value} req/s`}
index="time"
showXAxis={false}
+ showYAxis={false}
className="h-full w-full"
/>
@@ -399,21 +438,17 @@ const Dashboard = () => {
上/下行速度
- {networkHistory.length ? (
- `${bytesToSize(value)}/s`}
- index="time"
- className="h-full w-full"
- />
- ) : (
-
- 等待网络数据…
-
- )}
+ `${bytesToSize(value)}/s`}
+ index="time"
+ showXAxis={false}
+ showYAxis={false}
+ className="h-full w-full"
+ />
@@ -471,47 +506,38 @@ const Dashboard = () => {
读取 / 写入 每秒
- {diskChart.length ? (
- bytesToSize(value)}
- className="h-full"
- />
- ) : (
-
- 等待磁盘指标…
-
- )}
+ bytesToSize(value)}
+ showXAxis={false}
+ showYAxis={false}
+ barRadius={4}
+ className="h-full"
+ />
-
-
-
- 请求概况
+
+
+
+ 成功率
- 全量请求与今日增量
+ 请求成功/失败的比例
-
-
- {requestStats.map(stat => (
-
-
-
-
-
{stat.label}
-
{stat.label === '成功率' ? `${stat.value}%` : stat.value.toLocaleString()}
- {stat.change !== undefined && stat.label !== '成功率' && (
-
+{stat.change.toLocaleString()} 今日
- )}
-
- ))}
+
+
+
{successRate.toFixed(1)}%
+
成功 {data.success.toLocaleString()} / 失败 {data.fail.toLocaleString()}
-
+ 90 ? 'green' : successRate > 70 ? 'yellow' : 'red'}
+ />
{latencyMetrics.map(metric => (
diff --git a/web/src/pages/server/features/ProxyList.tsx b/web/src/pages/server/features/ProxyList.tsx
index 9a9cf52..c6f00b4 100644
--- a/web/src/pages/server/features/ProxyList.tsx
+++ b/web/src/pages/server/features/ProxyList.tsx
@@ -14,7 +14,6 @@ import {
Square,
MoreVertical,
Trash2,
- BookOpen
} from 'lucide-react';
import { useNavigate } from "react-router-dom";
import UpdateServer from "./UpdateServer";
@@ -219,16 +218,6 @@ const ProxyList = memo(() => {
开始创建您的第一个代理服务器配置
-
-
-
-
) : (