From e504fb98d7ddbabcafdcc831c68fe362dd71c786 Mon Sep 17 00:00:00 2001 From: tbphp Date: Fri, 4 Jul 2025 14:24:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/handler/dashboard_handler.go | 4 ++-- internal/models/types.go | 4 ++-- web/src/types/models.ts | 34 +++++++++++++++++++++++---- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/internal/handler/dashboard_handler.go b/internal/handler/dashboard_handler.go index bab3cc0..9e57d56 100644 --- a/internal/handler/dashboard_handler.go +++ b/internal/handler/dashboard_handler.go @@ -24,9 +24,9 @@ func (s *Server) Stats(c *gin.Context) { // 2. Get request counts per group s.DB.Table("api_keys"). - Select("groups.nickname as group_nickname, SUM(api_keys.request_count) as request_count"). + Select("groups.display_name as display_name, SUM(api_keys.request_count) as request_count"). Joins("join groups on groups.id = api_keys.group_id"). - Group("groups.id, groups.nickname"). + Group("groups.id, groups.display_name"). Order("request_count DESC"). Scan(&groupStats) diff --git a/internal/models/types.go b/internal/models/types.go index e047f0a..d5cc5c1 100644 --- a/internal/models/types.go +++ b/internal/models/types.go @@ -56,7 +56,7 @@ type GroupConfig struct { type Group struct { ID uint `gorm:"primaryKey;autoIncrement" json:"id"` Name string `gorm:"type:varchar(255);not null;unique" json:"name"` - Nickname string `gorm:"type:varchar(255)" json:"nickname"` + DisplayName string `gorm:"type:varchar(255)" json:"display_name"` Description string `gorm:"type:varchar(512)" json:"description"` Upstreams Upstreams `gorm:"type:json;not null" json:"upstreams"` ChannelType string `gorm:"type:varchar(50);not null" json:"channel_type"` @@ -94,7 +94,7 @@ type RequestLog struct { // GroupRequestStat 用于表示每个分组的请求统计 type GroupRequestStat struct { - GroupNickname string `json:"group_nickname"` + DisplayName string `json:"display_name"` RequestCount int64 `json:"request_count"` } diff --git a/web/src/types/models.ts b/web/src/types/models.ts index 376ca76..7781dc6 100644 --- a/web/src/types/models.ts +++ b/web/src/types/models.ts @@ -11,18 +11,44 @@ export interface APIKey { updated_at: string; } +export interface UpstreamInfo { + url: string; + weight: number; +} + export interface Group { id: number; name: string; - nickname: string; + display_name: string; description: string; - channel_type: "openai" | "gemini"; - config: string; + sort: number; + channel_type: "openai" | "gemini" | "silicon" | "chutes"; + upstreams: UpstreamInfo[]; + config: Record; api_keys?: APIKey[]; created_at: string; updated_at: string; } +export interface GroupStats { + total_keys: number; + active_keys: number; + requests_1h: number; + requests_24h: number; + requests_7d: number; + failure_rate_24h: number; +} + +export interface TaskInfo { + is_running: boolean; + task_name?: string; + group_id?: number; + group_name?: string; + processed?: number; + total?: number; + started_at?: string; +} + export interface RequestLog { id: string; timestamp: string; @@ -59,6 +85,6 @@ export interface DashboardStats { } export interface GroupRequestStat { - group_nickname: string; + display_name: string; request_count: number; }