fix(export): 修复导出页文件消息数量始终显示为 0

This commit is contained in:
saylin committed 2026-07-01 14:22:52 +08:00
1 parent 50ae72b639
commit 3a593b2f7c
5 files changed
+108 -5

No files matched your search

+1 -1
View File
@@ -56,7 +56,7 @@ export const useSessionMetrics = create<SessionMetricsState>((set, get) => ({
imageMessages: sessionStat.imageMessages,
videoMessages: sessionStat.videoMessages,
emojiMessages: sessionStat.emojiMessages,
fileMessages: 0 // Will need specific metric if available
fileMessages: sessionStat.fileMessages ?? 0 // 文件消息数量,由后端 ExportSessionStats 返回
}
}
}
+8
View File
@@ -931,6 +931,8 @@ export interface ExportSessionContentMetricCacheEntry {
imageMessages?: number
videoMessages?: number
emojiMessages?: number
/** 文件类消息数量,与后端 ExportSessionStats.fileMessages 对齐 */
fileMessages?: number
firstTimestamp?: number
lastTimestamp?: number
}
@@ -1099,6 +1101,9 @@ export async function getExportSessionContentMetricCache(scopeKey: string): Prom
if (typeof source.emojiMessages === 'number' && Number.isFinite(source.emojiMessages) && source.emojiMessages >= 0) {
metric.emojiMessages = Math.floor(source.emojiMessages)
}
if (typeof source.fileMessages === 'number' && Number.isFinite(source.fileMessages) && source.fileMessages >= 0) {
metric.fileMessages = Math.floor(source.fileMessages)
}
if (typeof source.firstTimestamp === 'number' && Number.isFinite(source.firstTimestamp) && source.firstTimestamp > 0) {
metric.firstTimestamp = Math.floor(source.firstTimestamp)
}
@@ -1144,6 +1149,9 @@ export async function setExportSessionContentMetricCache(
if (typeof rawMetric.emojiMessages === 'number' && Number.isFinite(rawMetric.emojiMessages) && rawMetric.emojiMessages >= 0) {
metric.emojiMessages = Math.floor(rawMetric.emojiMessages)
}
if (typeof rawMetric.fileMessages === 'number' && Number.isFinite(rawMetric.fileMessages) && rawMetric.fileMessages >= 0) {
metric.fileMessages = Math.floor(rawMetric.fileMessages)
}
if (typeof rawMetric.firstTimestamp === 'number' && Number.isFinite(rawMetric.firstTimestamp) && rawMetric.firstTimestamp > 0) {
metric.firstTimestamp = Math.floor(rawMetric.firstTimestamp)
}
+2
View File
@@ -644,6 +644,8 @@ export interface ElectronAPI {
imageMessages: number
videoMessages: number
emojiMessages: number
/** 文件类消息数量 */
fileMessages: number
transferMessages: number
redPacketMessages: number
callMessages: number