From 827e77c9a38341dab93566e336fad508507204dd Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 25 Jan 2026 17:43:23 +0800 Subject: [PATCH 01/10] =?UTF-8?q?fix:=E4=BC=98=E5=8C=96=E8=A1=A8=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/exportService.ts | 5 +++++ src/pages/WelcomePage.tsx | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 7e57c05..99aa31f 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -2006,6 +2006,11 @@ class ExportService { ) const detailedExport: any = { + weflow: { + version: '1.0.3', + exportedAt: Math.floor(Date.now() / 1000), + generator: 'WeFlow' + }, session: { wxid: sessionId, nickname: sessionNickname, diff --git a/src/pages/WelcomePage.tsx b/src/pages/WelcomePage.tsx index e885208..1f144e2 100644 --- a/src/pages/WelcomePage.tsx +++ b/src/pages/WelcomePage.tsx @@ -440,8 +440,8 @@ function WelcomePage({ standalone = false }: WelcomePageProps) { 浏览选择 -
请选择微信-设置-存储位置对应的目录
-
⚠️ 目录路径不可包含中文,如有中文请去微信-设置-存储位置点击更改,迁移至全英文目录
+
请选择微信-设置-存储位置对应的目录
+
⚠️ 目录路径不可包含中文,如有中文请去微信-设置-存储位置点击更改,迁移至全英文目录
)} @@ -506,7 +506,7 @@ function WelcomePage({ standalone = false }: WelcomePageProps) { {dbKeyStatus &&
{dbKeyStatus}
}
获取密钥会自动识别最近登录的账号
-
点击自动获取后微信将重新启动,当页面提示hook安装成功,现在登录微信后再点击登录
+
点击自动获取后微信将重新启动,当页面提示hook安装成功,现在登录微信后再点击登录
)} From 2e61902556e17c128b725aba4a09a7bb20cb0c9b Mon Sep 17 00:00:00 2001 From: xuncha <102988462+xunchahaha@users.noreply.github.com> Date: Sun, 25 Jan 2026 18:05:15 +0800 Subject: [PATCH 02/10] =?UTF-8?q?fix:=E4=BC=98=E5=8C=96=E8=A1=A8=E8=BF=B0?= =?UTF-8?q?=20(#96)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/exportService.ts | 5 +++++ src/pages/WelcomePage.tsx | 15 +++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 7e57c05..99aa31f 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -2006,6 +2006,11 @@ class ExportService { ) const detailedExport: any = { + weflow: { + version: '1.0.3', + exportedAt: Math.floor(Date.now() / 1000), + generator: 'WeFlow' + }, session: { wxid: sessionId, nickname: sessionNickname, diff --git a/src/pages/WelcomePage.tsx b/src/pages/WelcomePage.tsx index a2967fd..8c7b12e 100644 --- a/src/pages/WelcomePage.tsx +++ b/src/pages/WelcomePage.tsx @@ -453,7 +453,10 @@ function WelcomePage({ standalone = false }: WelcomePageProps) { ⚠️ 目录路径不可包含中文,如有中文请先在微信中迁移至全英文目录 - )} +
请选择微信-设置-存储位置对应的目录
+
⚠️ 目录路径不可包含中文,如有中文请去微信-设置-存储位置点击更改,迁移至全英文目录
+ + )} {currentStep.id === 'cache' && (
@@ -554,11 +557,11 @@ function WelcomePage({ standalone = false }: WelcomePageProps) { {isFetchingImageKey ? '扫描中...' : '自动获取图片密钥'} - {imageKeyStatus &&
{imageKeyStatus}
} -
请在微信中打开几张图片后再点击获取
-
- )} - + {dbKeyStatus &&
{dbKeyStatus}
} +
获取密钥会自动识别最近登录的账号
+
点击自动获取后微信将重新启动,当页面提示hook安装成功,现在登录微信后再点击登录
+ + )} {error &&
{error}
} From b9d1ea316f75a2c0fdb445b73e567032da1490f3 Mon Sep 17 00:00:00 2001 From: xuncha <102988462+xunchahaha@users.noreply.github.com> Date: Sun, 25 Jan 2026 18:19:06 +0800 Subject: [PATCH 03/10] =?UTF-8?q?Revert=20"fix:=E4=BC=98=E5=8C=96=E8=A1=A8?= =?UTF-8?q?=E8=BF=B0=20(#96)"=20(#97)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 2e61902556e17c128b725aba4a09a7bb20cb0c9b. --- electron/services/exportService.ts | 5 ----- src/pages/WelcomePage.tsx | 15 ++++++--------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 99aa31f..7e57c05 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -2006,11 +2006,6 @@ class ExportService { ) const detailedExport: any = { - weflow: { - version: '1.0.3', - exportedAt: Math.floor(Date.now() / 1000), - generator: 'WeFlow' - }, session: { wxid: sessionId, nickname: sessionNickname, diff --git a/src/pages/WelcomePage.tsx b/src/pages/WelcomePage.tsx index 8c7b12e..a2967fd 100644 --- a/src/pages/WelcomePage.tsx +++ b/src/pages/WelcomePage.tsx @@ -453,10 +453,7 @@ function WelcomePage({ standalone = false }: WelcomePageProps) { ⚠️ 目录路径不可包含中文,如有中文请先在微信中迁移至全英文目录 -
请选择微信-设置-存储位置对应的目录
-
⚠️ 目录路径不可包含中文,如有中文请去微信-设置-存储位置点击更改,迁移至全英文目录
- - )} + )} {currentStep.id === 'cache' && (
@@ -557,11 +554,11 @@ function WelcomePage({ standalone = false }: WelcomePageProps) { {isFetchingImageKey ? '扫描中...' : '自动获取图片密钥'} - {dbKeyStatus &&
{dbKeyStatus}
} -
获取密钥会自动识别最近登录的账号
-
点击自动获取后微信将重新启动,当页面提示hook安装成功,现在登录微信后再点击登录
-
- )} + {imageKeyStatus &&
{imageKeyStatus}
} +
请在微信中打开几张图片后再点击获取
+ + )} + {error &&
{error}
} From 3c32ad5ca8ec61e0c881397057b143e9c5e55e54 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Sun, 25 Jan 2026 18:29:23 +0800 Subject: [PATCH 04/10] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E4=BA=86json?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E7=9A=84=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/exportService.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 7e57c05..6f6eefe 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -1605,6 +1605,14 @@ class ExportService { } } + private getWeflowHeader(): { version: string; exportedAt: number; generator: string } { + return { + version: '1.0.3', + exportedAt: Math.floor(Date.now() / 1000), + generator: 'WeFlow' + } + } + /** * 生成通用的导出元数据 (参考 ChatLab 格式) */ @@ -2005,7 +2013,9 @@ class ExportService { options.displayNamePreference || 'remark' ) + const weflow = this.getWeflowHeader() const detailedExport: any = { + weflow, session: { wxid: sessionId, nickname: sessionNickname, From 9f31ac0529ee1a606935d4066bd88327082d63da Mon Sep 17 00:00:00 2001 From: xuncha <102988462+xunchahaha@users.noreply.github.com> Date: Sun, 25 Jan 2026 18:29:50 +0800 Subject: [PATCH 05/10] Dev (#98) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix:优化表述 * fix:修复了json导出的格式 --- electron/services/exportService.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 7e57c05..6f6eefe 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -1605,6 +1605,14 @@ class ExportService { } } + private getWeflowHeader(): { version: string; exportedAt: number; generator: string } { + return { + version: '1.0.3', + exportedAt: Math.floor(Date.now() / 1000), + generator: 'WeFlow' + } + } + /** * 生成通用的导出元数据 (参考 ChatLab 格式) */ @@ -2005,7 +2013,9 @@ class ExportService { options.displayNamePreference || 'remark' ) + const weflow = this.getWeflowHeader() const detailedExport: any = { + weflow, session: { wxid: sessionId, nickname: sessionNickname, From b66fc32068977963b401763090567e3bafcd649c Mon Sep 17 00:00:00 2001 From: xuncha <102988462+xunchahaha@users.noreply.github.com> Date: Tue, 27 Jan 2026 17:35:52 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BA=AFjson=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=A0=BC=E5=BC=8F=20(#111)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix:优化表述 * fix:修复了json导出的格式 From e557ee224ef62c6eeea0512c221ab86031751030 Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Tue, 27 Jan 2026 17:42:03 +0800 Subject: [PATCH 07/10] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E7=BE=A4=E8=81=8A?= =?UTF-8?q?=E5=88=86=E6=9E=90=E7=99=BD=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/GroupAnalyticsPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/GroupAnalyticsPage.tsx b/src/pages/GroupAnalyticsPage.tsx index 3cb07c1..1a8dfe1 100644 --- a/src/pages/GroupAnalyticsPage.tsx +++ b/src/pages/GroupAnalyticsPage.tsx @@ -56,7 +56,7 @@ function GroupAnalyticsPage() { useEffect(() => { loadGroups() - }, [loadGroups]) + }, []) useEffect(() => { if (searchQuery) { From 85d82bfd09ad0dce221c589fb8343b23f74bf0bd Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Tue, 27 Jan 2026 17:46:12 +0800 Subject: [PATCH 08/10] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=BD=93=E5=A4=A9?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E4=BC=9A=E8=AF=9D=E4=B9=9F=E4=BE=9D=E6=97=A7?= =?UTF-8?q?=E4=BC=9A=E4=BA=A7=E7=94=9F=E5=AF=BC=E5=87=BA=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/services/exportService.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 6f6eefe..f5e750b 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -1665,6 +1665,12 @@ class ExportService { const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) const allMessages = collected.rows + + // 如果没有消息,不创建文件 + if (allMessages.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } + if (isGroup) { await this.mergeGroupMembers(sessionId, collected.memberSet, options.exportAvatars === true) } @@ -1858,6 +1864,12 @@ class ExportService { }) const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) + + // 如果没有消息,不创建文件 + if (collected.rows.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } + const { exportMediaEnabled, mediaRootDir, mediaRelativePrefix } = this.getMediaLayout(outputPath, options) // ========== 阶段1:并行导出媒体文件 ========== @@ -2100,6 +2112,10 @@ class ExportService { const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) + // 如果没有消息,不创建文件 + if (collected.rows.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } onProgress?.({ current: 30, @@ -2453,6 +2469,12 @@ class ExportService { }) const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) + + // 如果没有消息,不创建文件 + if (collected.rows.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } + const sortedMessages = collected.rows.sort((a, b) => a.createTime - b.createTime) const { exportMediaEnabled, mediaRootDir, mediaRelativePrefix } = this.getMediaLayout(outputPath, options) @@ -2624,6 +2646,12 @@ class ExportService { }) const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) + + // 如果没有消息,不创建文件 + if (collected.rows.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } + if (isGroup) { await this.mergeGroupMembers(sessionId, collected.memberSet, options.exportAvatars === true) } From 3405f26d10d4b969825a47f635131d3cd49ea959 Mon Sep 17 00:00:00 2001 From: xuncha <102988462+xunchahaha@users.noreply.github.com> Date: Tue, 27 Jan 2026 17:46:49 +0800 Subject: [PATCH 09/10] Dev (#112) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix:优化表述 * fix:修复了json导出的格式 * fix:修复群聊分析白屏 * fix:修复当天没有会话也依旧会产生导出文件的问题 --- electron/services/exportService.ts | 28 ++++++++++++++++++++++++++++ src/pages/GroupAnalyticsPage.tsx | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 6f6eefe..f5e750b 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -1665,6 +1665,12 @@ class ExportService { const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) const allMessages = collected.rows + + // 如果没有消息,不创建文件 + if (allMessages.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } + if (isGroup) { await this.mergeGroupMembers(sessionId, collected.memberSet, options.exportAvatars === true) } @@ -1858,6 +1864,12 @@ class ExportService { }) const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) + + // 如果没有消息,不创建文件 + if (collected.rows.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } + const { exportMediaEnabled, mediaRootDir, mediaRelativePrefix } = this.getMediaLayout(outputPath, options) // ========== 阶段1:并行导出媒体文件 ========== @@ -2100,6 +2112,10 @@ class ExportService { const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) + // 如果没有消息,不创建文件 + if (collected.rows.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } onProgress?.({ current: 30, @@ -2453,6 +2469,12 @@ class ExportService { }) const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) + + // 如果没有消息,不创建文件 + if (collected.rows.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } + const sortedMessages = collected.rows.sort((a, b) => a.createTime - b.createTime) const { exportMediaEnabled, mediaRootDir, mediaRelativePrefix } = this.getMediaLayout(outputPath, options) @@ -2624,6 +2646,12 @@ class ExportService { }) const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) + + // 如果没有消息,不创建文件 + if (collected.rows.length === 0) { + return { success: false, error: '该会话在指定时间范围内没有消息' } + } + if (isGroup) { await this.mergeGroupMembers(sessionId, collected.memberSet, options.exportAvatars === true) } diff --git a/src/pages/GroupAnalyticsPage.tsx b/src/pages/GroupAnalyticsPage.tsx index 3cb07c1..1a8dfe1 100644 --- a/src/pages/GroupAnalyticsPage.tsx +++ b/src/pages/GroupAnalyticsPage.tsx @@ -56,7 +56,7 @@ function GroupAnalyticsPage() { useEffect(() => { loadGroups() - }, [loadGroups]) + }, []) useEffect(() => { if (searchQuery) { From f10e974f363465ad345631bba2b9199a38f9648c Mon Sep 17 00:00:00 2001 From: xuncha <1658671838@qq.com> Date: Tue, 27 Jan 2026 17:54:28 +0800 Subject: [PATCH 10/10] ee --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9011c0e..46ab5a0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "weflow", - "version": "1.4.0", + "version": "1.4.1", "description": "WeFlow", "main": "dist-electron/main.js", "author": "cc",