diff --git a/electron/services/config.ts b/electron/services/config.ts index 4b8324d..bb6b9f5 100644 --- a/electron/services/config.ts +++ b/electron/services/config.ts @@ -688,8 +688,16 @@ export class ConfigService { } } + private getUserDataPath(): string { + const workerUserDataPath = String(process.env.WEFLOW_USER_DATA_PATH || process.env.WEFLOW_CONFIG_CWD || '').trim() + if (workerUserDataPath) { + return workerUserDataPath + } + return app?.getPath?.('userData') || process.cwd() + } + getCacheBasePath(): string { - return join(app.getPath('userData'), 'cache') + return join(this.getUserDataPath(), 'cache') } getAll(): Partial { diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 6929f59..6649e0c 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -6945,6 +6945,7 @@ class ExportService { if (collected.rows.length === 0) { return { success: false, error: '该会话在指定时间范围内没有消息' } } + const totalMessages = collected.rows.length const senderUsernames = new Set() let senderScanIndex = 0 @@ -6987,6 +6988,7 @@ class ExportService { : [] const mediaCache = new Map() + const mediaDirCache = new Set() if (mediaMessages.length > 0) { await this.preloadMediaLookupCaches(sessionId, mediaMessages, {