From 3c0683b9f8aa0372af3aa5b4e24785e4f1b7ce7f Mon Sep 17 00:00:00 2001 From: Leoluis0705 Date: Wed, 25 Mar 2026 18:30:24 +0800 Subject: [PATCH] =?UTF-8?q?perf(core):=20=E4=B8=BA=E5=BA=95=E5=B1=82?= =?UTF-8?q?=E6=8F=90=E5=8F=96=E5=99=A8=E5=BC=95=E5=85=A5=20isSend=20?= =?UTF-8?q?=E6=A0=87=E8=AF=86=E6=99=BA=E8=83=BD=E5=88=A4=E6=96=AD=EF=BC=8C?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=A7=E9=87=8F=E6=9C=AC=E5=9C=B0=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=8F=8A=E5=AF=8C=E6=96=87=E6=9C=AC=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=BC=95=E5=8F=91=E7=9A=84=E6=80=A7=E8=83=BD=E9=80=80=E5=8C=96?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/groupAnalyticsService.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/electron/services/groupAnalyticsService.ts b/electron/services/groupAnalyticsService.ts index 1d322ae..79477ac 100644 --- a/electron/services/groupAnalyticsService.ts +++ b/electron/services/groupAnalyticsService.ts @@ -776,7 +776,12 @@ class GroupAnalyticsService { return normalized > 10000000000 ? Math.floor(normalized / 1000) : normalized } - private extractRowSenderUsername(row: Record): string { + private extractRowSenderUsername(row: Record, myWxid?: string): string { + const isSendRaw = row.computed_is_send ?? row.is_send ?? row.isSend ?? row.WCDB_CT_is_send + if (isSendRaw != null && parseInt(isSendRaw, 10) === 1 && myWxid) { + return myWxid + } + const candidates = [ row.sender_username, row.senderUsername, @@ -880,7 +885,7 @@ class GroupAnalyticsService { if (rows.length === 0) break for (const row of rows) { - const senderFromRow = this.extractRowSenderUsername(row) + const senderFromRow = this.extractRowSenderUsername(row, String(this.configService.get('myWxid') || '').trim()) if (senderFromRow && !matchesTargetSender(senderFromRow)) { continue } @@ -986,7 +991,7 @@ class GroupAnalyticsService { const row = rows[index] consumedRows += 1 - const senderFromRow = this.extractRowSenderUsername(row) + const senderFromRow = this.extractRowSenderUsername(row, String(this.configService.get('myWxid') || '').trim()) if (senderFromRow && !matchesTargetSender(senderFromRow)) { continue } @@ -1531,7 +1536,7 @@ class GroupAnalyticsService { if (rows.length === 0) break for (const row of rows) { - let senderFromRow = this.extractRowSenderUsername(row) + let senderFromRow = this.extractRowSenderUsername(row, myWxid) const isSendRaw = row.computed_is_send ?? row.is_send ?? row.isSend ?? row.WCDB_CT_is_send const isSend = isSendRaw != null ? parseInt(isSendRaw, 10) === 1 : false