From a46b52e603341eae197f141aaef0c71c853e2dfc Mon Sep 17 00:00:00 2001 From: Leoluis0705 Date: Wed, 25 Mar 2026 19:15:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(analytics):=20=E5=AE=8C=E5=96=84=E7=BE=A4?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=88=86=E6=9E=90=E5=A4=B1=E8=B4=A5=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E9=94=99=E8=AF=AF=E8=BE=B9=E7=95=8C=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=B8=8EUI=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/groupAnalyticsService.ts | 4 +++- src/pages/GroupAnalyticsPage.tsx | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/electron/services/groupAnalyticsService.ts b/electron/services/groupAnalyticsService.ts index 79477ac..148f6c1 100644 --- a/electron/services/groupAnalyticsService.ts +++ b/electron/services/groupAnalyticsService.ts @@ -1531,7 +1531,9 @@ class GroupAnalyticsService { try { while (true) { const batch = await wcdbService.fetchMessageBatch(cursor) - if (!batch.success) break + if (!batch.success) { + return { success: false, error: batch.error || '获取分析数据失败' } + } const rows = Array.isArray(batch.rows) ? batch.rows as Record[] : [] if (rows.length === 0) break diff --git a/src/pages/GroupAnalyticsPage.tsx b/src/pages/GroupAnalyticsPage.tsx index a31dafc..7a6470f 100644 --- a/src/pages/GroupAnalyticsPage.tsx +++ b/src/pages/GroupAnalyticsPage.tsx @@ -168,6 +168,7 @@ function GroupAnalyticsPage() { const [isExportingMemberMessages, setIsExportingMemberMessages] = useState(false) const [memberMessages, setMemberMessages] = useState([]) const [memberAnalyticsData, setMemberAnalyticsData] = useState(null) + const [analyticsError, setAnalyticsError] = useState(null) const [memberMessagesHasMore, setMemberMessagesHasMore] = useState(false) const [memberMessagesCursor, setMemberMessagesCursor] = useState(0) const [memberMessagesLoadingMore, setMemberMessagesLoadingMore] = useState(false) @@ -570,6 +571,7 @@ function GroupAnalyticsPage() { } case 'memberAnalytics': { setMemberAnalyticsData(null) + setAnalyticsError(null) updateBackgroundTask(taskId, { detail: '正在读取成员列表与消息分析', progressText: '成员分析' @@ -611,6 +613,7 @@ function GroupAnalyticsPage() { progressText: '已完成' }) } else { + setAnalyticsError(analyticsResult.error || '分析失败') finishBackgroundTask(taskId, 'failed', { detail: analyticsResult.error || '分析失败' }) } break @@ -1434,7 +1437,9 @@ function GroupAnalyticsPage() { )} - {memberAnalyticsData ? ( + {analyticsError ? ( +
{analyticsError}
+ ) : memberAnalyticsData ? (