mirror of
https://github.com/ILoveBingLu/CipherTalk.git
synced 2026-05-17 01:40:22 +08:00
feat(chat): 新增聊天记录独立窗口和日期查询功能
- 新增聊天记录独立窗口(ChatHistoryPage),支持在单独窗口中查看完整聊天记录 - 实现 createChatHistoryWindow 函数,支持窗口复用和主题适配 - 新增 IPC 处理器用于打开聊天记录窗口和获取单条消息 - 添加 getMessagesByDate 和 getDatesWithMessages 方法,支持按日期查询消息 - 在 preload.ts 中暴露新的 IPC 调用接口 - 新增 ChatHistoryPage.tsx 和 ChatHistoryPage.scss 组件文件 - 更新 package.json 依赖项和 package-lock.json - 更新 README.md,新增爱发电赞助支持入口 - 添加爱发电二维码图片资源 - 版本号更新至 2.1.6 - 优化聊天页面和设置页面的用户体验 - 更新类型定义和配置文件以支持新功能
This commit is contained in:
@@ -73,6 +73,7 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
||||
openVideoPlayerWindow: (videoPath: string, videoWidth?: number, videoHeight?: number) => ipcRenderer.invoke('window:openVideoPlayerWindow', videoPath, videoWidth, videoHeight),
|
||||
openBrowserWindow: (url: string, title?: string) => ipcRenderer.invoke('window:openBrowserWindow', url, title),
|
||||
openAISummaryWindow: (sessionId: string, sessionName: string) => ipcRenderer.invoke('window:openAISummaryWindow', sessionId, sessionName),
|
||||
openChatHistoryWindow: (sessionId: string, messageId: number) => ipcRenderer.invoke('window:openChatHistoryWindow', sessionId, messageId),
|
||||
resizeToFitVideo: (videoWidth: number, videoHeight: number) => ipcRenderer.invoke('window:resizeToFitVideo', videoWidth, videoHeight),
|
||||
splashReady: () => ipcRenderer.send('window:splashReady'),
|
||||
onSplashFadeOut: (callback: () => void) => {
|
||||
@@ -202,6 +203,11 @@ contextBridge.exposeInMainWorld('electronAPI', {
|
||||
setCurrentSession: (sessionId: string | null) => ipcRenderer.invoke('chat:setCurrentSession', sessionId),
|
||||
getSessionDetail: (sessionId: string) => ipcRenderer.invoke('chat:getSessionDetail', sessionId),
|
||||
getVoiceData: (sessionId: string, msgId: string, createTime?: number) => ipcRenderer.invoke('chat:getVoiceData', sessionId, msgId, createTime),
|
||||
getMessagesByDate: (sessionId: string, targetTimestamp: number, limit?: number) =>
|
||||
ipcRenderer.invoke('chat:getMessagesByDate', sessionId, targetTimestamp, limit),
|
||||
getMessage: (sessionId: string, localId: number) => ipcRenderer.invoke('chat:getMessage', sessionId, localId),
|
||||
getDatesWithMessages: (sessionId: string, year: number, month: number) =>
|
||||
ipcRenderer.invoke('chat:getDatesWithMessages', sessionId, year, month),
|
||||
onSessionsUpdated: (callback: (sessions: any[]) => void) => {
|
||||
const listener = (_: any, sessions: any[]) => callback(sessions)
|
||||
ipcRenderer.on('chat:sessions-updated', listener)
|
||||
|
||||
Reference in New Issue
Block a user