From a316ed7abc4e9cf22ea3297db53507926a086da6 Mon Sep 17 00:00:00 2001 From: JustSong Date: Sat, 1 Feb 2025 01:54:00 +0800 Subject: [PATCH] fix: handle empty dashboard data and improve summary calculation --- web/default/src/pages/Dashboard/index.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/web/default/src/pages/Dashboard/index.js b/web/default/src/pages/Dashboard/index.js index c6783671..03fd6451 100644 --- a/web/default/src/pages/Dashboard/index.js +++ b/web/default/src/pages/Dashboard/index.js @@ -68,16 +68,27 @@ const Dashboard = () => { try { const response = await axios.get('/api/user/dashboard'); if (response.data.success) { - const dashboardData = response.data.data; + const dashboardData = response.data.data || []; setData(dashboardData); calculateSummary(dashboardData); } } catch (error) { console.error('Failed to fetch dashboard data:', error); + setData([]); + calculateSummary([]); } }; const calculateSummary = (dashboardData) => { + if (!Array.isArray(dashboardData) || dashboardData.length === 0) { + setSummaryData({ + todayRequests: 0, + todayQuota: 0, + todayTokens: 0 + }); + return; + } + const today = new Date().toISOString().split('T')[0]; const todayData = dashboardData.filter((item) => item.Day === today); @@ -87,7 +98,7 @@ const Dashboard = () => { 0 ), todayQuota: - todayData.reduce((sum, item) => sum + item.Quota, 0) / 1000000, // 转换为美元 + todayData.reduce((sum, item) => sum + item.Quota, 0) / 1000000, todayTokens: todayData.reduce( (sum, item) => sum + item.PromptTokens + item.CompletionTokens, 0