Skip to content

feat: 新增网易云歌曲动态封面 - #266

Open
PhantomPixel-0418 wants to merge 2 commits into
SPlayer-Dev:devfrom
PhantomPixel-0418:feat/dynamic_cover
Open

PhantomPixel-0418 wants to merge 2 commits into
SPlayer-Dev:devfrom
PhantomPixel-0418:feat/dynamic_cover

Conversation

@PhantomPixel-0418

@PhantomPixel-0418 PhantomPixel-0418 commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

改动类型

  • 新功能(feat)
  • 缺陷修复(fix)
  • 重构 / 优化(不改变对外行为)
  • 文档(docs)
  • 其他(请在「改动说明」中注明)

是否包含破坏性变更

  • 是(请在「改动说明」中详细描述)
  • 否

改动说明

在 SPlayer-Next 中实现完整的动态封面功能。

变更内容:

  • 后端 API — 新增 song_dynamic_cover 模块,调用网易云动态封面接口;加入 NON_CACHEABLE 列表(封面为实时数据,不缓存)
  • 前端调用层 — getDynamicCover(id) 返回 videoPlayUrl,失败时返回 null
  • 设置项 — 播放设置 → 音频源 区域新增「动态封面」开关,未登录时置灰
  • 播放器 UI — 全屏播放器封面组件支持视频叠加:网易云来源、封面模式、已登录、开关开启时请求动态封面;视频加载后 0.8s 淡入,播放结束
    2s 后自动重播
  • 国际化 — 中/英文文案同步添加

与 SPlayer 行为完全对齐,仅适配了 SPlayer-Next 的设置结构(coverLayout 替代 playerType)。

测试情况

已打开含有动态歌词的歌曲测试完成。

截图 / 录屏

2026-09-13.092859.mp4

自查清单

  • 本 PR 只包含一个主要功能 / 修复,没有夹带无关改动
  • 已在本地完整测试通过;AI 生成的代码同样自行测试并审阅过,未做未经验证的提交
  • 已运行 pnpm format,并确认 pnpm typecheck、pnpm lint 通过
  • 改动涉及原生模块时已 pnpm build:native 验证;未手写 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