From fe08f69cacb2bc25bc17da545379634720d6e36e Mon Sep 17 00:00:00 2001 From: YoVinchen Date: Tue, 30 Dec 2025 18:56:56 +0800 Subject: [PATCH] feat(usage): add auto-refresh for usage statistics - Add 30-second auto-refresh interval for all usage queries - Disable background refresh to save resources - Apply to: summary, trends, provider stats, model stats, request logs - Queries automatically update when tab is active - Pause refresh when user switches to another tab This keeps usage data fresh without manual refresh. --- src/lib/query/usage.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib/query/usage.ts b/src/lib/query/usage.ts index 176fc3769..7ed145174 100644 --- a/src/lib/query/usage.ts +++ b/src/lib/query/usage.ts @@ -24,6 +24,8 @@ export function useUsageSummary(startDate?: number, endDate?: number) { return useQuery({ queryKey: usageKeys.summary(startDate, endDate), queryFn: () => usageApi.getUsageSummary(startDate, endDate), + refetchInterval: 30000, // 每30秒自动刷新 + refetchIntervalInBackground: false, // 后台不刷新 }); } @@ -31,6 +33,8 @@ export function useUsageTrends(days: number) { return useQuery({ queryKey: usageKeys.trends(days), queryFn: () => usageApi.getUsageTrends(days), + refetchInterval: 30000, // 每30秒自动刷新 + refetchIntervalInBackground: false, }); } @@ -38,6 +42,8 @@ export function useProviderStats() { return useQuery({ queryKey: usageKeys.providerStats(), queryFn: usageApi.getProviderStats, + refetchInterval: 30000, // 每30秒自动刷新 + refetchIntervalInBackground: false, }); } @@ -45,6 +51,8 @@ export function useModelStats() { return useQuery({ queryKey: usageKeys.modelStats(), queryFn: usageApi.getModelStats, + refetchInterval: 30000, // 每30秒自动刷新 + refetchIntervalInBackground: false, }); } @@ -56,6 +64,8 @@ export function useRequestLogs( return useQuery({ queryKey: usageKeys.logs(filters, page, pageSize), queryFn: () => usageApi.getRequestLogs(filters, page, pageSize), + refetchInterval: 30000, // 每30秒自动刷新 + refetchIntervalInBackground: false, }); }