Commit Graph

29 Commits

  • feat(desktop): 新增 Electron 桌面端壳与自绘标题栏
    - 新增 desktop/ Electron 工程:启动后端并等待 /api/health,就绪后加载页面;打包模式从 extraResources 读取 UI/后端
    - 新增 DesktopTitleBar 组件,适配 frame:false 自绘标题栏,并修复桌面端 100vh 布局导致的外层滚动条
    - chat 页面右侧布局调整更接近原生微信;detection-result 调试输出仅在 dev 环境启用
    - .gitignore 忽略 desktop 构建产物/依赖,保留 .gitkeep 占位文件
    - README 补充 Windows 桌面端 EXE 打包(npm run dist)与产物路径说明
  • fix(chat): 合并转发记录的图片/表情解析与媒体兜底
    - 前端:recordItem XML 清理非法控制字符并转义裸 &,补齐 fromnewmsgid/cdnurlstring/aeskey 等字段
    - 前端:图片接口追加 server_id;表情接口透传 emoji_url/aes_key
    - 后端:/api/chat/media/image 支持 server_id,从 message_resource.db 反查 packed_info 资源 md5 并优先定位
    - 后端:/api/chat/media/emoji 支持 emoji_url/aes_key,本地缺失时安全下载并尝试 AES-CBC 解密识别
  • feat(chat): 前端增加实时开关并自动刷新会话/消息
    - 聊天页新增实时开关,自动探测 realtime 可用性
    
    - 监听 /api/chat/realtime/stream,变更时触发增量同步并刷新会话/消息
    
    - useApi 增加 realtime 接口,sessions/messages 支持 source 参数
  • feat(chat): 合并转发聊天记录支持预览与弹窗查看
    - appmsg(type=19) 解析为 renderType=chatHistory,并透传 recordItem(recorditem 原文)
    - 修复 recorditem CDATA 内包含 <refermsg> 时误判为引用消息的问题
    
    - 列表/导出路径统一带上 recordItem,并避免已解析的 appmsg 被二次 XML 解析覆盖
    - 前端聊天页新增聊天记录卡片 + 弹窗,支持按条展示及图片/视频/引用内容预览
    - 会话列表与摘要统一显示为 [聊天记录]
  • feat(keys): 自动保存密钥并支持前端回填
    - 新增 output/account_keys.json 账号密钥存储(db_key / image_xor_key / image_aes_key)
    - 新增 /api/keys 查询已保存密钥;缺失时兜底从账号目录 _media_keys.json 读取图片密钥
    
    - 数据库解密成功后按账号写入 db_key;保存图片密钥时同步写入 store(失败静默不影响主流程)
    - 前端解密页进入图片密钥步骤自动回填;进入下一步/跳过时自动保存一次
  • fix(chat): 图片消息优先使用包含 file_id 的本地 URL
    - 当服务端返回本地 /api/chat/media/image URL 时,优先使用前端拼的本地 URL(携带 file_id),提高兜底命中率
  • feat(chat): 前端增加消息类型筛选与按类型导出
    - 聊天页新增消息类型筛选下拉框(render_types)
    
    - 导出弹窗新增“消息类型(导出内容)”多选与快捷项,并明确离线媒体不影响消息条数
    
    - createChatExport 透传 message_types;图片本地 URL 可同时携带 md5+file_id
    
    - 增加 message-filter-select 样式
  • fix(chat): 修复发送侧表情下载按钮对齐
    - 表情消息在发送方向使用反向布局,避免下载按钮位置错乱
    - 下载按钮间距随发送/接收方向切换(mr-2/ml-2)
  • docs(readme): 补充索引与密钥使用说明
    - 增加 session_preview.db 会话列表加速说明与开关
    
    - 更新媒体密钥获取建议(wx_key)与相关使用提示
    
    - 补充搜索相关截图资源
  • feat(chat): 前端聊天页支持消息搜索与筛选
    - 新增搜索侧边栏:会话内/全局搜索、时间范围、发送者与类型筛选
    
    - 支持搜索结果高亮与上下文定位
    
    - 对接后端索引构建状态与错误提示
  • docs(readme): 补充导出界面截图
    - 在界面预览中增加导出弹窗截图
    - 更新聊天记录页面说明,标明已支持离线导出
  • feat(chat): 聊天页增加导出弹窗与进度展示
    - 导出弹窗支持范围/格式/时间范围/媒体开关/文件名等参数
    - 批量会话列表展示头像,提供 全部/群聊/单聊 tab 与搜索
    - 导出进度使用 SSE 实时更新(失败回退轮询),提供进度条展示
    - 支持任务取消与 ZIP 下载
    - 隐私模式下导出同步隐私策略,且 hover 不再保持模糊
  • improvement(media): 聊天媒体支持 file_id 兜底定位
    - 图片/视频消息无 MD5 时,解析并下发 file_id,用于本地资源兜底定位与展示
    - 后端 chat_media/open_folder 支持 md5/file_id;视频优先可 Range 的文件响应,并在需要时解密落盘
    - 前端聊天页与 API 调用适配 file_id;补充媒体 URL 可用性判断
    - 解密页补充“获取密钥”提示,支持手动输入/保存密钥;README 同步说明;更新音频图标资源
  • improvement(media): 优化媒体密钥提取与解密体验
    - 微信进程 AES 密钥提取:支持多 PID/更多进程名,尝试启用 SeDebugPrivilege,并扩展扫描范围与可读页过滤提升成功率
    - AES key 内存匹配支持 16/32 位候选,校验覆盖 JPEG/PNG/GIF/WEBP/MP4 等常见资源头
    - 解密页新增 XOR/AES 密钥一键复制与反馈提示,并补充管理员运行提示
    - README 更新徽章与界面预览表格,新增/更新截图资源
  • feat(chat): 聊天页支持可选 username 路由
    - 将聊天页迁移为 pages/chat/[[username]].vue(/chat 与 /chat/:username)
    
    - 选中会话时同步 URL,支持路由直达指定会话
    
    - 文件消息卡片补充文件类型图标与 WeChat PC 标识资源
  • improvement(chat): 表情消息支持一键下载并优化渲染
    useApi 增加 downloadChatEmoji,对接后端表情下载接口
    
    聊天页识别远程表情地址并提供下载入口;下载成功后切换为本地表情 URL
    
    修正文本混排表情的渲染结构并微调选中态颜色
  • chore(assets): 补充图片资源并更新致谢
    - 新增 frontend/assets/images 下的微信风格图片资源
    
    - 补充 frontend/public/image.png
    
    - README 致谢加入 vue3-wechat-tool 项目链接
  • improvement(chat): 优化聊天消息渲染与微信风格资源
    - 转账/红包消息改为微信风格卡片展示,补充状态与金额展示
    
    - 语音/通话等消息补充图标与交互样式,提升一致性
    
    - 增加聊天页使用的静态资源与表情资源,并补充表情映射文件
  • feat(media): 添加图片资源解密与SSE进度
    - 后端新增图片解密密钥获取/保存接口(/api/media/keys)
    
    - 新增批量解密接口与输出结构:resource/{md5前2位}/{md5}.{ext}
    
    - 新增资源直读接口(/api/media/resource/{md5}),自动识别媒体类型返回
    
    - 新增SSE实时进度接口(/api/media/decrypt_all_stream),前端可实时展示进度
    
    - 前端解密页增加图片解密步骤与进度条/统计/失败说明,并对接相关API
    
    - README 补充图片资源解密使用说明
  • chore: 更新配置和其他小改动
    - 更新nuxt配置
    
    - 优化首页样式
    
    - 调整主程序和解密逻辑
    
    - 添加数据库分析脚本
  • docs: 重写README并更新截图
    - 移除所有emoji符号
    
    - 界面预览移至功能特性上方
    
    - 更新截图为PNG格式并移至前端公共目录
    
    - 添加聊天记录页面说明(注明为基础功能)
    
    - 添加oh-my-wechat到参考项目
  • improvement(decrypt): 优化解密结果页面
    - 主按钮改为查看聊天记录跳转到聊天页面
    
    - 更换为统一风格的聊天图标
  • feat(chat): 添加聊天记录查看功能
    - 新增聊天记录页面,支持联系人列表和消息展示
    
    - 支持文本、图片、语音、文件、链接等消息类型
    
    - 添加语音消息直接播放功能(SILK转WAV)
    
    - 添加隐私模式(模糊头像和消息内容)
    
    - 新增pilk依赖用于语音转换