From 86f966d4691f0ce1800c403b295c0abb2f2f6f7c Mon Sep 17 00:00:00 2001 From: cc <98377878+hicccc77@users.noreply.github.com> Date: Mon, 4 May 2026 09:25:15 +0800 Subject: [PATCH] #899 --- electron/services/dualReportService.ts | 4 +++- electron/services/exportService.ts | 4 +++- electron/services/groupAnalyticsService.ts | 4 +++- electron/services/imageDecryptService.ts | 5 +++-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/electron/services/dualReportService.ts b/electron/services/dualReportService.ts index 83253e2..7110a0d 100644 --- a/electron/services/dualReportService.ts +++ b/electron/services/dualReportService.ts @@ -110,7 +110,9 @@ class DualReportService { if (!decryptKey) return { success: false, error: '未配置解密密钥' } const cleanedWxid = this.cleanAccountDirName(wxid) - const ok = await wcdbService.open(dbPath, decryptKey, cleanedWxid) + const accountDir = this.configService.getAccountDir(dbPath, wxid) + if (!accountDir) return { success: false, error: '无法找到账号目录' } + const ok = await wcdbService.open(accountDir, decryptKey) if (!ok) return { success: false, error: 'WCDB 打开失败' } return { success: true, cleanedWxid, rawWxid: wxid } } diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 9a02733..78d3598 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -1889,7 +1889,9 @@ class ExportService { if (!decryptKey) return { success: false, error: '请先在设置页面配置解密密钥' } const cleanedWxid = this.cleanAccountDirName(wxid) - const ok = await wcdbService.open(dbPath, decryptKey, cleanedWxid) + const accountDir = this.configService.getAccountDir(dbPath, wxid) + if (!accountDir) return { success: false, error: '无法找到账号目录' } + const ok = await wcdbService.open(accountDir, decryptKey) if (!ok) return { success: false, error: 'WCDB 打开失败' } return { success: true, cleanedWxid } } diff --git a/electron/services/groupAnalyticsService.ts b/electron/services/groupAnalyticsService.ts index b07745a..7884abc 100644 --- a/electron/services/groupAnalyticsService.ts +++ b/electron/services/groupAnalyticsService.ts @@ -259,7 +259,9 @@ class GroupAnalyticsService { if (!decryptKey) return { success: false, error: '未配置解密密钥' } const cleanedWxid = this.cleanAccountDirName(wxid) - const ok = await wcdbService.open(dbPath, decryptKey, cleanedWxid) + const accountDir = this.configService.getAccountDir(dbPath, wxid) + if (!accountDir) return { success: false, error: '无法找到账号目录' } + const ok = await wcdbService.open(accountDir, decryptKey) if (!ok) return { success: false, error: 'WCDB 打开失败' } return { success: true } } diff --git a/electron/services/imageDecryptService.ts b/electron/services/imageDecryptService.ts index 4fcc2fb..6b9cc33 100644 --- a/electron/services/imageDecryptService.ts +++ b/electron/services/imageDecryptService.ts @@ -1221,8 +1221,9 @@ export class ImageDecryptService { const decryptKey = this.configService.get('decryptKey') const wxid = this.configService.get('myWxid') if (!dbPath || !decryptKey || !wxid) return false - const cleanedWxid = this.cleanAccountDirName(wxid) - return await wcdbService.open(dbPath, decryptKey, cleanedWxid) + const accountDir = this.configService.getAccountDir(dbPath, wxid) + if (!accountDir) return false + return await wcdbService.open(accountDir, decryptKey) } private getRowValue(row: any, column: string): any {