Commit Graph

68 Commits

Author SHA1 Message Date
H3CoF6
7cc7ff8628 feat: calc sns video file path 2026-02-13 20:41:48 +08:00
H3CoF6
372deaf060 feat: parse some other media like article 2026-02-13 19:56:13 +08:00
H3CoF6
086d8468e1 feat: calc img path for sns! 2026-02-13 05:01:23 +08:00
2977094657
548f3cf2c8 improvement(chat): 完善会话置顶与消息卡片解析展示
- 后端:会话列表支持置顶识别(isTop)并按置顶优先排序

- 后端:修正群聊 XML 发送者提取,避免 refermsg 嵌套误识别

- 后端:完善转账状态后处理与视频缩略图 MD5 回填(packed_info_data)

- 后端:补充 quoteThumbUrl/linkType/linkStyle 字段链路

- 前端:新增置顶会话背景态、引用链接缩略图预览与 LinkCard cover 样式

- 测试:新增转账、置顶、引用解析与视频缩略图相关回归用例
2026-02-11 21:57:43 +08:00
2977094657
2ce479aefd refactor(chat-ui): 抽离侧边栏并统一账号/实时/隐私状态
新增 SidebarRail 组件并统一主导航入口

引入 chatAccounts/chatRealtime/privacy 三个 Pinia store 复用全局状态

聊天/联系人/朋友圈页面去重侧栏逻辑,app 根布局统一承载标题栏与内容区
2026-02-11 12:14:21 +08:00
2977094657
7447a904b3 feat(settings): 新增独立设置页并统一桌面偏好读取
新增 /settings 页面,集中管理桌面行为与启动偏好开关

抽离 desktop-settings 工具,统一本地布尔配置读写

首页默认跳转逻辑改为复用设置工具,减少重复实现
2026-02-11 12:14:08 +08:00
2977094657
2c832aa861 feat(chat-ui): 会话列表未读提示与引用图片预览优化
- 未读展示改为头像红点,并在 lastMessage 前缀展示未读条数

- 引用消息支持图片缩略图预览,失败自动降级为纯文本引用

- 规范化 quoteVoiceUrl/quoteImageUrl 生成,与后端 media 接口对齐
2026-02-09 18:31:22 +08:00
H3CoF6
c9f378cb70 Merge remote-tracking branch 'upstream/main' into feat/wx-key 2026-02-09 03:35:04 +08:00
H3CoF6
67c1b1af1f fix: fix fetch error and db key is ok !!! 2026-02-09 01:16:47 +08:00
H3CoF6
b766e051ed feat: add warning card for db key 2026-02-09 00:59:13 +08:00
2977094657
a20df89ee7 improvement(chat): 优化导出筛选与目录选择体验 2026-02-09 00:15:47 +08:00
2977094657
62f396e55b feat(contacts): 新增联系人列表与导出能力 2026-02-09 00:15:07 +08:00
2977094657
993593ca7f docs(readme): 年度总结样式改为 style1-3 2026-02-09 00:08:24 +08:00
H3CoF6
40546f994f feat: frontend support auto get key 2026-02-08 23:06:52 +08:00
H3CoF6
da5ad43593 chore: stop tracking pnpm-lock.yaml and ignore it 2026-02-07 23:31:40 +08:00
H3CoF6
af0e392175 doc: add native readme 2026-02-07 23:29:09 +08:00
2977094657
5bf8ce2bff chore(frontend): 补充 wrapped 视觉依赖与全局样式资源
- 新增 ogl 依赖并更新 lock 文件,为后续 wrapped 视觉效果扩展提供基础支持。

- 在 nuxt head 中引入 Font Awesome CDN 样式资源。
2026-02-07 20:59:31 +08:00
2977094657
e9c81caa12 improvement(wrapped-ui): 下线 DOS 主题并优化 Wrapped 多主题体验
- 移除 DOS 主题入口、切换器组件与相关样式逻辑,统一主题为 Modern / GameBoy / Win98。

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

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

- 调整封面标题与预览位移、回复速度卡片滚动行为等细节,提升主题下视觉与交互一致性。
2026-02-07 20:59:03 +08:00
2977094657
017ec6d089 improvement(wrapped-ui): 封面接入卡片预览并按主题展示
- WrappedHero 新增卡片预览区,按 GameBoy/Modern 主题切换不同预览动效
- 基于 cardManifests 动态映射标题与提问文案,并补充 fallback 逻辑
- wrapped 首页透传 report cards,确保封面预览与报告内容一致
2026-02-07 14:20:42 +08:00
2977094657
676ad84db9 improvement(wrapped-ui): 引入 Bits 动效组件并新增 GSAP 依赖
- 新增卡片交换、网格流动、文本拆分三类动效组件,统一沉淀到 wrapped 共享层
- 前端新增 gsap 依赖并同步 lock 文件,确保动画能力可复现
- 为年度总结封面动效与后续复用打基础
2026-02-07 14:20:30 +08:00
2977094657
711e95cf5f docs(readme): 增加年度总结风格预览与 QQ 群入口
- README 增加 style1-4 风格预览与提示说明

- README 增加 QQ 群 badge 与加群二维码入口

- 新增 README 引用的静态资源(style*.png / QQImage*.jpg)
2026-02-04 16:25:55 +08:00
2977094657
94e6e89f35 improvement(wrapped): 概览卡片补充年度新增好友统计
- 后端 Card#0 增加 addedFriends 字段(基于系统消息关键字 best-effort 识别新好友)

- 前端概览文案在 addedFriends>0 时展示新增好友数

- bump wrapped cache version,避免旧缓存导致字段缺失
2026-02-04 16:25:29 +08:00
2977094657
2f09aa3dcf improvement(ui): 增加年度总结快捷入口并更新首页图标
- 朋友圈页侧边栏新增年度总结入口并高亮当前路由

- 首页年度总结入口图标更新为统计面板样式
2026-02-03 16:32:58 +08:00
2977094657
bdd89c681a improvement(wrapped-ui): 优化 GameBoy/DOS 主题布局并增强键盘可视化
- slide 模式在 GameBoy/DOS 下采用更紧凑的标题字号与间距\n- MessageChars 键盘增加 GameBoy 风格外观与功能键样式
2026-02-03 16:32:12 +08:00
2977094657
3297f24f52 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
625526ff3b feat(wrapped): 新增回复速度卡片 #3(秒回置顶关心)
- 新增年度总结卡片 #3:回复速度/置顶关心统计与排行\n- 前端新增 Card03 渲染与交互(含抽奖揭晓/Top 列表)\n- 更新年度总结卡片清单并加入评分单测
2026-02-03 16:31:04 +08:00
2977094657
dbe4d54f10 improvement(wrapped-ui): 完善 Win98 主题的可视化适配并优化聊天回放信息区
- ChatReplayAnimation:时间戳移到顶栏,简化气泡尾巴;补齐 Game Boy/DOS/Win98 顶栏文案颜色与边框风格
- 热力图:新增 win98 配色分支,并为 heatmap/legend 单元加硬边框
- Overview/MessageChars 等可视化补充 Win98 主题样式(键盘/进度条/雷达图等)
2026-02-02 00:07:45 +08:00
2977094657
980f15d0a4 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
7ce6abecca 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
52ada9da64 feat(wrapped): 添加聊天回放动画组件 2026-02-01 16:19:21 +08:00
2977094657
18957be354 feat(wrapped): 添加最早最晚消息展示功能 2026-02-01 15:26:33 +08:00
2977094657
2bd595428f improvement(wrapped-ui): 优化年度总结可视化表现并适配主题
- 热力图支持按主题着色(Game Boy/DOS/VHS),并补充对应主题样式

- 字数键盘引入 10 级磨损系统:磨损/标注按等级平滑变化,并中文化提示

- 作息卡补充基于热力图的个性化叙事文案
2026-01-31 20:00:11 +08:00
2977094657
b6295071b8 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
645dc1cff1 feat(wrapped-ui): 年度总结页支持懒加载与复古模式,新增概览/字数卡片
- wrapped 页面改为:先拉 meta/年份列表,再按页请求单张卡片,首屏更快
- 新增 Card#0 全局概览页(含图表)
- 新增 Card#2 消息字数页(含键盘敲击统计与图表)
- 新增复古模式:像素字体资源 + CRT Overlay,支持一键开关
- 调整 shared 组件、types/useApi,更新前端依赖与 lock
2026-01-31 14:54:43 +08:00
2977094657
79da96b2d3 feat(wrapped-ui): 新增年度总结页面与热力图卡片
- 新增 /wrapped PPT 风格滑动浏览(封面 + 卡片页)

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

- 首页新增年度总结入口;useApi 增加 getWrappedAnnual;补充 wrapped 背景纹理
2026-01-30 16:26:52 +08:00
2977094657
950fb4c7b4 improvement(chat): 会话列表可拖拽调宽并优化 realtime 关闭同步
- 中间栏新增拖拽调宽/双击重置;宽度按物理 px 持久化(兼容旧 key,并按 dpr 换算)

- 关闭 realtime 前触发 syncChatRealtimeMessages(max_scan=5000),避免回退到过期解密快照

- 按 dpr 调整联系人/消息头像与 skeleton 尺寸
2026-01-28 18:19:58 +08:00
2977094657
55dc455921 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
ae2d7f128d improvement(chat): realtime 刷新去抖并绕过后台全量同步
- realtime 模式拉取消息时传 source=realtime,直接从 WCDB 读取

- SSE change 事件增加 500ms debounce,减少频繁刷新/请求抖动

- 停止 realtime 时清理 debounce timer
2026-01-24 18:47:29 +08:00
2977094657
c523036a10 fix(chat): 链接卡片补全公众号来源并解决缩略图防盗链
- appmsg 解析补全 from/fromUsername,并规范化 url/thumbUrl
- contact.db 兜底反查 fromUsername(仅有 sourcedisplayname 时)
- 新增 /api/chat/media/proxy_image,仅允许 qpic/qlogo,带 mp.weixin.qq.com Referer(10MB 限制)
- 前端 LinkCard 增加来源头像/host 兜底,qpic/qlogo 预览图走代理;头像加载失败回退
- 导出消息补充 from 字段
2026-01-24 10:51:35 +08:00
2977094657
d4828b1a0a feat(desktop): close-to-tray setting 2026-01-18 14:43:43 +08:00
2977094657
78ace41b0e feat(desktop): desktop settings 2026-01-18 14:01:09 +08:00
2977094657
6eb161c726 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)与产物路径说明
2026-01-17 18:23:52 +08:00
2977094657
03af287aea 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 解密识别
2026-01-02 22:10:23 +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
d37131bf96 feat(chat): 合并转发聊天记录支持预览与弹窗查看
- appmsg(type=19) 解析为 renderType=chatHistory,并透传 recordItem(recorditem 原文)
- 修复 recorditem CDATA 内包含 <refermsg> 时误判为引用消息的问题

- 列表/导出路径统一带上 recordItem,并避免已解析的 appmsg 被二次 XML 解析覆盖
- 前端聊天页新增聊天记录卡片 + 弹窗,支持按条展示及图片/视频/引用内容预览
- 会话列表与摘要统一显示为 [聊天记录]
2026-01-01 16:30:05 +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
87605c42ef fix(chat): 图片消息优先使用包含 file_id 的本地 URL
- 当服务端返回本地 /api/chat/media/image URL 时,优先使用前端拼的本地 URL(携带 file_id),提高兜底命中率
2025-12-30 11:15:44 +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
33be55bcca fix(chat): 修复发送侧表情下载按钮对齐
- 表情消息在发送方向使用反向布局,避免下载按钮位置错乱
- 下载按钮间距随发送/接收方向切换(mr-2/ml-2)
2025-12-26 21:45:16 +08:00
2977094657
5a8075ca8a docs(readme): 补充索引与密钥使用说明
- 增加 session_preview.db 会话列表加速说明与开关

- 更新媒体密钥获取建议(wx_key)与相关使用提示

- 补充搜索相关截图资源
2025-12-25 20:28:44 +08:00