Skip to content

优化随机播放重新混洗交互#2791

Open
sunny1028 wants to merge 1 commit into
lyswhut:devfrom
sunny1028:issue-2787
Open

优化随机播放重新混洗交互#2791
sunny1028 wants to merge 1 commit into
lyswhut:devfrom
sunny1028:issue-2787

Conversation

@sunny1028
Copy link
Copy Markdown

概要

  • 优化随机播放交互:点击随机播放按钮时触发重新混洗
  • 从其他模式切换到 random 时,会立即重置当前随机链路
  • 当前已经处于 random 模式时,再次点击 random,不会切换模式,但会重新随机当前列表
  • 修复播放模式弹层点击后关闭与状态更新同帧触发导致的运行时报错

具体改动

  • 新增播放模式选择逻辑模块 src/renderer/core/player/playMode.mjs
  • 新增随机播放链路重置入口
  • 调整播放模式按钮点击逻辑,使 random 按钮支持重复点击后重新混洗
  • 调整播放模式弹层关闭与状态更新时序,避免 Vue 运行时节点插入异常
  • 新增测试脚本 build-config/tests/play-mode-random.test.mjs

功能说明

  • 点击 random 按钮时始终触发随机播放链路重置
  • 若当前模式不是 random,则切换到 random 并重置随机顺序
  • 若当前模式已经是 random,则保持模式不变,仅重新随机当前列表
  • 自动播放下一首、普通手动上一首/下一首逻辑不额外触发重新混洗
  • 临时队列 tempPlayList 的优先播放逻辑保持不变

验证方式

  • node build-config/tests/play-mode-random.test.mjs
  • node build-config/tests/player-queue.test.mjs
  • npm run lint
  • npm run build:renderer

截图展示

2

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