Skip to content

v2.3.0 — 歌单详情、公告与播放统计

Choose a tag to compare

@znc15 znc15 released this 05 Nov 13:02

歌单与播放

  • 歌单、收藏和最近播放卡片支持打开详情并复制播放地址,封面保留独立播放按钮;地址显示实际到期时间,自动复制失败时选中地址供手动复制。
  • 部分歌单保留已成功获取的歌曲,展示实际纳入数量与上游总数;重新获取会重试部分结果,避免长期复用缺曲缓存。
  • 修复取消登录后迟到响应覆盖新账号、终曲结束后静音或音量失效,以及快速切歌时旧播放错误污染当前曲目的问题。

界面与公告

  • 登录弹窗增加完整进出和内容切换动画,支持减少动态效果与焦点恢复。
  • 统一平台、登录方式和分类切换条,小屏单行横向滚动;改善手机导航、长账号名称和输入错误反馈。
  • 新增顶栏公告入口,新公告首次自动展示、已读后可手动查看,播放期间打开公告继续播放。
  • 使用系统字体,移除分段网络字体依赖;损坏的播放链接提供字段级错误提示。

统计与可观测性

  • 新增持久累计有效播放请求,覆盖账号与游客,分别记录站内播放、HLS 和直链跳转;近期记录清理后累计保持。
  • 估算播放时长按事件当时的已知时长累计,未知时长单独计数;账号指标改为“已登录账号”。
  • 新增独立的近 30 天全站歌曲排行,个人常听排行按相同时间窗口独立查询。
  • 缺失指标显示未知,刷新失败显示旧结果和重试;真实零值保持为零。
  • 补充媒体授权、上游、格式、限流、流读取和取消等失败分类;完整传输校验后才累计媒体播放请求。

升级与保留项

  • 部署前备份 D1 并取得 Time Travel 书签,再执行 npm --prefix cloudflare run db:migrate -- --remote,应用 0005-persistent-playback-stats;继续沿用原 ENCRYPTION_KEY。
  • 原账号、收藏、歌单和历史统计保留。新播放累计、估算时长及精确排行从此次迁移的 startedAt 起算;解析与生成链接计数沿用原值。
  • Apple Music 全曲直链保留已选的 VRChat/AVPro 评估方案;本轮暂缓实测,等待隔离 Linux/Docker 环境、有效订阅测试账号与目标客户端。
  • 本版只更新 master;传统 Node.js 的 node 分支继续冻结于 2.1.1。

验证

  • 183 项自动测试与独立 D1 迁移集成测试通过;类型检查、React、Worker、Pages 与文档构建通过。
  • 已检查亮/暗主题及 320/375/768/1440px 布局,验证详情复制、登录取消、终曲音量、公告与登录优先等关键交互。