From 77689ec5285aea91bf2c78fc479eb0dbfd11be2d Mon Sep 17 00:00:00 2001 From: cc <98377878+hicccc77@users.noreply.github.com> Date: Wed, 28 Jan 2026 23:04:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A7=A3=E5=86=B3=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/main.ts | 11 +- electron/preload-env.ts | 39 ++ electron/preload.ts | 6 +- electron/services/chatService.ts | 65 ++- electron/services/exportService.ts | 78 +++- electron/services/snsService.ts | 205 ++++++++- electron/services/wcdbCore.ts | 11 +- resources/wcdb_api.dll | Bin 689152 -> 698880 bytes src/App.tsx | 77 ++-- src/components/LivePhotoIcon.tsx | 29 ++ src/components/UpdateDialog.scss | 251 +++++++++++ src/components/UpdateDialog.tsx | 132 ++++++ src/components/UpdateProgressCapsule.scss | 192 +++++++++ src/components/UpdateProgressCapsule.tsx | 118 +++++ src/pages/SettingsPage.tsx | 364 ++++++++-------- src/pages/SnsPage.scss | 323 ++++++++++++-- src/pages/SnsPage.tsx | 504 +++++++++++++++------- src/stores/appStore.ts | 61 ++- src/types/electron.d.ts | 20 +- 19 files changed, 2032 insertions(+), 454 deletions(-) create mode 100644 electron/preload-env.ts create mode 100644 src/components/LivePhotoIcon.tsx create mode 100644 src/components/UpdateDialog.scss create mode 100644 src/components/UpdateDialog.tsx create mode 100644 src/components/UpdateProgressCapsule.scss create mode 100644 src/components/UpdateProgressCapsule.tsx diff --git a/electron/main.ts b/electron/main.ts index 5900356..58bc29f 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -1,3 +1,4 @@ +import './preload-env' import { app, BrowserWindow, ipcMain, nativeTheme, session } from 'electron' import { Worker } from 'worker_threads' import { join, dirname } from 'path' @@ -451,7 +452,7 @@ function registerIpcHandlers() { // 监听下载进度 autoUpdater.on('download-progress', (progress) => { - win?.webContents.send('app:downloadProgress', progress.percent) + win?.webContents.send('app:downloadProgress', progress) }) // 下载完成后自动安装 @@ -682,6 +683,14 @@ function registerIpcHandlers() { return snsService.getTimeline(limit, offset, usernames, keyword, startTime, endTime) }) + ipcMain.handle('sns:debugResource', async (_, url: string) => { + return snsService.debugResource(url) + }) + + ipcMain.handle('sns:proxyImage', async (_, url: string) => { + return snsService.proxyImage(url) + }) + // 私聊克隆 diff --git a/electron/preload-env.ts b/electron/preload-env.ts new file mode 100644 index 0000000..70d36d0 --- /dev/null +++ b/electron/preload-env.ts @@ -0,0 +1,39 @@ +import { join, dirname } from 'path' + +/** + * 强制将本地资源目录添加到 PATH 最前端,确保优先加载本地 DLL + * 解决系统中存在冲突版本的 DLL 导致的应用崩溃问题 + */ +function enforceLocalDllPriority() { + const isDev = !!process.env.VITE_DEV_SERVER_URL + const sep = process.platform === 'win32' ? ';' : ':' + + let possiblePaths: string[] = [] + + if (isDev) { + // 开发环境 + possiblePaths.push(join(process.cwd(), 'resources')) + } else { + // 生产环境 + possiblePaths.push(dirname(process.execPath)) + if (process.resourcesPath) { + possiblePaths.push(process.resourcesPath) + } + } + + const dllPaths = possiblePaths.join(sep) + + if (process.env.PATH) { + process.env.PATH = dllPaths + sep + process.env.PATH + } else { + process.env.PATH = dllPaths + } + + console.log('[WeFlow] Environment PATH updated to enforce local DLL priority:', dllPaths) +} + +try { + enforceLocalDllPriority() +} catch (e) { + console.error('[WeFlow] Failed to enforce local DLL priority:', e) +} diff --git a/electron/preload.ts b/electron/preload.ts index 6fa3c36..cf0352a 100644 --- a/electron/preload.ts +++ b/electron/preload.ts @@ -29,7 +29,7 @@ contextBridge.exposeInMainWorld('electronAPI', { getVersion: () => ipcRenderer.invoke('app:getVersion'), checkForUpdates: () => ipcRenderer.invoke('app:checkForUpdates'), downloadAndInstall: () => ipcRenderer.invoke('app:downloadAndInstall'), - onDownloadProgress: (callback: (progress: number) => void) => { + onDownloadProgress: (callback: (progress: any) => void) => { ipcRenderer.on('app:downloadProgress', (_, progress) => callback(progress)) return () => ipcRenderer.removeAllListeners('app:downloadProgress') }, @@ -214,6 +214,8 @@ contextBridge.exposeInMainWorld('electronAPI', { // 朋友圈 sns: { getTimeline: (limit: number, offset: number, usernames?: string[], keyword?: string, startTime?: number, endTime?: number) => - ipcRenderer.invoke('sns:getTimeline', limit, offset, usernames, keyword, startTime, endTime) + ipcRenderer.invoke('sns:getTimeline', limit, offset, usernames, keyword, startTime, endTime), + debugResource: (url: string) => ipcRenderer.invoke('sns:debugResource', url), + proxyImage: (url: string) => ipcRenderer.invoke('sns:proxyImage', url) } }) diff --git a/electron/services/chatService.ts b/electron/services/chatService.ts index 2c3c143..ccc7a28 100644 --- a/electron/services/chatService.ts +++ b/electron/services/chatService.ts @@ -328,7 +328,7 @@ class ChatService { const cached = this.avatarCache.get(username) // 如果缓存有效且有头像,直接使用;如果没有头像,也需要重新尝试获取 // 额外检查:如果头像是无效的 hex 格式(以 ffd8 开头),也需要重新获取 - const isValidAvatar = cached?.avatarUrl && + const isValidAvatar = cached?.avatarUrl && !cached.avatarUrl.includes('base64,ffd8') // 检测错误的 hex 格式 if (cached && now - cached.updatedAt < this.avatarCacheTtlMs && isValidAvatar) { result[username] = { @@ -970,7 +970,7 @@ class ChatService { const title = this.extractXmlValue(content, 'title') return title || '[引用消息]' case 266287972401: - return '[拍一拍]' + return this.cleanPatMessage(content) case 81604378673: return '[聊天记录]' case 8594229559345: @@ -1659,6 +1659,37 @@ class ChatService { } } + /** + * 清理拍一拍消息 + * 格式示例: 我拍了拍 "梨绒" ງ໐໐໓ ຖiງht620000wxid_... + */ + private cleanPatMessage(content: string): string { + if (!content) return '[拍一拍]' + + // 1. 尝试匹配标准的 "A拍了拍B" 格式 + // 这里的正则比较宽泛,为了兼容不同的语言环境 + const match = /^(.+?拍了拍.+?)(?:[\r\n]|$|ງ|wxid_)/.exec(content) + if (match) { + return `[拍一拍] ${match[1].trim()}` + } + + // 2. 如果匹配失败,尝试清理掉疑似的 garbage (wxid, 乱码) + let cleaned = content.replace(/wxid_[a-zA-Z0-9_-]+/g, '') // 移除 wxid + cleaned = cleaned.replace(/[ງ໐໓ຖiht]+/g, ' ') // 移除已知的乱码字符 + cleaned = cleaned.replace(/\d{6,}/g, '') // 移除长数字 + cleaned = cleaned.replace(/\s+/g, ' ').trim() // 清理空格 + + // 移除不可见字符 + cleaned = this.cleanUtf16(cleaned) + + // 如果清理后还有内容,返回 + if (cleaned && cleaned.length > 1 && !cleaned.includes('xml')) { + return `[拍一拍] ${cleaned}` + } + + return '[拍一拍]' + } + /** * 解码消息内容(处理 BLOB 和压缩数据) */ @@ -2323,7 +2354,7 @@ class ChatService { /** * getVoiceData (绕过WCDB的buggy getVoiceData,直接用execQuery读取) */ - async getVoiceData(sessionId: string, msgId: string, createTime?: number, serverId?: string | number): Promise<{ success: boolean; data?: string; error?: string }> { + async getVoiceData(sessionId: string, msgId: string, createTime?: number, serverId?: string | number, senderWxidOpt?: string): Promise<{ success: boolean; data?: string; error?: string }> { const startTime = Date.now() try { const localId = parseInt(msgId, 10) @@ -2332,7 +2363,7 @@ class ChatService { } let msgCreateTime = createTime - let senderWxid: string | null = null + let senderWxid: string | null = senderWxidOpt || null // 如果前端没传 createTime,才需要查询消息(这个很慢) if (!msgCreateTime) { @@ -2403,7 +2434,7 @@ class ChatService { console.log(`[Voice] getVoiceDataFromMediaDb: ${t4 - t3}ms`) if (!silkData) { - return { success: false, error: '未找到语音数据' } + return { success: false, error: '未找到语音数据 (请确保已在微信中播放过该语音)' } } const t5 = Date.now() @@ -2471,11 +2502,20 @@ class ChatService { const t2 = Date.now() console.log(`[Voice] listMediaDbs: ${t2 - t1}ms`) - if (!mediaDbsResult.success || !mediaDbsResult.data || mediaDbsResult.data.length === 0) { + let files = mediaDbsResult.success && mediaDbsResult.data ? (mediaDbsResult.data as string[]) : [] + + // Fallback: 如果 WCDB DLL 没找到,手动查找 + if (files.length === 0) { + console.warn('[Voice] listMediaDbs returned empty, trying manual search') + files = await this.findMediaDbsManually() + } + + if (files.length === 0) { + console.error('[Voice] No media DBs found') return null } - mediaDbFiles = mediaDbsResult.data as string[] + mediaDbFiles = files this.mediaDbsCache = mediaDbFiles // 永久缓存 } @@ -2854,7 +2894,8 @@ class ChatService { sessionId: string, msgId: string, createTime?: number, - onPartial?: (text: string) => void + onPartial?: (text: string) => void, + senderWxid?: string ): Promise<{ success: boolean; transcript?: string; error?: string }> { const startTime = Date.now() console.log(`[Transcribe] 开始转写: sessionId=${sessionId}, msgId=${msgId}, createTime=${createTime}`) @@ -2926,7 +2967,7 @@ class ChatService { console.log(`[Transcribe] WAV缓存未命中,调用 getVoiceData`) const t3 = Date.now() // 调用 getVoiceData 获取并解码 - const voiceResult = await this.getVoiceData(sessionId, msgId, msgCreateTime, serverId) + const voiceResult = await this.getVoiceData(sessionId, msgId, msgCreateTime, serverId, senderWxid) const t4 = Date.now() console.log(`[Transcribe] getVoiceData: ${t4 - t3}ms, success=${voiceResult.success}`) @@ -3098,7 +3139,7 @@ class ChatService { private resolveAccountDir(dbPath: string, wxid: string): string | null { const normalized = dbPath.replace(/[\\\\/]+$/, '') - + // 如果 dbPath 本身指向 db_storage 目录下的文件(如某个 .db 文件) // 则向上回溯到账号目录 if (basename(normalized).toLowerCase() === 'db_storage') { @@ -3108,14 +3149,14 @@ class ChatService { if (basename(dir).toLowerCase() === 'db_storage') { return dirname(dir) } - + // 否则,dbPath 应该是数据库根目录(如 xwechat_files) // 账号目录应该是 {dbPath}/{wxid} const accountDirWithWxid = join(normalized, wxid) if (existsSync(accountDirWithWxid)) { return accountDirWithWxid } - + // 兜底:返回 dbPath 本身(可能 dbPath 已经是账号目录) return normalized } diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index 7e57c05..94abb6f 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -10,6 +10,7 @@ import { wcdbService } from './wcdbService' import { imageDecryptService } from './imageDecryptService' import { chatService } from './chatService' import { videoService } from './videoService' +import { voiceTranscribeService } from './voiceTranscribeService' import { EXPORT_HTML_STYLES } from './exportHtmlStyles' // ChatLab 格式类型定义 @@ -1032,15 +1033,15 @@ class ExportService { /** * 转写语音为文字 */ - private async transcribeVoice(sessionId: string, msgId: string): Promise { + private async transcribeVoice(sessionId: string, msgId: string, createTime: number, senderWxid: string | null): Promise { try { - const transcript = await chatService.getVoiceTranscript(sessionId, msgId) + const transcript = await chatService.getVoiceTranscript(sessionId, msgId, createTime, undefined, senderWxid || undefined) if (transcript.success && transcript.transcript) { return `[语音转文字] ${transcript.transcript}` } - return '[语音消息 - 转文字失败]' + return `[语音消息 - 转文字失败: ${transcript.error || '未知错误'}]` } catch (e) { - return '[语音消息 - 转文字失败]' + return `[语音消息 - 转文字失败: ${String(e)}]` } } @@ -1655,6 +1656,10 @@ class ExportService { phase: 'preparing' }) + if (options.exportVoiceAsText) { + await this.ensureVoiceModel(onProgress) + } + const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) const allMessages = collected.rows if (isGroup) { @@ -1719,7 +1724,7 @@ class ExportService { // 并行转写语音,限制 4 个并发(转写比较耗资源) const VOICE_CONCURRENCY = 4 await parallelLimit(voiceMessages, VOICE_CONCURRENCY, async (msg) => { - const transcript = await this.transcribeVoice(sessionId, String(msg.localId)) + const transcript = await this.transcribeVoice(sessionId, String(msg.localId), msg.createTime, msg.senderUsername) voiceTranscriptMap.set(msg.localId, transcript) }) } @@ -1849,6 +1854,10 @@ class ExportService { phase: 'preparing' }) + if (options.exportVoiceAsText) { + await this.ensureVoiceModel(onProgress) + } + const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) const { exportMediaEnabled, mediaRootDir, mediaRelativePrefix } = this.getMediaLayout(outputPath, options) @@ -1904,7 +1913,7 @@ class ExportService { const VOICE_CONCURRENCY = 4 await parallelLimit(voiceMessages, VOICE_CONCURRENCY, async (msg) => { - const transcript = await this.transcribeVoice(sessionId, String(msg.localId)) + const transcript = await this.transcribeVoice(sessionId, String(msg.localId), msg.createTime, msg.senderUsername) voiceTranscriptMap.set(msg.localId, transcript) }) } @@ -2088,6 +2097,10 @@ class ExportService { phase: 'preparing' }) + if (options.exportVoiceAsText) { + await this.ensureVoiceModel(onProgress) + } + const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) @@ -2202,11 +2215,11 @@ class ExportService { } // 预加载群昵称 (仅群聊且完整列模式) - console.log('🔍 预加载群昵称检查: isGroup=', isGroup, 'useCompactColumns=', useCompactColumns, 'sessionId=', sessionId) + console.log('预加载群昵称检查: isGroup=', isGroup, 'useCompactColumns=', useCompactColumns, 'sessionId=', sessionId) const groupNicknamesMap = (isGroup && !useCompactColumns) ? await this.getGroupNicknamesForRoom(sessionId) : new Map() - console.log('🔍 群昵称Map大小:', groupNicknamesMap.size) + console.log('群昵称Map大小:', groupNicknamesMap.size) // 填充数据 @@ -2267,7 +2280,7 @@ class ExportService { const VOICE_CONCURRENCY = 4 await parallelLimit(voiceMessages, VOICE_CONCURRENCY, async (msg) => { - const transcript = await this.transcribeVoice(sessionId, String(msg.localId)) + const transcript = await this.transcribeVoice(sessionId, String(msg.localId), msg.createTime, msg.senderUsername) voiceTranscriptMap.set(msg.localId, transcript) }) } @@ -2417,6 +2430,41 @@ class ExportService { } } + /** + * 确保语音转写模型已下载 + */ + private async ensureVoiceModel(onProgress?: (progress: ExportProgress) => void): Promise { + try { + const status = await voiceTranscribeService.getModelStatus() + if (status.success && status.exists) { + return true + } + + onProgress?.({ + current: 0, + total: 100, + currentSession: '正在下载 AI 模型', + phase: 'preparing' + }) + + const downloadResult = await voiceTranscribeService.downloadModel((progress: any) => { + if (progress.percent !== undefined) { + onProgress?.({ + current: progress.percent, + total: 100, + currentSession: `正在下载 AI 模型 (${progress.percent.toFixed(0)}%)`, + phase: 'preparing' + }) + } + }) + + return downloadResult.success + } catch (e) { + console.error('Auto download model failed:', e) + return false + } + } + /** * 导出单个会话为 TXT 格式(默认与 Excel 精简列一致) */ @@ -2442,6 +2490,10 @@ class ExportService { phase: 'preparing' }) + if (options.exportVoiceAsText) { + await this.ensureVoiceModel(onProgress) + } + const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) const sortedMessages = collected.rows.sort((a, b) => a.createTime - b.createTime) @@ -2495,7 +2547,7 @@ class ExportService { const VOICE_CONCURRENCY = 4 await parallelLimit(voiceMessages, VOICE_CONCURRENCY, async (msg) => { - const transcript = await this.transcribeVoice(sessionId, String(msg.localId)) + const transcript = await this.transcribeVoice(sessionId, String(msg.localId), msg.createTime, msg.senderUsername) voiceTranscriptMap.set(msg.localId, transcript) }) } @@ -2613,6 +2665,10 @@ class ExportService { phase: 'preparing' }) + if (options.exportVoiceAsText) { + await this.ensureVoiceModel(onProgress) + } + const collected = await this.collectMessages(sessionId, cleanedMyWxid, options.dateRange) if (isGroup) { await this.mergeGroupMembers(sessionId, collected.memberSet, options.exportAvatars === true) @@ -2673,7 +2729,7 @@ class ExportService { const VOICE_CONCURRENCY = 4 await parallelLimit(voiceMessages, VOICE_CONCURRENCY, async (msg) => { - const transcript = await this.transcribeVoice(sessionId, String(msg.localId)) + const transcript = await this.transcribeVoice(sessionId, String(msg.localId), msg.createTime, msg.senderUsername) voiceTranscriptMap.set(msg.localId, transcript) }) } diff --git a/electron/services/snsService.ts b/electron/services/snsService.ts index bf674f4..4d5c2cf 100644 --- a/electron/services/snsService.ts +++ b/electron/services/snsService.ts @@ -2,6 +2,25 @@ import { wcdbService } from './wcdbService' import { ConfigService } from './config' import { ContactCacheService } from './contactCacheService' +export interface SnsLivePhoto { + url: string + thumb: string + md5?: string + token?: string + key?: string + encIdx?: string +} + +export interface SnsMedia { + url: string + thumb: string + md5?: string + token?: string + key?: string + encIdx?: string + livePhoto?: SnsLivePhoto +} + export interface SnsPost { id: string username: string @@ -10,11 +29,25 @@ export interface SnsPost { createTime: number contentDesc: string type?: number - media: { url: string; thumb: string }[] + media: SnsMedia[] likes: string[] comments: { id: string; nickname: string; content: string; refCommentId: string; refNickname?: string }[] + rawXml?: string // 原始 XML 数据 } +const fixSnsUrl = (url: string, token?: string) => { + if (!url) return url; + + // 1. 统一使用 https + // 2. 将 /150 (缩略图) 强制改为 /0 (原图) + let fixedUrl = url.replace('http://', 'https://').replace(/\/150($|\?)/, '/0$1'); + + if (!token || fixedUrl.includes('token=')) return fixedUrl; + + const connector = fixedUrl.includes('?') ? '&' : '?'; + return `${fixedUrl}${connector}token=${token}&idx=1`; +}; + class SnsService { private contactCache: ContactCacheService @@ -35,14 +68,50 @@ class SnsService { }) if (result.success && result.timeline) { - const enrichedTimeline = result.timeline.map((post: any) => { + const enrichedTimeline = result.timeline.map((post: any, index: number) => { const contact = this.contactCache.get(post.username) - // 修复媒体 URL,如果是 http 则尝试用 https (虽然 qpic 可能不支持强制 https,但通常支持) - const fixedMedia = post.media.map((m: any) => ({ - url: m.url.replace('http://', 'https://'), - thumb: m.thumb.replace('http://', 'https://') - })) + // 修复媒体 URL + const fixedMedia = post.media.map((m: any, mIdx: number) => { + const base = { + url: fixSnsUrl(m.url, m.token), + thumb: fixSnsUrl(m.thumb, m.token), + md5: m.md5, + token: m.token, + key: m.key, + encIdx: m.encIdx || m.enc_idx, // 兼容不同命名 + livePhoto: m.livePhoto ? { + ...m.livePhoto, + url: fixSnsUrl(m.livePhoto.url, m.livePhoto.token), + thumb: fixSnsUrl(m.livePhoto.thumb, m.livePhoto.token), + token: m.livePhoto.token, + key: m.livePhoto.key + } : undefined + } + + // [MOCK] 模拟数据:如果后端没返回 key (说明 DLL 未更新),注入一些 Mock 数据以便前端开发 + if (!base.key) { + base.key = 'mock_key_for_dev' + if (!base.token) { + base.token = 'mock_token_for_dev' + base.url = fixSnsUrl(base.url, base.token) + base.thumb = fixSnsUrl(base.thumb, base.token) + } + base.encIdx = '1' + + // 强制给第一个帖子的第一张图加 LivePhoto 模拟 + if (index === 0 && mIdx === 0 && !base.livePhoto) { + base.livePhoto = { + url: fixSnsUrl('https://tm.sh/d4cb0.mp4', 'mock_live_token'), + thumb: base.thumb, + token: 'mock_live_token', + key: 'mock_live_key' + } + } + } + + return base + }) return { ...post, @@ -59,6 +128,128 @@ class SnsService { console.log('[SnsService] Returning result:', result) return result } + async debugResource(url: string): Promise<{ success: boolean; status?: number; headers?: any; error?: string }> { + return new Promise((resolve) => { + try { + const { app, net } = require('electron') + // Remove mocking 'require' if it causes issues, but here we need 'net' or 'https' + // implementing with 'https' for reliability if 'net' is main-process only special + const https = require('https') + const urlObj = new URL(url) + + const options = { + hostname: urlObj.hostname, + path: urlObj.pathname + urlObj.search, + method: 'GET', + headers: { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63090719) XWEB/8351", + "Accept": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-CN,zh;q=0.9", + "Referer": "https://servicewechat.com/", + "Connection": "keep-alive", + "Range": "bytes=0-10" // Keep our range check + } + } + + const req = https.request(options, (res: any) => { + resolve({ + success: true, + status: res.statusCode, + headers: { + 'x-enc': res.headers['x-enc'], + 'content-length': res.headers['content-length'], + 'content-type': res.headers['content-type'] + } + }) + req.destroy() // We only need headers + }) + + req.on('error', (e: any) => { + resolve({ success: false, error: e.message }) + }) + + req.end() + } catch (e: any) { + resolve({ success: false, error: e.message }) + } + }) + } + + private imageCache = new Map() + + async proxyImage(url: string): Promise<{ success: boolean; dataUrl?: string; error?: string }> { + // Check cache + if (this.imageCache.has(url)) { + return { success: true, dataUrl: this.imageCache.get(url) } + } + + return new Promise((resolve) => { + try { + const https = require('https') + const zlib = require('zlib') + const urlObj = new URL(url) + + const options = { + hostname: urlObj.hostname, + path: urlObj.pathname + urlObj.search, + method: 'GET', + headers: { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63090719) XWEB/8351", + "Accept": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8", + "Accept-Encoding": "gzip, deflate, br", + "Accept-Language": "zh-CN,zh;q=0.9", + "Referer": "https://servicewechat.com/", + "Connection": "keep-alive" + } + } + + const req = https.request(options, (res: any) => { + if (res.statusCode !== 200) { + resolve({ success: false, error: `HTTP ${res.statusCode}` }) + return + } + + const chunks: Buffer[] = [] + let stream = res + + // Handle gzip compression + const encoding = res.headers['content-encoding'] + if (encoding === 'gzip') { + stream = res.pipe(zlib.createGunzip()) + } else if (encoding === 'deflate') { + stream = res.pipe(zlib.createInflate()) + } else if (encoding === 'br') { + stream = res.pipe(zlib.createBrotliDecompress()) + } + + stream.on('data', (chunk: Buffer) => chunks.push(chunk)) + stream.on('end', () => { + const buffer = Buffer.concat(chunks) + const contentType = res.headers['content-type'] || 'image/jpeg' + const base64 = buffer.toString('base64') + const dataUrl = `data:${contentType};base64,${base64}` + + // Cache + this.imageCache.set(url, dataUrl) + + resolve({ success: true, dataUrl }) + }) + stream.on('error', (e: any) => { + resolve({ success: false, error: e.message }) + }) + }) + + req.on('error', (e: any) => { + resolve({ success: false, error: e.message }) + }) + + req.end() + } catch (e: any) { + resolve({ success: false, error: e.message }) + } + }) + } } export const snsService = new SnsService() diff --git a/electron/services/wcdbCore.ts b/electron/services/wcdbCore.ts index 3e6ebd1..9825b3e 100644 --- a/electron/services/wcdbCore.ts +++ b/electron/services/wcdbCore.ts @@ -246,14 +246,15 @@ export class WcdbCore { // InitProtection (Added for security) try { - this.wcdbInitProtection = this.lib.func('bool InitProtection(const char* resourcePath)') - const protectionOk = this.wcdbInitProtection(dllDir) - if (!protectionOk) { - console.error('Core security check failed') + this.wcdbInitProtection = this.lib.func('int32 InitProtection(const char* resourcePath)') + const protectionCode = this.wcdbInitProtection(dllDir) + if (protectionCode !== 0) { + console.error('Core security check failed:', protectionCode) + lastDllInitError = `初始化失败,错误码: ${protectionCode}` return false } } catch (e) { - console.warn('InitProtection symbol not found:', e) + console.warn('InitProtection symbol not found or failed:', e) } // 定义类型 diff --git a/resources/wcdb_api.dll b/resources/wcdb_api.dll index e9e509eeac45c6f3404a9aff138dd9bf37ed3077..c5c8c35618a8f794f6ed639fd6283233138de245 100644 GIT binary patch delta 244370 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 delta 235603 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

K(#O@d;|0>_{bOK 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 DeABv7 diff --git a/src/App.tsx b/src/App.tsx index c8c4074..678d594 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -24,10 +24,25 @@ import * as configService from './services/config' import { Download, X, Shield } from 'lucide-react' import './App.scss' +import UpdateDialog from './components/UpdateDialog' +import UpdateProgressCapsule from './components/UpdateProgressCapsule' + function App() { const navigate = useNavigate() const location = useLocation() - const { setDbConnected } = useAppStore() + const { + setDbConnected, + updateInfo, + setUpdateInfo, + isDownloading, + setIsDownloading, + downloadProgress, + setDownloadProgress, + showUpdateDialog, + setShowUpdateDialog, + setUpdateError + } = useAppStore() + const { currentTheme, themeMode, setTheme, setThemeMode } = useThemeStore() const isAgreementWindow = location.pathname === '/agreement-window' const isOnboardingWindow = location.pathname === '/onboarding-window' @@ -39,11 +54,6 @@ function App() { const [agreementChecked, setAgreementChecked] = useState(false) const [agreementLoading, setAgreementLoading] = useState(true) - // 更新提示状态 - const [updateInfo, setUpdateInfo] = useState<{ version: string; releaseNotes: string } | null>(null) - const [isDownloading, setIsDownloading] = useState(false) - const [downloadProgress, setDownloadProgress] = useState(0) - useEffect(() => { const root = document.documentElement const body = document.body @@ -148,8 +158,12 @@ function App() { // 监听启动时的更新通知 useEffect(() => { - const removeUpdateListener = window.electronAPI.app.onUpdateAvailable?.((info) => { - setUpdateInfo(info) + const removeUpdateListener = window.electronAPI.app.onUpdateAvailable?.((info: any) => { + // 发现新版本时自动打开更新弹窗 + if (info) { + setUpdateInfo({ ...info, hasUpdate: true }) + setShowUpdateDialog(true) + } }) const removeProgressListener = window.electronAPI.app.onDownloadProgress?.((progress) => { setDownloadProgress(progress) @@ -158,16 +172,20 @@ function App() { removeUpdateListener?.() removeProgressListener?.() } - }, []) + }, [setUpdateInfo, setDownloadProgress, setShowUpdateDialog]) const handleUpdateNow = async () => { + setShowUpdateDialog(false) setIsDownloading(true) - setDownloadProgress(0) + setDownloadProgress({ percent: 0 }) try { await window.electronAPI.app.downloadAndInstall() - } catch (e) { + } catch (e: any) { console.error('更新失败:', e) setIsDownloading(false) + // Extract clean error message if possible + const errorMsg = e.message || String(e) + setUpdateError(errorMsg.includes('暂时禁用') ? '自动更新已暂时禁用' : errorMsg) } } @@ -250,6 +268,9 @@ function App() {

+ {/* 全局悬浮进度胶囊 (处理:新版本提示、下载进度、错误提示) */} + + {/* 用户协议弹窗 */} {showAgreement && !agreementLoading && (
@@ -301,31 +322,15 @@ function App() {
)} - {/* 更新提示条 */} - {updateInfo && ( -
- - 发现新版本 v{updateInfo.version} - - {isDownloading ? ( -
-
-
-
- {downloadProgress.toFixed(0)}% -
- ) : ( - <> - - - - )} -
- )} + {/* 更新提示对话框 */} + setShowUpdateDialog(false)} + onUpdate={handleUpdateNow} + isDownloading={isDownloading} + progress={downloadProgress} + />
diff --git a/src/components/LivePhotoIcon.tsx b/src/components/LivePhotoIcon.tsx new file mode 100644 index 0000000..ce904b9 --- /dev/null +++ b/src/components/LivePhotoIcon.tsx @@ -0,0 +1,29 @@ +import React from 'react'; + +interface LivePhotoIconProps { + size?: number | string; + className?: string; + style?: React.CSSProperties; +} + +export const LivePhotoIcon: React.FC = ({ size = 24, className = '', style = {} }) => { + return ( + + + + + + + + + + ); +}; diff --git a/src/components/UpdateDialog.scss b/src/components/UpdateDialog.scss new file mode 100644 index 0000000..452447a --- /dev/null +++ b/src/components/UpdateDialog.scss @@ -0,0 +1,251 @@ +.update-dialog-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.6); + backdrop-filter: blur(4px); + display: flex; + align-items: center; + justify-content: center; + z-index: 9999; + animation: fadeIn 0.3s ease-out; + + .update-dialog { + width: 680px; + background: #f5f5f5; + border-radius: 24px; + box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); + overflow: hidden; + position: relative; + animation: slideUp 0.3s ease-out; + display: flex; + flex-direction: column; + + /* Top Section (White/Gradient) */ + .dialog-header { + background: #ffffff; + padding: 40px 20px 30px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + position: relative; + + /* Subtle radial gradient effect in top left as seen in image */ + &::before { + content: ''; + position: absolute; + top: -50px; + left: -50px; + width: 200px; + height: 200px; + background: radial-gradient(circle, rgba(255, 235, 220, 0.4) 0%, rgba(255, 255, 255, 0) 70%); + opacity: 0.8; + pointer-events: none; + } + + .version-tag { + background: #f0eee9; + color: #8c7b6e; + padding: 4px 16px; + border-radius: 12px; + font-size: 13px; + font-weight: 600; + margin-bottom: 24px; + letter-spacing: 0.5px; + } + + h2 { + font-size: 32px; + font-weight: 800; + color: #333333; + margin: 0 0 12px; + letter-spacing: -0.5px; + } + + .subtitle { + font-size: 15px; + color: #999999; + font-weight: 400; + } + } + + /* Content Section (Light Gray) */ + .dialog-content { + background: #f2f2f2; + padding: 24px 40px 40px; + flex: 1; + display: flex; + flex-direction: column; + + .update-notes-container { + display: flex; + align-items: flex-start; + padding: 20px 0; + margin-bottom: 30px; + + .icon-box { + background: #fbfbfb; // Beige-ish white + width: 48px; + height: 48px; + border-radius: 16px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 20px; + flex-shrink: 0; + color: #8c7b6e; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03); + + svg { + opacity: 0.8; + } + } + + .text-box { + flex: 1; + + h3 { + font-size: 18px; + font-weight: 700; + color: #333333; + margin: 0 0 8px; + } + + p { + font-size: 14px; + color: #666666; + line-height: 1.6; + margin: 0; + } + + ul { + margin: 8px 0 0 18px; + padding: 0; + + li { + font-size: 14px; + color: #666666; + line-height: 1.6; + } + } + } + } + + .progress-section { + margin-bottom: 30px; + + .progress-info-row { + display: flex; + justify-content: space-between; + margin-bottom: 8px; + font-size: 12px; + color: #888; + font-weight: 500; + } + + .progress-bar-bg { + height: 6px; + background: #e0e0e0; + border-radius: 3px; + overflow: hidden; + + .progress-bar-fill { + height: 100%; + background: #000000; + border-radius: 3px; + transition: width 0.3s ease; + } + } + + .status-text { + text-align: center; + margin-top: 12px; + font-size: 13px; + color: #666; + } + } + + .actions { + display: flex; + justify-content: center; + + .btn-update { + background: #000000; + color: #ffffff; + border: none; + padding: 16px 48px; + border-radius: 20px; // Pill shape + font-size: 16px; + font-weight: 600; + cursor: pointer; + transition: transform 0.2s, box-shadow 0.2s; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + + &:hover { + transform: translateY(-2px); + box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2); + } + + &:active { + transform: translateY(0); + } + + &:disabled { + opacity: 0.7; + cursor: not-allowed; + transform: none; + } + } + } + } + + .close-btn { + position: absolute; + top: 16px; + right: 16px; + background: rgba(0, 0, 0, 0.05); + border: none; + color: #999; + cursor: pointer; + width: 32px; + height: 32px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s ease; + z-index: 10; + + &:hover { + background: rgba(0, 0, 0, 0.1); + color: #333; + transform: rotate(90deg); + } + } + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes slideUp { + from { + transform: translateY(20px); + opacity: 0; + } + + to { + transform: translateY(0); + opacity: 1; + } +} \ No newline at end of file diff --git a/src/components/UpdateDialog.tsx b/src/components/UpdateDialog.tsx new file mode 100644 index 0000000..78f3db5 --- /dev/null +++ b/src/components/UpdateDialog.tsx @@ -0,0 +1,132 @@ +import React, { useEffect, useState } from 'react' +import { Quote, X } from 'lucide-react' +import './UpdateDialog.scss' + +interface UpdateInfo { + version?: string + releaseNotes?: string +} + +interface UpdateDialogProps { + open: boolean + updateInfo: UpdateInfo | null + onClose: () => void + onUpdate: () => void + isDownloading: boolean + progress: number | { + percent: number + bytesPerSecond?: number + transferred?: number + total?: number + remaining?: number // seconds + } +} + +const UpdateDialog: React.FC = ({ + open, + updateInfo, + onClose, + onUpdate, + isDownloading, + progress +}) => { + if (!open || !updateInfo) return null + + // Safe normalize progress + const safeProgress = typeof progress === 'number' ? { percent: progress } : (progress || { percent: 0 }) + const percent = safeProgress.percent || 0 + const bytesPerSecond = safeProgress.bytesPerSecond + const total = safeProgress.total + const transferred = safeProgress.transferred + const remaining = safeProgress.remaining + + // Format bytes + const formatBytes = (bytes: number) => { + if (!Number.isFinite(bytes) || bytes === 0) return '0 B' + const k = 1024 + const sizes = ['B', 'KB', 'MB', 'GB', 'TB'] + const i = Math.floor(Math.log(bytes) / Math.log(k)) + const unitIndex = Math.max(0, Math.min(i, sizes.length - 1)) + return parseFloat((bytes / Math.pow(k, unitIndex)).toFixed(1)) + ' ' + sizes[unitIndex] + } + + // Format speed + const formatSpeed = (bytesPerSecond: number) => { + return `${formatBytes(bytesPerSecond)}/s` + } + + // Format time + const formatTime = (seconds: number) => { + if (!Number.isFinite(seconds)) return '计算中...' + if (seconds < 60) return `${Math.ceil(seconds)} 秒` + const minutes = Math.floor(seconds / 60) + const remainingSeconds = Math.ceil(seconds % 60) + return `${minutes} 分 ${remainingSeconds} 秒` + } + + return ( +
+
+ {!isDownloading && ( + + )} + +
+
+ 新版本 {updateInfo.version} +
+

欢迎体验全新的 WeFlow

+
我们带来了一些改进
+
+ +
+
+
+ +
+
+

优化

+ {updateInfo.releaseNotes ? ( +
+ ) : ( +

修复了一些已知问题,提升了稳定性。

+ )} +
+
+ + {isDownloading ? ( +
+
+ {bytesPerSecond ? formatSpeed(bytesPerSecond) : '下载中...'} + {total ? `${formatBytes(transferred || 0)} / ${formatBytes(total)}` : `${percent.toFixed(1)}%`} + {remaining !== undefined && 剩余 {formatTime(remaining)}} +
+ +
+
+
+ + {/* Fallback status text if detailed info is missing */} + {(!bytesPerSecond && !total) && ( +
{percent.toFixed(0)}% 已下载
+ )} +
+ ) : ( +
+ +
+ )} +
+
+
+ ) +} + +export default UpdateDialog diff --git a/src/components/UpdateProgressCapsule.scss b/src/components/UpdateProgressCapsule.scss new file mode 100644 index 0000000..b58f6b1 --- /dev/null +++ b/src/components/UpdateProgressCapsule.scss @@ -0,0 +1,192 @@ +.update-progress-capsule { + position: fixed; + top: 38px; // Just below title bar + left: 50%; + transform: translateX(-50%); + z-index: 9998; + cursor: pointer; + animation: capsuleSlideDown 0.4s cubic-bezier(0.16, 1, 0.3, 1); + user-select: none; + + &:hover { + .capsule-content { + background: rgba(255, 255, 255, 0.95); + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); + transform: scale(1.02); + } + } + + .capsule-content { + background: var(--bg-primary); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + padding: 8px 18px; + border-radius: 24px; + border: 1px solid var(--border-color); + box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12); + display: flex; + align-items: center; + gap: 12px; + height: 40px; + position: relative; + overflow: hidden; + transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); + + .icon-wrapper { + display: flex; + align-items: center; + justify-content: center; + color: var(--text-primary); + + .download-icon { + animation: capsulePulse 2s infinite ease-in-out; + } + } + + .info-wrapper { + display: flex; + align-items: baseline; + gap: 10px; + z-index: 1; + + .percent-text { + font-size: 15px; + font-weight: 700; + color: var(--text-primary); + font-variant-numeric: tabular-nums; + } + + .speed-text { + font-size: 13px; + color: var(--text-tertiary); + font-weight: 500; + font-variant-numeric: tabular-nums; + } + + .error-text { + font-size: 15px; + color: #ff4d4f; + font-weight: 600; + } + + .available-text { + font-size: 15px; + color: var(--text-primary); + font-weight: 600; + } + } + + .progress-bg { + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 3px; + background: rgba(0, 0, 0, 0.05); + + .progress-fill { + height: 100%; + background: var(--primary); + transition: width 0.3s ease; + } + } + + .capsule-close { + background: none; + border: none; + padding: 4px; + margin-left: -4px; + margin-right: -8px; + cursor: pointer; + opacity: 0.5; + transition: all 0.2s ease; + display: flex; + align-items: center; + color: var(--text-secondary); + + &:hover { + opacity: 1; + background: var(--bg-tertiary); + border-radius: 50%; + } + } + } + + // State Modifiers + &.state-available { + .capsule-content { + background: var(--primary); + border-color: rgba(255, 255, 255, 0.1); + color: white; + + .icon-wrapper { + color: white; + } + + .info-wrapper { + .available-text { + color: white; + } + } + + .capsule-close { + color: rgba(255, 255, 255, 0.8); + + &:hover { + background: rgba(255, 255, 255, 0.1); + } + } + } + } + + &.state-downloading { + .capsule-content { + background: var(--bg-primary); + } + } + + &.state-error { + .capsule-content { + background: #fff1f0; + border-color: #ffa39e; + + .icon-wrapper { + color: #ff4d4f; + } + + .info-wrapper .error-text { + color: #cf1322; + } + + .capsule-close { + color: #cf1322; + } + } + } +} + +@keyframes capsuleSlideDown { + from { + transform: translate(-50%, -40px); + opacity: 0; + } + + to { + transform: translate(-50%, 0); + opacity: 1; + } +} + +@keyframes capsulePulse { + + 0%, + 100% { + transform: translateY(0); + opacity: 1; + } + + 50% { + transform: translateY(2px); + opacity: 0.6; + } +} \ No newline at end of file diff --git a/src/components/UpdateProgressCapsule.tsx b/src/components/UpdateProgressCapsule.tsx new file mode 100644 index 0000000..8402680 --- /dev/null +++ b/src/components/UpdateProgressCapsule.tsx @@ -0,0 +1,118 @@ +import React from 'react' +import { useAppStore } from '../stores/appStore' +import { Download, X, AlertCircle, Info } from 'lucide-react' +import './UpdateProgressCapsule.scss' + +const UpdateProgressCapsule: React.FC = () => { + const { + isDownloading, + downloadProgress, + showUpdateDialog, + setShowUpdateDialog, + updateInfo, + setUpdateInfo, + updateError, + setUpdateError + } = useAppStore() + + // Control visibility + // If dialog is open, we usually hide the capsule UNLESS we want it as a mini-indicator + // For now, let's hide it if the dialog is open + if (showUpdateDialog) return null + + // State mapping + const hasError = !!updateError + const hasUpdate = !!updateInfo && updateInfo.hasUpdate + + if (!hasError && !isDownloading && !hasUpdate) return null + + // Safe normalize progress + const safeProgress = typeof downloadProgress === 'number' ? { percent: downloadProgress } : (downloadProgress || { percent: 0 }) + const percent = safeProgress.percent || 0 + const bytesPerSecond = safeProgress.bytesPerSecond + + const formatBytes = (bytes: number) => { + if (!Number.isFinite(bytes) || bytes === 0) return '0 B' + const k = 1024 + const sizes = ['B', 'KB', 'MB', 'GB'] + const i = Math.floor(Math.log(bytes) / Math.log(k)) + const unitIndex = Math.max(0, Math.min(i, sizes.length - 1)) + return parseFloat((bytes / Math.pow(k, unitIndex)).toFixed(1)) + ' ' + sizes[unitIndex] + } + + const formatSpeed = (bps: number) => { + return `${formatBytes(bps)}/s` + } + + const handleClose = (e: React.MouseEvent) => { + e.stopPropagation() + if (hasError) { + setUpdateError(null) + } else if (hasUpdate && !isDownloading) { + setUpdateInfo(null) + } + } + + // Determine appearance class and content + let capsuleClass = 'update-progress-capsule' + let content = null + + if (hasError) { + capsuleClass += ' state-error' + content = ( + <> +
+ +
+
+ 更新失败: {updateError} +
+ + ) + } else if (isDownloading) { + capsuleClass += ' state-downloading' + content = ( + <> +
+ +
+
+ {percent.toFixed(0)}% + {bytesPerSecond > 0 && ( + {formatSpeed(bytesPerSecond)} + )} +
+
+
+
+ + ) + } else if (hasUpdate) { + capsuleClass += ' state-available' + content = ( + <> +
+ +
+
+ 发现新版本 v{updateInfo?.version} +
+ + ) + } + + return ( +
setShowUpdateDialog(true)}> +
+ {content} + {!isDownloading && ( + + )} +
+
+ ) +} + +export default UpdateProgressCapsule diff --git a/src/pages/SettingsPage.tsx b/src/pages/SettingsPage.tsx index 8bd2d45..dd3864a 100644 --- a/src/pages/SettingsPage.tsx +++ b/src/pages/SettingsPage.tsx @@ -29,7 +29,22 @@ interface WxidOption { } function SettingsPage() { - const { isDbConnected, setDbConnected, setLoading, reset } = useAppStore() + const { + isDbConnected, + setDbConnected, + setLoading, + reset, + updateInfo, + setUpdateInfo, + isDownloading, + setIsDownloading, + downloadProgress, + setDownloadProgress, + showUpdateDialog, + setShowUpdateDialog, + setUpdateError + } = useAppStore() + const resetChatStore = useChatStore((state) => state.reset) const { currentTheme, themeMode, setTheme, setThemeMode } = useThemeStore() const clearAnalyticsStoreCache = useAnalyticsStore((state) => state.clearCache) @@ -69,10 +84,7 @@ function SettingsPage() { const [isFetchingDbKey, setIsFetchingDbKey] = useState(false) const [isFetchingImageKey, setIsFetchingImageKey] = useState(false) const [isCheckingUpdate, setIsCheckingUpdate] = useState(false) - const [isDownloading, setIsDownloading] = useState(false) - const [downloadProgress, setDownloadProgress] = useState(0) const [appVersion, setAppVersion] = useState('') - const [updateInfo, setUpdateInfo] = useState<{ hasUpdate: boolean; version?: string; releaseNotes?: string } | null>(null) const [message, setMessage] = useState<{ text: string; success: boolean } | null>(null) const [showDecryptKey, setShowDecryptKey] = useState(false) const [dbKeyStatus, setDbKeyStatus] = useState('') @@ -209,7 +221,7 @@ function SettingsPage() { // 监听下载进度 useEffect(() => { - const removeListener = window.electronAPI.app.onDownloadProgress?.((progress: number) => { + const removeListener = window.electronAPI.app.onDownloadProgress?.((progress: any) => { setDownloadProgress(progress) }) return () => removeListener?.() @@ -229,12 +241,14 @@ function SettingsPage() { }, [whisperModelDir]) const handleCheckUpdate = async () => { + if (isCheckingUpdate) return setIsCheckingUpdate(true) setUpdateInfo(null) try { const result = await window.electronAPI.app.checkForUpdates() if (result.hasUpdate) { setUpdateInfo(result) + setShowUpdateDialog(true) showMessage(`发现新版:${result.version}`, true) } else { showMessage('当前已是最新版', true) @@ -247,8 +261,10 @@ function SettingsPage() { } const handleUpdateNow = async () => { + setShowUpdateDialog(false) + setIsDownloading(true) - setDownloadProgress(0) + setDownloadProgress({ percent: 0 }) try { showMessage('正在下载更新...', true) await window.electronAPI.app.downloadAndInstall() @@ -258,6 +274,8 @@ function SettingsPage() { } } + + const showMessage = (text: string, success: boolean) => { setMessage({ text, success }) setTimeout(() => setMessage(null), 3000) @@ -989,171 +1007,171 @@ function SettingsPage() { const exportExcelColumnsLabel = getOptionLabel(exportExcelColumnOptions, exportExcelColumnsValue) return ( -
-
- - 导出页面默认选中的格式 -
- - {showExportFormatSelect && ( -
- {exportFormatOptions.map((option) => ( - - ))} -
- )} -
-
- -
- - 控制导出页面的默认时间选择 -
- - {showExportDateRangeSelect && ( -
- {exportDateRangeOptions.map((option) => ( - - ))} -
- )} -
-
- -
- - 控制图片/语音/表情的默认导出开关 -
- {exportDefaultMedia ? '已开启' : '已关闭'} -
) } diff --git a/src/pages/SnsPage.scss b/src/pages/SnsPage.scss index 2bcac8e..eb9188f 100644 --- a/src/pages/SnsPage.scss +++ b/src/pages/SnsPage.scss @@ -10,70 +10,47 @@ } .sns-sidebar { - width: 300px; + width: 320px; background: var(--bg-secondary); - border-right: 1px solid var(--border-color); + border-left: 1px solid var(--border-color); display: flex; flex-direction: column; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); flex-shrink: 0; z-index: 10; + box-shadow: -4px 0 16px rgba(0, 0, 0, 0.05); &.closed { width: 0; opacity: 0; - transform: translateX(-100%); + transform: translateX(100%); pointer-events: none; + border-left: none; } .sidebar-header { - padding: 18px 20px; + padding: 0 24px; + height: 64px; + box-sizing: border-box; display: flex; align-items: center; - justify-content: space-between; + /* justify-content: space-between; -- No longer needed as it's just h3 */ border-bottom: 1px solid var(--border-color); + background: var(--bg-secondary); - .title-wrapper { - display: flex; - align-items: center; - gap: 8px; + h3 { + margin: 0; + font-size: 18px; + font-weight: 700; color: var(--text-primary); - - .title-icon { - color: var(--accent-color); - } - - h3 { - margin: 0; - font-size: 15px; - font-weight: 600; - letter-spacing: 0.5px; - } - } - - .toggle-btn { - background: var(--bg-tertiary); - border: 1px solid var(--border-color); - color: var(--text-secondary); - cursor: pointer; - padding: 5px; - display: flex; - align-items: center; - justify-content: center; - border-radius: 6px; - transition: all 0.2s; - - &:hover { - background: var(--hover-bg); - color: var(--accent-color); - border-color: var(--accent-color); - } + letter-spacing: 0; } } .filter-content { flex: 1; - overflow-y: auto; + overflow-y: hidden; + /* Changed from auto to hidden to allow inner scrolling of contact list */ padding: 16px; display: flex; flex-direction: column; @@ -86,6 +63,7 @@ padding: 14px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02); transition: transform 0.2s, box-shadow 0.2s; + flex-shrink: 0; &:hover { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.04); @@ -172,7 +150,7 @@ flex: 1; display: flex; flex-direction: column; - min-height: 0; // 改为 0 以支持 flex 压缩 + min-height: 200px; padding: 0; overflow: hidden; } @@ -181,7 +159,7 @@ .filter-section { - margin-bottom: 20px; + margin-bottom: 0px; label { display: flex; @@ -258,12 +236,16 @@ flex: 1; display: flex; flex-direction: column; + overflow: hidden; .section-header { padding: 16px 16px 1px 16px; + margin-bottom: 12px; + /* Increased spacing */ display: flex; justify-content: space-between; align-items: center; + flex-shrink: 0; .header-actions { display: flex; @@ -306,6 +288,7 @@ position: relative; display: flex; align-items: center; + flex-shrink: 0; .search-icon { position: absolute; @@ -354,6 +337,7 @@ overflow-y: auto; padding: 4px 8px; margin: 0 4px 8px 4px; + min-height: 0; .contact-item { display: flex; @@ -524,6 +508,12 @@ } } + .header-right { + display: flex; + align-items: center; + gap: 12px; + } + .icon-btn { background: none; border: none; @@ -553,6 +543,7 @@ } } + .sns-content-wrapper { flex: 1; display: flex; @@ -739,6 +730,61 @@ cursor: zoom-in; } + .live-badge { + position: absolute; + top: 8px; + left: 8px; + right: 8px; + left: auto; + background: rgba(255, 255, 255, 0.9); + background: rgba(0, 0, 0, 0.3); + backdrop-filter: blur(4px); + color: white; + padding: 4px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + pointer-events: none; + z-index: 2; + transition: opacity 0.2s; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + } + + .download-btn-overlay { + position: absolute; + bottom: 6px; + right: 6px; + width: 28px; + height: 28px; + border-radius: 50%; + background: rgba(0, 0, 0, 0.5); + backdrop-filter: blur(4px); + border: 1px solid rgba(255, 255, 255, 0.3); + color: white; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + opacity: 0; + transform: translateY(10px); + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + z-index: 2; + + &:hover { + background: rgba(0, 0, 0, 0.7); + transform: scale(1.1); + border-color: rgba(255, 255, 255, 0.8); + } + } + + &:hover { + .download-btn-overlay { + opacity: 1; + transform: translateY(0); + } + } + .media-error-placeholder { position: absolute; inset: 0; @@ -937,4 +983,197 @@ transform: scale(1); opacity: 1; } +} + +// Debug Dialog Styles +.debug-btn { + margin-left: auto; + background: transparent; + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 6px; + border-radius: 6px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s; + + &:hover { + background: var(--hover-bg); + color: var(--accent-color); + border-color: var(--accent-color); + } +} + +.modal-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.7); + display: flex; + align-items: center; + justify-content: center; + z-index: 10000; + backdrop-filter: blur(4px); +} + +.debug-dialog { + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: 12px; + width: 90%; + max-width: 800px; + max-height: 85vh; + display: flex; + flex-direction: column; + box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); + + .debug-dialog-header { + padding: 16px 20px; + border-bottom: 1px solid var(--border-color); + display: flex; + align-items: center; + justify-content: space-between; + + h3 { + margin: 0; + font-size: 16px; + font-weight: 600; + color: var(--text-primary); + } + + .close-btn { + background: transparent; + border: none; + color: var(--text-secondary); + cursor: pointer; + padding: 4px; + display: flex; + align-items: center; + border-radius: 4px; + transition: all 0.2s; + + &:hover { + background: var(--hover-bg); + color: var(--accent-color); + } + } + } + + .debug-dialog-body { + flex: 1; + overflow-y: auto; + padding: 20px; + + .debug-section { + margin-bottom: 24px; + padding-bottom: 20px; + border-bottom: 1px solid var(--border-color); + + &:last-child { + border-bottom: none; + } + + h4 { + margin: 0 0 12px 0; + font-size: 14px; + font-weight: 600; + color: var(--accent-color); + text-transform: uppercase; + letter-spacing: 0.5px; + } + + .debug-item { + display: flex; + gap: 12px; + padding: 8px 0; + align-items: flex-start; + + .debug-key { + font-weight: 500; + color: var(--text-secondary); + min-width: 140px; + font-size: 13px; + font-family: 'Consolas', 'Microsoft YaHei', 'SimHei', monospace; + } + + .debug-value { + flex: 1; + color: var(--text-primary); + font-size: 13px; + word-break: break-all; + font-family: 'Consolas', 'Microsoft YaHei', 'SimHei', monospace; + user-select: text; + cursor: text; + padding: 2px 0; + } + } + + .media-debug-item { + background: var(--bg-primary); + border: 1px solid var(--border-color); + border-radius: 8px; + padding: 12px; + margin-bottom: 12px; + + .media-debug-header { + font-weight: 600; + color: var(--text-primary); + margin-bottom: 8px; + padding-bottom: 8px; + border-bottom: 1px solid var(--border-color); + } + + .live-photo-debug { + margin-top: 12px; + padding-top: 12px; + border-top: 1px dashed var(--border-color); + + .live-photo-label { + font-weight: 500; + color: var(--accent-color); + margin-bottom: 8px; + font-size: 13px; + } + } + } + + .json-code { + background: var(--bg-tertiary); + color: var(--text-primary); + padding: 16px; + border-radius: 8px; + border: 1px solid var(--border-color); + overflow-x: auto; + font-family: 'Consolas', 'Monaco', monospace; + font-size: 12px; + line-height: 1.5; + user-select: all; + max-height: 400px; + overflow-y: auto; + } + + .copy-json-btn { + margin-top: 12px; + padding: 8px 16px; + background: var(--accent-color); + color: white; + border: none; + border-radius: 6px; + cursor: pointer; + font-size: 13px; + font-weight: 500; + transition: all 0.2s; + + &:hover { + background: var(--accent-hover); + transform: translateY(-1px); + box-shadow: 0 4px 12px rgba(var(--accent-color-rgb), 0.3); + } + } + } + } } \ No newline at end of file diff --git a/src/pages/SnsPage.tsx b/src/pages/SnsPage.tsx index 18bf21a..8029dd1 100644 --- a/src/pages/SnsPage.tsx +++ b/src/pages/SnsPage.tsx @@ -1,8 +1,9 @@ import { useEffect, useState, useRef, useCallback, useMemo } from 'react' -import { RefreshCw, Heart, Search, Calendar, User, X, Filter, Play, ImageIcon } from 'lucide-react' +import { RefreshCw, Heart, Search, Calendar, User, X, Filter, Play, ImageIcon, Zap, Download, ChevronRight } from 'lucide-react' import { Avatar } from '../components/Avatar' import { ImagePreview } from '../components/ImagePreview' import JumpToDateDialog from '../components/JumpToDateDialog' +import { LivePhotoIcon } from '../components/LivePhotoIcon' import './SnsPage.scss' interface SnsPost { @@ -13,29 +14,64 @@ interface SnsPost { createTime: number contentDesc: string type?: number - media: { url: string; thumb: string }[] + media: { + url: string + thumb: string + md5?: string + token?: string + key?: string + encIdx?: string + livePhoto?: { + url: string + thumb: string + token?: string + key?: string + encIdx?: string + } + }[] likes: string[] comments: { id: string; nickname: string; content: string; refCommentId: string; refNickname?: string }[] + rawXml?: string // 原始 XML 数据 } -const MediaItem = ({ url, thumb, onPreview }: { url: string, thumb: string, onPreview: () => void }) => { +const MediaItem = ({ media, onPreview }: { media: any, onPreview: () => void }) => { const [error, setError] = useState(false); + const { url, thumb, livePhoto } = media; + const isLive = !!livePhoto; + const targetUrl = thumb || url; + + const handleDownload = (e: React.MouseEvent) => { + e.stopPropagation(); + + let downloadUrl = url; + let downloadKey = media.key || ''; + + if (isLive && media.livePhoto) { + downloadUrl = media.livePhoto.url; + downloadKey = media.livePhoto.key || ''; + } + + // TODO: 调用后端下载服务 + // window.electronAPI.sns.download(downloadUrl, downloadKey); + }; return ( -
- {!error ? ( - setError(true)} - /> - ) : ( -
- +
+ setError(true)} + /> + {isLive && ( +
+
)} +
); }; @@ -65,6 +101,7 @@ export default function SnsPage() { const [showJumpDialog, setShowJumpDialog] = useState(false) const [jumpTargetDate, setJumpTargetDate] = useState(undefined) const [previewImage, setPreviewImage] = useState(null) + const [debugPost, setDebugPost] = useState(null) const postsContainerRef = useRef(null) @@ -264,7 +301,7 @@ export default function SnsPage() { setHasNewer(false) setSelectedUsernames([]) setSearchKeyword('') - setJumpTargetDate(null) + setJumpTargetDate(undefined) loadContacts() loadPosts({ reset: true }) } @@ -347,16 +384,157 @@ export default function SnsPage() { return (
- {/* 侧边栏:过滤与搜索 */} +
+
+
+

社交动态

+
+
+ + +
+
+ +
+
+
+ {loadingNewer && ( +
+ + 正在检查更新的动态... +
+ )} + {!loadingNewer && hasNewer && ( +
loadPosts({ direction: 'newer' })}> + 查看更新的动态 +
+ )} + {posts.map((post, index) => { + return ( +
+
+
+
+ +
+
{post.nickname}
+
{formatTime(post.createTime)}
+
+ +
+ +
+ {post.contentDesc &&
{post.contentDesc}
} + + {post.type === 15 ? ( +
+ + 视频动态 +
+ ) : post.media.length > 0 && ( +
+ {post.media.map((m, idx) => ( + setPreviewImage(m.url)} /> + ))} +
+ )} +
+ + {(post.likes.length > 0 || post.comments.length > 0) && ( +
+ {post.likes.length > 0 && ( +
+ + + {post.likes.join('、')} + +
+ )} + + {post.comments.length > 0 && ( +
+ {post.comments.map((c, idx) => ( +
+ {c.nickname} + {c.refNickname && ( + <> + 回复 + {c.refNickname} + + )} + : + {c.content} +
+ ))} +
+ )} +
+ )} +
+
+
+ ) + })} +
+ + {loading &&
+ + 正在加载更多... +
} + {!hasMore && posts.length > 0 &&
已经到底啦
} + {!loading && posts.length === 0 && ( +
+
+

未找到相关动态

+ {(selectedUsernames.length > 0 || searchKeyword) && ( + + )} +
+ )} +
+
+
+ + {/* 侧边栏:过滤与搜索 (moved to right) */} - -
-
-
- {!isSidebarOpen && ( - - )} -

社交动态

-
-
- -
-
- -
-
-
- {loadingNewer && ( -
- - 正在检查更新的动态... -
- )} - {!loadingNewer && hasNewer && ( -
loadPosts({ direction: 'newer' })}> - 查看更新的动态 -
- )} - {posts.map((post, index) => { - return ( -
-
-
-
- -
-
{post.nickname}
-
{formatTime(post.createTime)}
-
-
- -
- {post.contentDesc &&
{post.contentDesc}
} - - {post.type === 15 ? ( -
- - 视频动态 -
- ) : post.media.length > 0 && ( -
- {post.media.map((m, idx) => ( - setPreviewImage(m.url)} /> - ))} -
- )} -
- - {(post.likes.length > 0 || post.comments.length > 0) && ( -
- {post.likes.length > 0 && ( -
- - - {post.likes.join('、')} - -
- )} - - {post.comments.length > 0 && ( -
- {post.comments.map((c, idx) => ( -
- {c.nickname} - {c.refNickname && ( - <> - 回复 - {c.refNickname} - - )} - : - {c.content} -
- ))} -
- )} -
- )} -
-
-
- ) - })} -
- - {loading &&
- - 正在加载更多... -
} - {!hasMore && posts.length > 0 &&
已经到底啦
} - {!loading && posts.length === 0 && ( -
-
-

未找到相关动态

- {(selectedUsernames.length > 0 || searchKeyword) && ( - - )} -
- )} -
-
-
{previewImage && ( setPreviewImage(null)} /> @@ -605,6 +653,154 @@ export default function SnsPage() { }} currentDate={jumpTargetDate || new Date()} /> + + {/* Debug Info Dialog */} + {debugPost && ( +
setDebugPost(null)}> +
e.stopPropagation()}> +
+

原始数据 - {debugPost.nickname}

+ +
+
+ +
+

ℹ 基本信息

+
+ ID: + {debugPost.id} +
+
+ 用户名: + {debugPost.username} +
+
+ 昵称: + {debugPost.nickname} +
+
+ 时间: + {new Date(debugPost.createTime * 1000).toLocaleString()} +
+
+ 类型: + {debugPost.type} +
+
+ +
+

媒体信息 ({debugPost.media.length} 项)

+ {debugPost.media.map((media, idx) => ( +
+
媒体 {idx + 1}
+
+ URL: + {media.url} +
+
+ 缩略图: + {media.thumb} +
+ {media.md5 && ( +
+ MD5: + {media.md5} +
+ )} + {media.token && ( +
+ Token: + {media.token} +
+ )} + {media.key && ( +
+ Key (解密密钥): + {media.key} +
+ )} + {media.encIdx && ( +
+ Enc Index: + {media.encIdx} +
+ )} + {media.livePhoto && ( +
+
Live Photo 视频部分:
+
+ 视频 URL: + {media.livePhoto.url} +
+
+ 视频缩略图: + {media.livePhoto.thumb} +
+ {media.livePhoto.token && ( +
+ 视频 Token: + {media.livePhoto.token} +
+ )} + {media.livePhoto.key && ( +
+ 视频 Key: + {media.livePhoto.key} +
+ )} +
+ )} +
+ ))} +
+ + {/* 原始 XML */} + {debugPost.rawXml && ( +
+

原始 XML 数据

+
{(() => {
+                                        // XML 缩进格式化
+                                        let formatted = '';
+                                        let indent = 0;
+                                        const tab = '  ';
+                                        const parts = debugPost.rawXml.split(/(<[^>]+>)/g).filter(p => p.trim());
+
+                                        for (const part of parts) {
+                                            if (!part.startsWith('<')) {
+                                                if (part.trim()) formatted += part;
+                                                continue;
+                                            }
+
+                                            if (part.startsWith('')) {
+                                                formatted += '\n' + tab.repeat(indent) + part;
+                                            } else {
+                                                formatted += '\n' + tab.repeat(indent) + part;
+                                                indent++;
+                                            }
+                                        }
+
+                                        return formatted.trim();
+                                    })()}
+ +
+ )} +
+
+
+ )}
) } diff --git a/src/stores/appStore.ts b/src/stores/appStore.ts index f479f9e..3d33689 100644 --- a/src/stores/appStore.ts +++ b/src/stores/appStore.ts @@ -5,15 +5,34 @@ export interface AppState { isDbConnected: boolean dbPath: string | null myWxid: string | null - + // 加载状态 isLoading: boolean loadingText: string - + + // 更新状态 + updateInfo: { + hasUpdate: boolean + version?: string + releaseNotes?: string + } | null + isDownloading: boolean + downloadProgress: any + showUpdateDialog: boolean + updateError: string | null + // 操作 setDbConnected: (connected: boolean, path?: string) => void setMyWxid: (wxid: string) => void setLoading: (loading: boolean, text?: string) => void + + // 更新操作 + setUpdateInfo: (info: any) => void + setIsDownloading: (isDownloading: boolean) => void + setDownloadProgress: (progress: any) => void + setShowUpdateDialog: (show: boolean) => void + setUpdateError: (error: string | null) => void + reset: () => void } @@ -24,23 +43,41 @@ export const useAppStore = create((set) => ({ isLoading: false, loadingText: '', - setDbConnected: (connected, path) => set({ - isDbConnected: connected, - dbPath: path ?? null + // 更新状态初始化 + updateInfo: null, + isDownloading: false, + downloadProgress: { percent: 0 }, + showUpdateDialog: false, + updateError: null, + + setDbConnected: (connected, path) => set({ + isDbConnected: connected, + dbPath: path ?? null }), - + setMyWxid: (wxid) => set({ myWxid: wxid }), - - setLoading: (loading, text) => set({ - isLoading: loading, - loadingText: text ?? '' + + setLoading: (loading, text) => set({ + isLoading: loading, + loadingText: text ?? '' }), - + + setUpdateInfo: (info) => set({ updateInfo: info, updateError: null }), + setIsDownloading: (isDownloading) => set({ isDownloading: isDownloading }), + setDownloadProgress: (progress) => set({ downloadProgress: progress }), + setShowUpdateDialog: (show) => set({ showUpdateDialog: show }), + setUpdateError: (error) => set({ updateError: error }), + reset: () => set({ isDbConnected: false, dbPath: null, myWxid: null, isLoading: false, - loadingText: '' + loadingText: '', + updateInfo: null, + isDownloading: false, + downloadProgress: { percent: 0 }, + showUpdateDialog: false, + updateError: null }) })) diff --git a/src/types/electron.d.ts b/src/types/electron.d.ts index abd1d6f..fdd8203 100644 --- a/src/types/electron.d.ts +++ b/src/types/electron.d.ts @@ -333,12 +333,30 @@ export interface ElectronAPI { createTime: number contentDesc: string type?: number - media: Array<{ url: string; thumb: string }> + media: Array<{ + url: string + thumb: string + md5?: string + token?: string + key?: string + encIdx?: string + livePhoto?: { + url: string + thumb: string + md5?: string + token?: string + key?: string + encIdx?: string + } + }> likes: Array comments: Array<{ id: string; nickname: string; content: string; refCommentId: string; refNickname?: string }> + rawXml?: string }> error?: string }> + debugResource: (url: string) => Promise<{ success: boolean; status?: number; headers?: any; error?: string }> + proxyImage: (url: string) => Promise<{ success: boolean; dataUrl?: string; error?: string }> } }