Commit Graph
47 Commits
Author SHA1 Message Date
2977094657 bb2f4b2686 fix(chat-ui): 修复账号未选中时的会话加载与实时刷新异常
- 在账号列表已加载但当前账号为空时强制刷新,避免聊天页进入无账号状态
- 为实时增量刷新补充异常兜底和日志,避免单次失败阻断后续更新
- 保留消息归一化中的原始 type/localId 字段,减少前端后续处理丢失信息
2026-03-22 15:34:05 +08:00
2977094657 4313c5e34c fix(chat-export): 修复批量导出默认范围与会话选择异常
- 修复未选中会话时导出弹窗落入无效默认范围的问题

- 支持按全部、群聊、单聊快速切换批量导出范围,并默认选中当前筛选结果

- 优化会话列表整行点击、高亮反馈和选择去重逻辑
2026-03-21 14:21:01 +08:00
2977094657 9244d12335 fix(chat): avoid voice ref render recursion 2026-03-16 16:31:28 +08:00
2977094657 7c5a18a3b5 fix(chat): persist packaged renderer diagnostics 2026-03-16 15:53:11 +08:00
2977094657 64c3e5e826 fix(chat): add packaged freeze diagnostics 2026-03-16 15:39:11 +08:00
2977094657 458a19a55d fix(chat-ui): 修复右键菜单越界和上下文模式状态丢失
- 为聊天右键菜单增加视口内重定位,避免菜单显示到屏幕外
- 在异步加载编辑状态后重新计算位置,并限制菜单高度支持滚动
- 补回 searchContext 状态传递,恢复上下文模式下的筛选禁用和提示横幅
2026-03-16 12:34:58 +08:00
2977094657 16a7e410a1 fix(chat-build): 避免预渲染阶段请求本地接口
- 移除聊天页 setup 阶段的服务端会话预取\n- 改为客户端挂载后再加载账号和会话数据\n- 修复 nuxt generate 在发布机构建时访问本地聊天接口导致的失败
2026-03-16 11:07:52 +08:00
2977094657 965cbd1aa5 refactor(chat-ui): 拆分聊天页组件并抽离组合式逻辑
- 将聊天页从超大单文件拆分为会话列表、会话面板、消息列表、消息项和覆盖层组件\n- 抽离会话、消息、搜索、导出、编辑、历史窗口等组合式逻辑\n- 下沉消息格式化、消息归一化、聊天记录解析与文件图标等工具模块\n- 新增 chat.css 并在 Nuxt 中注册,统一聊天页样式
2026-03-15 23:38:31 +08:00
2977094657 b8d0912907 fix(dev-runtime): 统一开发端口并优化页面初始化
- 新增 dev 启动脚本,自动分配前后端端口并等待 Nuxt 就绪后再启动 Electron
- 开发模式忽略持久化 API 覆盖,统一 Nuxt 与桌面端端口配置
- API 健康检查改为挂载后执行,聊天页预取改为 lazy,并隐藏搜索区账号切换
2026-03-15 19:35:36 +08:00
Alfred Tang a79ff81be0 fix: resolve chat messages not loading due to Nuxt auto-import bug and WCDB timeout
- Move frontend/utils/ to frontend/lib/ to avoid Nuxt unimport scanner
  incorrectly extracting function parameter names (value, fallback) as
  module-level exports, which injected phantom imports that broke all
  client-side JavaScript execution
- Update all import paths across 13 files from ~/utils/ to ~/lib/
- Add timeout (5s) and negative cache (60s TTL) to WCDB realtime
  ensure_connected() to prevent open_account() from hanging indefinitely
  when the WeChat database is locked
- Reorder selectContact() to fire loadMessages() before navigateTo() so
  the message fetch starts before route navigation triggers Suspense
- Add watch: false to SSR useAsyncData calls to prevent unnecessary
  re-fetching on client-side route changes
2026-03-14 17:17:10 +08:00
2977094657 a4acd32bb3 fix(logging): 完善服务端错误日志记录并支持设置页打开日志
- 为后端增加 5xx 请求与未处理异常日志记录
- 新增前端服务端错误上报工具与管理接口
- 在聊天导出、朋友圈信息加载、通用 API 请求中补充错误上报
- 设置页新增日志文件路径展示与一键打开能力
- 增加服务端错误日志相关测试
2026-03-12 19:01:47 +08:00
2977094657 1b86f5006a feat(account-data): 新增账号信息查询与项目数据删除能力
新增 /api/chat/account_info 与 DELETE /api/chat/account

删除账号时清理编辑记录、账号密钥缓存与导出/数据库目录

桌面端新增 app:getAccountInfo、app:deleteAccountData IPC 能力

前端 API 层新增 getChatAccountInfo、deleteChatAccount
2026-03-10 19:17:43 +08:00
2977094657 b5200713b3 refactor(frontend-api): 统一 useApiBase 并移除 localhost:8000 硬编码 2026-02-28 18:43:48 +08:00
2977094657 8a101b4c5e feat(settings): 设置弹窗支持后端端口切换(桌面/网页) 2026-02-28 18:43:48 +08:00
H3CoF6 5f404d694c fix: fix merge conflict 2026-02-28 00:22:37 +08:00
H3CoF6 a4c8d580eb fix: return aes_key to frontend 2026-02-28 00:11:07 +08:00
2977094657 949990d125 feat(chat-edit-ui): 新增聊天编辑入口与修改记录页面
- 聊天右键菜单新增修改消息、字段编辑、恢复原消息、修复发送者、反转微信气泡位置

- 新增 /edits 页面,支持会话维度浏览修改记录与原/现对比

- 新增 EditedMessagePreview 组件复用聊天气泡样式

- 侧边栏新增修改记录入口

- useApi 增加 chat edits 相关接口,nuxt 配置支持可配置 API base

- 增加会话级反转消息位置前端显示开关(本地存储)
2026-02-22 11:56:28 +08:00
2977094657 e4ba306dbf improvement(wrapped): 清理主题系统,Wrapped 固定 Modern
- 移除 useWrappedTheme 与主题切换入口(仅保留 Modern 视觉)

- 封面/卡片/年份选择器/热力图等组件去掉 Win98/Gameboy/DOS 分支与样式

- 删除 themedHeatColor、CRT/像素字体相关样式,降低维护成本
2026-02-18 23:04:04 +08:00
2977094657 b70e7f35a7 improvement(wrapped): 年度总结仅保留 Modern 主题
- 移除复古主题切换入口(控制面板/左上角按钮)与 Win98/CRT 相关 UI

- 简化 useWrappedTheme:仅保留 off(Modern),历史主题值自动回退

- Modern 下也展示 LuckyBlock 占位图,并同步更新 README 说明
2026-02-18 19:11:47 +08:00
2977094657 c3913021c9 feat(app-shell): 桌面端集成自动更新(electron-updater)
- 集成 electron-updater:检查更新/下载/安装/忽略此版本,并推送下载进度到前端

- 打包版启动后自动检查更新;托盘菜单支持手动检查

- preload 暴露 updater IPC + __brand 标记;前端新增更新弹窗与设置页版本/检查更新入口

- 补全发布配置:artifactName/publish;release workflow 增加上传 latest.yml
2026-02-18 16:53:50 +08:00
2977094657 ed5ce0993e feat(sns): 朋友圈页支持联系人侧栏、导出与 Live Photo
- 左侧新增朋友圈联系人列表(按发圈数),支持搜索与“全部/单人”筛选
- 新增“导出全部/导出此人”,展示导出状态并支持下载 ZIP(SSE 优先,轮询兜底)
- Live Photo/实况:悬停播放、静音切换与预览弹窗
- 媒体请求统一透传 use_cache;关闭缓存时追加时间戳避免浏览器缓存
2026-02-17 23:41:34 +08:00
2977094657 fcfea031e3 feat(chat): 聊天页支持日历定位/卡片解析/HTML导出分页
- 新增 /api/chat/messages/daily_counts 与 /api/chat/messages/anchor,用于月度热力图与按日/首条定位\n- messages/around 支持跨 message 分片定位,定位更稳定\n- 新增 /api/chat/chat_history/resolve 与 /api/chat/appmsg/resolve,合并转发/链接卡片可按 server_id 补全\n- 新增 /api/chat/media/favicon,并补齐 link 本地缩略图处理\n- HTML 导出支持分页加载(html_page_size),避免大聊天单文件卡顿\n- tests: 覆盖 heatmap/anchor、favicon 缓存、HTML 分页导出
2026-02-15 14:32:47 +08:00
2977094657 d3034b1fe0 feat(chat-export): 支持 HTML 导出(合并消息/远程缩略图可选下载)
- 导出格式新增 html:生成 index.html + 会话 messages.html,离线浏览

- 支持 chatHistory(合并消息)解析/渲染与弹窗查看

- 图片资源解析增强:MessageResourceInfo 优先 + md5/hdmd5 兜底

- HTML 导出可选下载远程缩略图(仅公网主机/图片类型/5MB 限制)

- 修复拍一拍误判、公众号封面样式识别;转账过期状态与前端展示
2026-02-13 22:39:48 +08:00
H3CoF6 177299887d Merge remote-tracking branch 'upstream/main' into feat/wx-key 2026-02-09 03:35:04 +08:00
H3CoF6 78b3a5b9fb fix: fix fetch error and db key is ok !!! 2026-02-09 01:16:47 +08:00
H3CoF6 13e870894e feat: add warning card for db key 2026-02-09 00:59:13 +08:00
2977094657 5901b8ae2a feat(contacts): 新增联系人列表与导出能力 2026-02-09 00:15:07 +08:00
H3CoF6 51e41f4300 feat: frontend support auto get key 2026-02-08 23:06:52 +08:00
2977094657 8abb5c07cc improvement(wrapped-ui): 下线 DOS 主题并优化 Wrapped 多主题体验
- 移除 DOS 主题入口、切换器组件与相关样式逻辑,统一主题为 Modern / GameBoy / Win98。

- 新增 WrappedGameboyDither 组件,并在背景与 CRT 叠加层中引入 GameBoy 噪点效果。

- 优化 wrapped 页面视口高度与背景同步逻辑(含 ResizeObserver 与 100dvh 适配),提升桌面容器显示稳定性。

- 调整封面标题与预览位移、回复速度卡片滚动行为等细节,提升主题下视觉与交互一致性。
2026-02-07 20:59:03 +08:00
2977094657 e43afd7c01 improvement(chat): 增强 realtime 增量同步并补充消息搜索索引接口
- 新增后台 autosync:监听 db_storage 变化后触发 realtime -> decrypted 增量同步(去抖/限频)\n- 优化 WCDB realtime 关闭:支持锁超时,避免 busy 时强行 shutdown\n- 新增消息搜索索引相关接口(status/build/senders)\n- 前端关闭 realtime 前改为 sync_all,减少切回解密库后的列表/消息落后\n- 增加解密库消息表/索引创建相关单测
2026-02-03 16:31:31 +08:00
2977094657 ee98def027 feat(wrapped-ui): 新增 Win98 主题与桌面化外观
- 主题系统新增 win98(显示名 Windows 98,快捷键扩展到 F1-F4),并区分 retro(pixel/CRT) 与桌面 GUI 主题
- 年度总结页新增 Win98 桌面背景与底部任务栏(背景色/视口高度适配)
- 封面与卡片 slide 形态支持 Win98 窗口外观(title bar/icon/controls)
- 主题切换器补充 Win98 选项并新增 Win98 专属切换器
- 新增 Win98 图标资源(Start + 桌面图标)
2026-02-02 00:07:09 +08:00
2977094657 aa9eb3c36e improvement(wrapped-ui): 移除 VHS 主题并优化 DOS/CRT 视觉效果
- 主题系统收敛为 Modern/Game Boy/DOS(快捷键改为 F1-F3)
- 删除 VHS 切换器与相关样式(卡片/控件/年份选择/图表等)
- DOS 主题统一使用像素字体,减弱发光强度并细化扫描线/闪烁参数
- DOS 闪烁光标改由 WrappedCRTOverlay 渲染,避免全局样式副作用
- 移除热力图 vhs 配色分支
2026-02-01 19:27:51 +08:00
2977094657 f6d6143f1b feat(wrapped-ui): 引入多主题系统与切换器(Modern/Game Boy/DOS/VHS)
- 新增 useWrappedTheme:主题状态全局共享、localStorage 持久化,支持 F1-F4 快捷键与循环切换

- 新增主题切换器组件(Modern/Game Boy/DOS/VHS)与主题化年份选择器

- 年度总结页接入 themeClass/currentBg;CRT 叠加层支持 VHS 效果(REC/时间戳/跟踪线)

- 补充主题全局样式与卡片/控制面板主题适配
2026-01-31 19:59:41 +08:00
2977094657 3d58b6f145 feat(wrapped-ui): 年度总结页支持懒加载与复古模式,新增概览/字数卡片
- wrapped 页面改为:先拉 meta/年份列表,再按页请求单张卡片,首屏更快
- 新增 Card#0 全局概览页(含图表)
- 新增 Card#2 消息字数页(含键盘敲击统计与图表)
- 新增复古模式:像素字体资源 + CRT Overlay,支持一键开关
- 调整 shared 组件、types/useApi,更新前端依赖与 lock
2026-01-31 14:54:43 +08:00
2977094657 ed1d765953 feat(wrapped-ui): 新增年度总结页面与热力图卡片
- 新增 /wrapped PPT 风格滑动浏览(封面 + 卡片页)

- 新增 Card#1 组件与 24×7 周-小时热力图可视化

- 首页新增年度总结入口;useApi 增加 getWrappedAnnual;补充 wrapped 背景纹理
2026-01-30 16:26:52 +08:00
2977094657 bee22d1782 feat(sns): 前端新增朋友圈页面并接入候选匹配
- 新增 /sns 页面:时间线列表、账号切换、隐私模式、复制动态 JSON

- 图片预览支持候选匹配切换并保存(localStorage + /api/sns/media_picks)

- 聊天页侧边栏增加头像/朋友圈入口,隐私模式开关持久化(chat/sns 共用)

- app.vue 增加 --dpr 与 sidebar rail CSS 变量,并在 resize 时刷新

- useApi 补充 sns 相关接口封装
2026-01-27 16:27:40 +08:00
2977094657 b422b3c55c feat(chat): 前端增加实时开关并自动刷新会话/消息
- 聊天页新增实时开关,自动探测 realtime 可用性

- 监听 /api/chat/realtime/stream,变更时触发增量同步并刷新会话/消息

- useApi 增加 realtime 接口,sessions/messages 支持 source 参数
2026-01-01 23:24:15 +08:00
2977094657 c1712ba6dd feat(keys): 自动保存密钥并支持前端回填
- 新增 output/account_keys.json 账号密钥存储(db_key / image_xor_key / image_aes_key)
- 新增 /api/keys 查询已保存密钥;缺失时兜底从账号目录 _media_keys.json 读取图片密钥

- 数据库解密成功后按账号写入 db_key;保存图片密钥时同步写入 store(失败静默不影响主流程)
- 前端解密页进入图片密钥步骤自动回填;进入下一步/跳过时自动保存一次
2026-01-01 16:29:16 +08:00
2977094657 0894092325 feat(chat): 前端增加消息类型筛选与按类型导出
- 聊天页新增消息类型筛选下拉框(render_types)

- 导出弹窗新增“消息类型(导出内容)”多选与快捷项,并明确离线媒体不影响消息条数

- createChatExport 透传 message_types;图片本地 URL 可同时携带 md5+file_id

- 增加 message-filter-select 样式
2025-12-29 13:42:44 +08:00
2977094657 ab91e5bb6e feat(chat): 前端聊天页支持消息搜索与筛选
- 新增搜索侧边栏:会话内/全局搜索、时间范围、发送者与类型筛选

- 支持搜索结果高亮与上下文定位

- 对接后端索引构建状态与错误提示
2025-12-25 20:28:12 +08:00
2977094657 0a3aad6ba3 feat(chat): 聊天页增加导出弹窗与进度展示
- 导出弹窗支持范围/格式/时间范围/媒体开关/文件名等参数
- 批量会话列表展示头像,提供 全部/群聊/单聊 tab 与搜索
- 导出进度使用 SSE 实时更新(失败回退轮询),提供进度条展示
- 支持任务取消与 ZIP 下载
- 隐私模式下导出同步隐私策略,且 hover 不再保持模糊
2025-12-23 20:26:21 +08:00
2977094657 36f5067730 improvement(media): 聊天媒体支持 file_id 兜底定位
- 图片/视频消息无 MD5 时,解析并下发 file_id,用于本地资源兜底定位与展示
- 后端 chat_media/open_folder 支持 md5/file_id;视频优先可 Range 的文件响应,并在需要时解密落盘
- 前端聊天页与 API 调用适配 file_id;补充媒体 URL 可用性判断
- 解密页补充“获取密钥”提示,支持手动输入/保存密钥;README 同步说明;更新音频图标资源
2025-12-23 16:41:23 +08:00
2977094657 6a35ac33f5 improvement(chat): 表情消息支持一键下载并优化渲染
useApi 增加 downloadChatEmoji,对接后端表情下载接口

聊天页识别远程表情地址并提供下载入口;下载成功后切换为本地表情 URL

修正文本混排表情的渲染结构并微调选中态颜色
2025-12-18 21:19:29 +08:00
2977094657 8341c3159e feat(media): 添加图片资源解密与SSE进度
- 后端新增图片解密密钥获取/保存接口(/api/media/keys)

- 新增批量解密接口与输出结构:resource/{md5前2位}/{md5}.{ext}

- 新增资源直读接口(/api/media/resource/{md5}),自动识别媒体类型返回

- 新增SSE实时进度接口(/api/media/decrypt_all_stream),前端可实时展示进度

- 前端解密页增加图片解密步骤与进度条/统计/失败说明,并对接相关API

- README 补充图片资源解密使用说明
2025-12-17 16:56:54 +08:00
2977094657 482bd56faf feat(chat): 添加聊天记录查看功能
- 新增聊天记录页面,支持联系人列表和消息展示

- 支持文本、图片、语音、文件、链接等消息类型

- 添加语音消息直接播放功能(SILK转WAV)

- 添加隐私模式(模糊头像和消息内容)

- 新增pilk依赖用于语音转换
2025-12-14 21:12:54 +08:00
2977094657 a86e8f762f feat(detection): 添加当前登录账号检测功能 2025-08-19 17:10:32 +08:00
2977094657 540a0fd823 feat(frontend): 添加前端页面 2025-07-25 20:21:26 +08:00