feat: 新增单库解密功能并支持数据库批量解密

在dataManagementService中实现decryptSingleDatabase方法,支持单个数据库文件解密
增强httpApiService服务,新增消息查询接口端点,支持多条件筛选与分页查询
在ChatPage中新增微信号复制 UI 组件,并优化消息加载逻辑
在DataManagementPage中新增数据库选择与批量解密能力,支持用户勾选多个数据库解密
更新ChatPage.scss和DataManagementPage.scss样式文件,适配新增 UI 元素
扩展 Electron API 类型定义,新增数据库解密与消息检索相关方法
This commit is contained in:
ILoveBingLu
2026-03-04 01:25:12 +08:00
parent 8f797fa70f
commit 79af4bfaa3
10 changed files with 1286 additions and 17 deletions
+9
View File
@@ -161,6 +161,7 @@ contextBridge.exposeInMainWorld('electronAPI', {
dataManagement: {
scanDatabases: () => ipcRenderer.invoke('dataManagement:scanDatabases'),
decryptAll: () => ipcRenderer.invoke('dataManagement:decryptAll'),
decryptSingleDatabase: (filePath: string) => ipcRenderer.invoke('dataManagement:decryptSingleDatabase', filePath),
incrementalUpdate: () => ipcRenderer.invoke('dataManagement:incrementalUpdate'),
getCurrentCachePath: () => ipcRenderer.invoke('dataManagement:getCurrentCachePath'),
getDefaultCachePath: () => ipcRenderer.invoke('dataManagement:getDefaultCachePath'),
@@ -239,6 +240,14 @@ contextBridge.exposeInMainWorld('electronAPI', {
getContacts: () => ipcRenderer.invoke('chat:getContacts'),
getMessages: (sessionId: string, offset?: number, limit?: number) =>
ipcRenderer.invoke('chat:getMessages', sessionId, offset, limit),
getMessagesBefore: (
sessionId: string,
cursorSortSeq: number,
limit?: number,
cursorCreateTime?: number,
cursorLocalId?: number
) =>
ipcRenderer.invoke('chat:getMessagesBefore', sessionId, cursorSortSeq, limit, cursorCreateTime, cursorLocalId),
getAllVoiceMessages: (sessionId: string) =>
ipcRenderer.invoke('chat:getAllVoiceMessages', sessionId),
getAllImageMessages: (sessionId: string) =>