From 815a440082bf1fde1d2058ee907ece798b4baaaa Mon Sep 17 00:00:00 2001 From: tisonhuang Date: Mon, 2 Mar 2026 16:23:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(export):=20place=20text=20exports=20in=20?= =?UTF-8?q?=E8=81=8A=E5=A4=A9=E6=96=87=E6=9C=AC=20dir=20for=20layout=20A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/exportService.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 40877b8..021ac4b 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -4803,12 +4803,19 @@ class ExportService { return { success: false, successCount: 0, failCount: sessionIds.length, error: conn.error } } - if (!fs.existsSync(outputDir)) { - fs.mkdirSync(outputDir, { recursive: true }) - } - const exportMediaEnabled = options.exportMedia === true && Boolean(options.exportImages || options.exportVoices || options.exportVideos || options.exportEmojis) + const rawWriteLayout = this.configService.get('exportWriteLayout') + const writeLayout = rawWriteLayout === 'A' || rawWriteLayout === 'B' || rawWriteLayout === 'C' + ? rawWriteLayout + : 'A' + const shouldUseTextTypeDir = writeLayout === 'A' && !exportMediaEnabled + const exportBaseDir = shouldUseTextTypeDir + ? path.join(outputDir, '聊天文本') + : outputDir + if (!fs.existsSync(exportBaseDir)) { + fs.mkdirSync(exportBaseDir, { recursive: true }) + } const sessionLayout = exportMediaEnabled ? (options.sessionLayout ?? 'per-session') : 'shared' @@ -4849,7 +4856,7 @@ class ExportService { const safeName = suffix ? `${baseName}_${suffix}` : baseName const fileNameWithPrefix = `${await this.getSessionFilePrefix(sessionId)}${safeName}` const useSessionFolder = sessionLayout === 'per-session' - const sessionDir = useSessionFolder ? path.join(outputDir, safeName) : outputDir + const sessionDir = useSessionFolder ? path.join(exportBaseDir, safeName) : exportBaseDir if (useSessionFolder && !fs.existsSync(sessionDir)) { fs.mkdirSync(sessionDir, { recursive: true })