From c14fe5ec06e61b67984ee077397712cf7ddc9e51 Mon Sep 17 00:00:00 2001 From: kevin Date: Tue, 7 Jul 2026 15:43:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AE=A1=E7=90=86=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E4=BB=AA=E8=A1=A8=E7=9B=98=E7=BB=9F=E8=AE=A1=E5=8D=A1=E7=89=87?= =?UTF-8?q?=E6=8E=A5=E5=85=A5=E7=9C=9F=E5=AE=9E=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增 /api/admin/stats 聚合接口,填充运行时长、活跃设备、今日流量、在线节点四项卡片: - VpnService 记录启动时间,提供 StartedAt/TotalLiveTraffic 方法 - 新增 TrafficStat 模型,客户端断开时 upsert 当日 rx/tx 流量(持久化) - 前端 AdminView 调用 stats 接口并每 30 秒自动刷新 --- frontend/src/views/AdminView.vue | 37 ++++++++++++++++++++++++- internal/db/db.go | 2 +- internal/handler/stats.go | 43 +++++++++++++++++++++++++++++ internal/model/vpn.go | 12 ++++++++ internal/router/router.go | 1 + internal/vpn/service.go | 45 +++++++++++++++++++++--------- internal/vpn/tunnel.go | 47 ++++++++++++++++++++++++-------- 7 files changed, 160 insertions(+), 27 deletions(-) create mode 100644 internal/handler/stats.go diff --git a/frontend/src/views/AdminView.vue b/frontend/src/views/AdminView.vue index c46f914..4ac42c3 100644 --- a/frontend/src/views/AdminView.vue +++ b/frontend/src/views/AdminView.vue @@ -1,5 +1,5 @@