Commit Graph

29 Commits

  • 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
  • improvement(wrapped-ui): 年度总结新增隐私模式开关(昵称/头像/消息/词云可模糊)
    - Wrapped 页面右上角新增隐私模式开关,并在 deck 根节点挂载 wrapped-privacy
    
    - Tailwind 新增 wrapped-privacy-* 细粒度模糊样式:仅模糊昵称/消息/关键词/头像,hover 可临时显示
    
    - Wrapped 各卡片/可视化统一接入新 class,逐步替换原 privacy-blur 用法(词云/聊天回放/气泡等)
  • improvement(wrapped-ui): Bento 总览支持微信表情资源渲染并优化占位逻辑
    - topEmoji.kind=wechat 时使用 assetPath 渲染图片,加载失败自动回退到文本/Unicode 展示
    - 计数展示统一切到 topEmojiCount(兼容旧 topUnicodeEmojiCount 回退)
    - Wrapped 首页占位壳对 Bento summary 卡片放行,交由卡片内部处理 loading/error 状态
  • feat(wrapped): 新增便当总览卡片(Card #7)
    - 增加 Card07BentoSummary 前端渲染与加载/失败重试交互(注入 wrappedRetryCard)
    
    - 后端新增 card_07_bento_summary:基于已实现卡片聚合生成 snapshot,保证渲染稳定
    
    - Wrapped manifest/implemented_upto 升级到 7,并支持按卡片 id 单独构建
    
    - 新增 manifest 末尾卡片校验测试
  • improvement(wrapped-ui): 重构常用语词云卡交互与视觉表现
    - Card06 文案改为年度常用语,展示候选句数、独特短句数与 topKeyword。
    
    - 移除隐私开关、跳过按钮和粒子爆炸层,简化动效流程与交互路径。
    
    - 词云布局改为百分比坐标 + 自适应缩放,点击词后的例句面板改为 Teleport 固定定位。
    
    - 优化空态文案与再看一遍入口,提升移动端可读性与操作一致性。
  • feat(wrapped): 新增年度关键词词云卡片(Card #6)
    - 新增关键词词云后端计算:消息采样、jieba 分词、关键词权重与例句回看数据。
    
    - Wrapped 年度卡片接入 Card #6,并对该卡片改为按请求重算(不走单卡缓存)。
    
    - 前端新增 storm->cloud 词云动效卡片,支持词点击查看例句及动画阶段隐藏 deck 顶部 UI。
    
    - 统一 wrapped 消息表名解码逻辑,兼容 sqlite text_factory=bytes。
    
    - 新增关键词词云测试并加入 jieba 依赖。
  • improvement(wrapped): 优化月度好友墙木板布局与拖拽交互
    - 重构月度好友墙卡片容器与木板视觉层
    
    - 优化卡片尺寸、旋转分布、阴影与入场动画
    
    - 支持拍立得拖拽、悬停放大与层级提升
  • feat(wrapped): 增加月度好友墙卡片
    - 新增月度好友墙卡片(chat/monthly_best_friends_wall):按月评选聊天搭子并输出评分维度
    
    - 前端新增拍立得墙展示 12 个月获胜者与指标条,支持头像失败降级
    
    - Wrapped deck 插入新卡片;emoji 卡片 id 顺延为 5,并同步更新测试
    
    - Wrapped 页面默认展示上一年;切换年份时保持当前页并按需懒加载卡片
    
    - WrappedCardShell(slide)支持 wide 布局;更新 wrapped cache version
  • improvement(wrapped): 回复速度排行支持收发拆分
    - 后端按 sender_username 拆分 outgoing/incoming,并输出累计序列用于动画
    
    - 前端条形图改为分段堆叠(我发/对方),补充图例与容错降级逻辑
    
    - 文案更新为 我发 + 对方
  • improvement(wrapped): 全局概览改为年度日历热力图
    - card_00_global_overview 输出 annualHeatmap(dailyCounts + highlights)
    
    - 新增 AnnualCalendarHeatmap:横向滚动网格 + 气泡 tooltip + 高光日文案
    
    - GlobalOverviewChart 从 Radar 重构为 Heatmap;Card00 slide 下微调间距
    
    - MessageCharsChart 复用 msg-bubble 样式,统一气泡外观
  • improvement(wrapped): 清理主题系统,Wrapped 固定 Modern
    - 移除 useWrappedTheme 与主题切换入口(仅保留 Modern 视觉)
    
    - 封面/卡片/年份选择器/热力图等组件去掉 Win98/Gameboy/DOS 分支与样式
    
    - 删除 themedHeatColor、CRT/像素字体相关样式,降低维护成本
  • improvement(wrapped): 年度总结仅保留 Modern 主题
    - 移除复古主题切换入口(控制面板/左上角按钮)与 Win98/CRT 相关 UI
    
    - 简化 useWrappedTheme:仅保留 off(Modern),历史主题值自动回退
    
    - Modern 下也展示 LuckyBlock 占位图,并同步更新 README 说明
  • feat(wrapped): 新增梗图年鉴(Emoji Universe)卡片
    - 后端新增 card_04_emoji_universe:统计表情包/emoji 使用与画像
    
    - 前端新增 Card04EmojiUniverse + VueBits Stack/ImageTrail 交互展示
    
    - 更新 Wrapped manifest/Hero 预览与用例覆盖
  • improvement(wrapped-ui): 下线 DOS 主题并优化 Wrapped 多主题体验
    - 移除 DOS 主题入口、切换器组件与相关样式逻辑,统一主题为 Modern / GameBoy / Win98。
    
    - 新增 WrappedGameboyDither 组件,并在背景与 CRT 叠加层中引入 GameBoy 噪点效果。
    
    - 优化 wrapped 页面视口高度与背景同步逻辑(含 ResizeObserver 与 100dvh 适配),提升桌面容器显示稳定性。
    
    - 调整封面标题与预览位移、回复速度卡片滚动行为等细节,提升主题下视觉与交互一致性。
  • improvement(wrapped-ui): 封面接入卡片预览并按主题展示
    - WrappedHero 新增卡片预览区,按 GameBoy/Modern 主题切换不同预览动效
    - 基于 cardManifests 动态映射标题与提问文案,并补充 fallback 逻辑
    - wrapped 首页透传 report cards,确保封面预览与报告内容一致
  • improvement(wrapped-ui): 引入 Bits 动效组件并新增 GSAP 依赖
    - 新增卡片交换、网格流动、文本拆分三类动效组件,统一沉淀到 wrapped 共享层
    - 前端新增 gsap 依赖并同步 lock 文件,确保动画能力可复现
    - 为年度总结封面动效与后续复用打基础
  • improvement(wrapped): 概览卡片补充年度新增好友统计
    - 后端 Card#0 增加 addedFriends 字段(基于系统消息关键字 best-effort 识别新好友)
    
    - 前端概览文案在 addedFriends>0 时展示新增好友数
    
    - bump wrapped cache version,避免旧缓存导致字段缺失
  • improvement(wrapped-ui): 优化 GameBoy/DOS 主题布局并增强键盘可视化
    - slide 模式在 GameBoy/DOS 下采用更紧凑的标题字号与间距\n- MessageChars 键盘增加 GameBoy 风格外观与功能键样式
  • feat(wrapped): 新增回复速度卡片 #3(秒回置顶关心)
    - 新增年度总结卡片 #3:回复速度/置顶关心统计与排行\n- 前端新增 Card03 渲染与交互(含抽奖揭晓/Top 列表)\n- 更新年度总结卡片清单并加入评分单测
  • improvement(wrapped-ui): 完善 Win98 主题的可视化适配并优化聊天回放信息区
    - ChatReplayAnimation:时间戳移到顶栏,简化气泡尾巴;补齐 Game Boy/DOS/Win98 顶栏文案颜色与边框风格
    - 热力图:新增 win98 配色分支,并为 heatmap/legend 单元加硬边框
    - Overview/MessageChars 等可视化补充 Win98 主题样式(键盘/进度条/雷达图等)
  • feat(wrapped-ui): 新增 Win98 主题与桌面化外观
    - 主题系统新增 win98(显示名 Windows 98,快捷键扩展到 F1-F4),并区分 retro(pixel/CRT) 与桌面 GUI 主题
    - 年度总结页新增 Win98 桌面背景与底部任务栏(背景色/视口高度适配)
    - 封面与卡片 slide 形态支持 Win98 窗口外观(title bar/icon/controls)
    - 主题切换器补充 Win98 选项并新增 Win98 专属切换器
    - 新增 Win98 图标资源(Start + 桌面图标)
  • improvement(wrapped-ui): 移除 VHS 主题并优化 DOS/CRT 视觉效果
    - 主题系统收敛为 Modern/Game Boy/DOS(快捷键改为 F1-F3)
    - 删除 VHS 切换器与相关样式(卡片/控件/年份选择/图表等)
    - DOS 主题统一使用像素字体,减弱发光强度并细化扫描线/闪烁参数
    - DOS 闪烁光标改由 WrappedCRTOverlay 渲染,避免全局样式副作用
    - 移除热力图 vhs 配色分支
  • improvement(wrapped-ui): 优化年度总结可视化表现并适配主题
    - 热力图支持按主题着色(Game Boy/DOS/VHS),并补充对应主题样式
    
    - 字数键盘引入 10 级磨损系统:磨损/标注按等级平滑变化,并中文化提示
    
    - 作息卡补充基于热力图的个性化叙事文案
  • feat(wrapped-ui): 引入多主题系统与切换器(Modern/Game Boy/DOS/VHS)
    - 新增 useWrappedTheme:主题状态全局共享、localStorage 持久化,支持 F1-F4 快捷键与循环切换
    
    - 新增主题切换器组件(Modern/Game Boy/DOS/VHS)与主题化年份选择器
    
    - 年度总结页接入 themeClass/currentBg;CRT 叠加层支持 VHS 效果(REC/时间戳/跟踪线)
    
    - 补充主题全局样式与卡片/控制面板主题适配
  • feat(wrapped-ui): 年度总结页支持懒加载与复古模式,新增概览/字数卡片
    - wrapped 页面改为:先拉 meta/年份列表,再按页请求单张卡片,首屏更快
    - 新增 Card#0 全局概览页(含图表)
    - 新增 Card#2 消息字数页(含键盘敲击统计与图表)
    - 新增复古模式:像素字体资源 + CRT Overlay,支持一键开关
    - 调整 shared 组件、types/useApi,更新前端依赖与 lock
  • feat(wrapped-ui): 新增年度总结页面与热力图卡片
    - 新增 /wrapped PPT 风格滑动浏览(封面 + 卡片页)
    
    - 新增 Card#1 组件与 24×7 周-小时热力图可视化
    
    - 首页新增年度总结入口;useApi 增加 getWrappedAnnual;补充 wrapped 背景纹理