136 Commits
Author SHA1 Message Date
2977094657 0eda7c60e7 fix(chat-style): 修复深色主题下聊天浮层与卡片配色 2026-03-22 19:52:19 +08:00
2977094657 bcd8f67c25 fix(decrypt): 修复数据库原始密钥解密与设备绑定提示 2026-03-22 19:52:04 +08:00
2977094657 bb2f4b2686 fix(chat-ui): 修复账号未选中时的会话加载与实时刷新异常
- 在账号列表已加载但当前账号为空时强制刷新,避免聊天页进入无账号状态
- 为实时增量刷新补充异常兜底和日志,避免单次失败阻断后续更新
- 保留消息归一化中的原始 type/localId 字段,减少前端后续处理丢失信息
2026-03-22 15:34:05 +08:00
2977094657 94ec5c9a1c feat(ui): 新增浅深色主题切换并统一界面配色
- 新增主题 store 与本地持久化能力,支持侧边栏切换浅色/深色模式
- 将聊天页、会话列表、标题栏、弹窗等配色改为 CSS 变量统一管理
- 适配定位卡片、引用气泡、系统提示等聊天消息组件在不同主题下的可读性
- 同步整理首页、解密页、联系人页、朋友圈页等页面背景与交互样式
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 ebce129315 fix(chat): avoid link card render loop 2026-03-16 16:08:26 +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 2447989c12 fix(chat-style): 恢复链接卡片与特殊消息的全局样式
- 移除全局 chat.css 中误用的 :deep(...) 选择器,恢复样式命中
- 修复链接卡片、小程序卡片、公众号封面卡片和特殊消息尾巴样式
2026-03-16 12:34:39 +08:00
2977094657 16a7e410a1 fix(chat-build): 避免预渲染阶段请求本地接口
- 移除聊天页 setup 阶段的服务端会话预取\n- 改为客户端挂载后再加载账号和会话数据\n- 修复 nuxt generate 在发布机构建时访问本地聊天接口导致的失败
2026-03-16 11:07:52 +08:00
2977094657 4cc87be031 fix(release): 恢复前端 package-lock 以修复发布流程 2026-03-16 10:59:06 +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 971fe4de2a Remove lock file 2026-03-14 21:30:01 +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 b001596fcb feat(sidebar): 新增账号弹窗并将引导/设置入口下移到底部
头像点击展示当前账号信息弹窗

增加仅删除本项目数据提示与删除后返回引导页

接口异常(如 404)时自动走桌面 IPC 兜底

将引导页和设置图标移动到底部
2026-03-10 19:18:09 +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 bca4044832 style(settings): 设置面板改为卡片分组并增加分割线
将设置区块改为卡片分组样式

各设置项统一使用分割线提升可读性
2026-03-10 19:17:03 +08:00
2977094657 e349e0cfe3 修复桌面端视频查看 2026-03-09 20:31:53 +08:00
2977094657 d205973d13 docs(readme): 补充功能演示与修改消息说明
- 新增修改消息、实时消息同步和设置面板演示图
- 补充修改消息功能说明与本地恢复机制介绍
- 统一 README 中相关功能入口和展示内容
2026-03-06 21:20:14 +08:00
2977094657 16a13af18a feat(chat): 支持位置消息与小程序卡片解析展示
- 新增位置消息解析,补充经纬度、地点名和地址字段
- 修复小程序分享 type 识别,避免嵌套 type 干扰
- 聊天页新增位置卡片展示,并补充小程序卡片样式
- 导出、搜索和会话预览同步支持位置消息
- 补充位置导出与小程序解析测试
2026-03-06 21:19:15 +08:00
2977094657 6b58cebce5 fix(desktop-output): 移除安装目录 output 链接,避免更新/卸载误删用户数据
- 安装/卸载阶段清理旧版 output junction/symlink
- 打包版写入 output-location.txt/open-output.cmd 指向真实 output 目录
- 设置页展示 output 路径并支持一键打开
2026-03-02 19:03:24 +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
H3CoF6 2990e22001 feat: get image key during login 2026-02-27 23:17:26 +08:00
2977094657 dc7154cc93 docs: 更新 README 年度总结与功能预览图
- 更新 README 顶部简介文案,突出年度总结、实时更新、导出等能力

- 调整年度总结/界面预览排版并补充多张截图/动图

- 新增/更新预览图资源(AnnualSummary*.png/gif、sns.png、Contact.png 及 message/search/export/style1 等)
2026-02-27 16:44:04 +08:00
2977094657 43104ef2c4 improvement(wrapped-ui): 年度总结新增隐私模式开关(昵称/头像/消息/词云可模糊)
- Wrapped 页面右上角新增隐私模式开关,并在 deck 根节点挂载 wrapped-privacy

- Tailwind 新增 wrapped-privacy-* 细粒度模糊样式:仅模糊昵称/消息/关键词/头像,hover 可临时显示

- Wrapped 各卡片/可视化统一接入新 class,逐步替换原 privacy-blur 用法(词云/聊天回放/气泡等)
2026-02-27 16:43:28 +08:00
2977094657 6b24daf7bf improvement(wrapped-ui): Bento 总览支持微信表情资源渲染并优化占位逻辑
- topEmoji.kind=wechat 时使用 assetPath 渲染图片,加载失败自动回退到文本/Unicode 展示
- 计数展示统一切到 topEmojiCount(兼容旧 topUnicodeEmojiCount 回退)
- Wrapped 首页占位壳对 Bento summary 卡片放行,交由卡片内部处理 loading/error 状态
2026-02-26 20:02:03 +08:00
2977094657 3072297769 feat(wrapped): 新增便当总览卡片(Card #7)
- 增加 Card07BentoSummary 前端渲染与加载/失败重试交互(注入 wrappedRetryCard)

- 后端新增 card_07_bento_summary:基于已实现卡片聚合生成 snapshot,保证渲染稳定

- Wrapped manifest/implemented_upto 升级到 7,并支持按卡片 id 单独构建

- 新增 manifest 末尾卡片校验测试
2026-02-26 18:29:48 +08:00
2977094657 a61142834d improvement(desktop-update): sanitize release-note links and virtualize notes list 2026-02-22 22:42:46 +08:00
2977094657 a5b90e0cab improvement(wrapped-ui): 重构常用语词云卡交互与视觉表现
- Card06 文案改为年度常用语,展示候选句数、独特短句数与 topKeyword。

- 移除隐私开关、跳过按钮和粒子爆炸层,简化动效流程与交互路径。

- 词云布局改为百分比坐标 + 自适应缩放,点击词后的例句面板改为 Teleport 固定定位。

- 优化空态文案与再看一遍入口,提升移动端可读性与操作一致性。
2026-02-22 22:18:58 +08:00
2977094657 2dd103814a feat(wrapped): 新增年度关键词词云卡片(Card #6)
- 新增关键词词云后端计算:消息采样、jieba 分词、关键词权重与例句回看数据。

- Wrapped 年度卡片接入 Card #6,并对该卡片改为按请求重算(不走单卡缓存)。

- 前端新增 storm->cloud 词云动效卡片,支持词点击查看例句及动画阶段隐藏 deck 顶部 UI。

- 统一 wrapped 消息表名解码逻辑,兼容 sqlite text_factory=bytes。

- 新增关键词词云测试并加入 jieba 依赖。
2026-02-22 18:59:30 +08:00
2977094657 9acbfa7582 feat(sns): 支持外部分享卡片并增强媒体阶段识别
- 增强朋友圈 XML 解码与容错清洗,支持 bytes/hex/base64/zstd 场景。

- 补充外部分享(Type 5/42)字段提取与展示,新增 sourceName、链接卡片与导出渲染。

- 通过 Server-Timing + Timing-Allow-Origin 暴露 SNS 媒体阶段信息,前端改为从 ResourceTiming 读取,避免额外探测请求。

- 新增 XML 容错解析与 Server-Timing 注入测试。
2026-02-22 18:59:17 +08:00
2977094657 d9e9bcc16a improvement(wrapped): 优化月度好友墙木板布局与拖拽交互
- 重构月度好友墙卡片容器与木板视觉层

- 优化卡片尺寸、旋转分布、阴影与入场动画

- 支持拍立得拖拽、悬停放大与层级提升
2026-02-22 11:57:02 +08:00
2977094657 9254d46802 improvement(sns-media): 悬停展示朋友圈媒体来源阶段
- SNS 页面在封面/媒体悬停时显示来源阶段标识

- 后端媒体接口补充 X-SNS-Source 响应头标记命中来源

- CORS 暴露 X-SNS-Source / X-SNS-Hit-Type / X-SNS-X-Enc 供前端读取
2026-02-22 11:56:45 +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 abc8e3e828 improvement(sns): 优化视频号卡片样式(页面/导出)
- sns.vue:视频号 card 改为正方形封面(无图用文字占位),并移除 source/显示计数

- sns_export_service:HTML 导出同步相同布局与播放按钮样式
2026-02-19 20:01:29 +08:00
2977094657 ffa6491ed4 feat(wrapped): 增加月度好友墙卡片
- 新增月度好友墙卡片(chat/monthly_best_friends_wall):按月评选聊天搭子并输出评分维度

- 前端新增拍立得墙展示 12 个月获胜者与指标条,支持头像失败降级

- Wrapped deck 插入新卡片;emoji 卡片 id 顺延为 5,并同步更新测试

- Wrapped 页面默认展示上一年;切换年份时保持当前页并按需懒加载卡片

- WrappedCardShell(slide)支持 wide 布局;更新 wrapped cache version
2026-02-19 20:01:11 +08:00
2977094657 a79eb35a8e improvement(wrapped): 回复速度排行支持收发拆分
- 后端按 sender_username 拆分 outgoing/incoming,并输出累计序列用于动画

- 前端条形图改为分段堆叠(我发/对方),补充图例与容错降级逻辑

- 文案更新为 我发 + 对方
2026-02-19 20:00:48 +08:00
2977094657 e7122ecffd improvement(wrapped): 全局概览改为年度日历热力图
- card_00_global_overview 输出 annualHeatmap(dailyCounts + highlights)

- 新增 AnnualCalendarHeatmap:横向滚动网格 + 气泡 tooltip + 高光日文案

- GlobalOverviewChart 从 Radar 重构为 Heatmap;Card00 slide 下微调间距

- MessageCharsChart 复用 msg-bubble 样式,统一气泡外观
2026-02-19 20:00:21 +08:00
2977094657 a2010d52b8 docs: 更新 README 年度总结预览图(Modern)
- 调整年度总结展示文案与排版

- 更新 style1.png,移除旧的 style2.png/style3.png
2026-02-18 23:04:47 +08:00
2977094657 209190c802 chore(frontend): 清理 Wrapped 复古主题静态资源
- 删除 Fusion Pixel 字体及其 LICENSE/OFL 文件

- 删除 Win98 图标、windows-0、wechat-audio-dark 等未使用图片资源
2026-02-18 23:04:33 +08:00
2977094657 e4ba306dbf improvement(wrapped): 清理主题系统,Wrapped 固定 Modern
- 移除 useWrappedTheme 与主题切换入口(仅保留 Modern 视觉)

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

- 删除 themedHeatColor、CRT/像素字体相关样式,降低维护成本
2026-02-18 23:04:04 +08:00
2977094657 50415b37d0 ci: 用提交记录生成 release notes,并修复更新按钮主题色 2026-02-18 20:33:34 +08:00
2977094657 b70e7f35a7 improvement(wrapped): 年度总结仅保留 Modern 主题
- 移除复古主题切换入口(控制面板/左上角按钮)与 Win98/CRT 相关 UI

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

- Modern 下也展示 LuckyBlock 占位图,并同步更新 README 说明
2026-02-18 19:11:47 +08:00