Commit Graph

21 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): 概览卡片补充年度新增好友统计
    - 后端 Card#0 增加 addedFriends 字段(基于系统消息关键字 best-effort 识别新好友)
    
    - 前端概览文案在 addedFriends>0 时展示新增好友数
    
    - bump wrapped cache version,避免旧缓存导致字段缺失
  • feat(wrapped): 新增回复速度卡片 #3(秒回置顶关心)
    - 新增年度总结卡片 #3:回复速度/置顶关心统计与排行\n- 前端新增 Card03 渲染与交互(含抽奖揭晓/Top 列表)\n- 更新年度总结卡片清单并加入评分单测
  • improvement(wrapped-ui): 优化年度总结可视化表现并适配主题
    - 热力图支持按主题着色(Game Boy/DOS/VHS),并补充对应主题样式
    
    - 字数键盘引入 10 级磨损系统:磨损/标注按等级平滑变化,并中文化提示
    
    - 作息卡补充基于热力图的个性化叙事文案
  • 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 背景纹理