feat: 新增语言偏好Tab

This commit is contained in:
digua
2026-04-17 20:56:45 +08:00
committed by digua
parent a1a587f791
commit 0aa99af048
29 changed files with 2235 additions and 61 deletions
+13
View File
@@ -18,6 +18,7 @@ import type {
ClusterGraphOptions,
RelationshipStats,
} from '../../../src/types/analysis'
import type { LanguagePreferenceResult } from '../../../src/types/languagePreference'
import type { FileParseInfo, ConflictCheckResult, MergeParams, MergeResult } from '../../../src/types/format'
// Chat Analysis API
@@ -253,6 +254,18 @@ export const chatApi = {
return ipcRenderer.invoke('chat:getCatchphraseAnalysis', sessionId, filter)
},
/**
* 获取语言偏好分析数据(私聊专用)
*/
getLanguagePreferenceAnalysis: (
sessionId: string,
locale: string,
filter?: { startTs?: number; endTs?: number },
dictType?: string
): Promise<LanguagePreferenceResult> => {
return ipcRenderer.invoke('chat:getLanguagePreferenceAnalysis', sessionId, locale, filter, dictType)
},
/**
* 获取 @ 互动分析数据
*/
+7
View File
@@ -17,6 +17,7 @@ import type {
RelationshipStats,
} from '../../src/types/analysis'
import type { FileParseInfo, ConflictCheckResult, MergeParams, MergeResult } from '../../src/types/format'
import type { LanguagePreferenceResult } from '../../src/types/languagePreference'
import type { TableSchema, SQLResult } from '../../src/components/analysis/SQLLab/types'
interface TimeFilter {
@@ -127,6 +128,12 @@ interface ChatApi {
getSupportedFormats: () => Promise<Array<{ id: string; name: string; platform: string; extensions: string[] }>>
onImportProgress: (callback: (progress: ImportProgress) => void) => () => void
getCatchphraseAnalysis: (sessionId: string, filter?: TimeFilter) => Promise<CatchphraseAnalysis>
getLanguagePreferenceAnalysis: (
sessionId: string,
locale: string,
filter?: TimeFilter,
dictType?: string
) => Promise<LanguagePreferenceResult>
getMentionAnalysis: (sessionId: string, filter?: TimeFilter) => Promise<MentionAnalysis>
getMentionGraph: (sessionId: string, filter?: TimeFilter) => Promise<MentionGraphData>
getClusterGraph: (sessionId: string, filter?: TimeFilter, options?: ClusterGraphOptions) => Promise<ClusterGraphData>