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",