Skip to content

fix: 修复网易云云盘暂无歌词占位阻断歌词兜底 - #289

Open
q3cc wants to merge 1 commit into
SPlayer-Dev:devfrom
q3cc:fix-1
Open

q3cc wants to merge 1 commit into
SPlayer-Dev:devfrom
q3cc:fix-1

Conversation

@q3cc

@q3cc q3cc commented Sep 19, 2026 •

Copy link
Copy Markdown

改动类型

  • 新功能(feat)
  • 缺陷修复(fix)
  • 重构 / 优化(不改变对外行为)
  • 文档(docs)
  • 其他

是否包含破坏性变更

  • 是
  • 否

改动说明

修复播放网易云云盘歌曲时,接口返回的占位歌词阻止后续音源兜底的问题。

问题背景

部分未收录歌词的网易云云盘歌曲,接口仍会返回包含 [00:00.00]暂无歌词 的 LRC 字段。原逻辑仅检查文本非空,导致该占位符被判定为有效歌词并写入缓存,阻断了向酷狗、QQ 音乐等后续音源的回退匹配。

修复方案

  1. 精确过滤占位符:在获取与读取缓存时增加统一校验,仅当文本 trim 后完全匹配 [00:00.00]暂无歌词 时视为空值,返回 null。避免模糊匹配误伤正常歌词文本。
  2. 打通音源回退:YRC/LRC 均为空时让渡控制权,使流程正常穿透至后续歌词源,且不再缓存该占位文本。
  3. 兼容已有脏缓存:读取缓存若命中上述占位特征,自动判定失效并重新发起拉取,无需用户手动清理本地缓存。

关联 Issue

无

验证情况

  • 实机与用例测试:
    • 测试云盘歌曲《龙卷风》,确认接口返回占位文本后正确返回 null,并成功回退至酷狗(KRC)及 QQ 音乐(QRC)。
    • 在 Windows 端实测云盘歌曲《那天下雨了》,QQ 音乐 QRC 歌词正常显示。
    • 覆盖冷启动无缓存、写入拦截以及旧占位缓存主动穿透三类场景。
  • 静态检查与自动化测试:
    • 35 项相关自动化测试全部通过。
    • 主进程类型检查(Type Check)、ESLint 及 Prettier 检查全部通过。

自查清单

  • 本 PR 只包含一个主要修复,没有夹带无关改动
  • 已审阅 AI 辅助生成的代码,并完成上述验证
  • 已格式化全部改动文件,主进程类型检查及相关 ESLint 检查通过
  • 未改动原生模块或 native/*/index.d.ts
  • 已向 dev 分支提交

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant