Skip to content

feat: 新增完整的评论功能模块,包括独立页面、全屏内嵌面板和「主创说」特性#101

Open
WindDrift wants to merge 6 commits into
SPlayer-Dev:devfrom
WindDrift:feat-comment
Open

feat: 新增完整的评论功能模块,包括独立页面、全屏内嵌面板和「主创说」特性#101
WindDrift wants to merge 6 commits into
SPlayer-Dev:devfrom
WindDrift:feat-comment

Conversation

@WindDrift

Copy link
Copy Markdown

改动类型

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

是否包含破坏性变更

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

改动说明

升级歌曲评论体验:新增独立评论路由页、全屏播放器内嵌评论面板和「主创说」功能,重构评论组件系统。

主要变更

  1. 新增「主创说」功能:识别歌曲关联歌手在网易云音乐评论区发表的评论,顶部独立分区展示,带主创徽章。主进程新增 creator.ts 服务(LRU 缓存 + 账号解析 + 评论筛选 + 翻页策略),IPC 通道 comments:creator

  2. 新增独立评论页 (/comments/:source/:id):瀑布流多列自适应布局,冻结快照模式不跟随播放切换,滚动折叠头部,热门/最新/源切换/分页完整可用。

  3. 全屏播放器内嵌评论:双模式布局——半屏(左 50% 评论 + 右侧歌词)与全屏(无歌词 + 自动居中封面时铺满),fullCommentModecoverLayout / hasLyric / autoCenterCover 决策;与播放队列互斥。

  4. 重构评论组件系统:抽取 useMusicComments composable(token + epoch + creatorEpoch 三重竞态保护、主创去重)、CommentCard.vueCommentList.vue(CSS Grid 瀑布流)。

  5. 旧弹窗降级MusicCommentsDialog.vue 添加 @deprecated 标记,保留挂载兼容旧入口,不再扩展新功能。

破坏性变更

模块 变更 影响
评论入口 主界面「评论」从弹窗改为路由跳转 /comments/:source/:id 依赖 status.showComments() 的功能失效

关联 Issue

截图 / 录屏

image image image

自查清单

  • 本 PR 只包含一个主要功能 / 修复,没有夹带无关改动
  • 已在本地完整测试通过;AI 生成的代码同样自行测试并审阅过,未做未经验证的提交
  • 已运行 pnpm format,并确认 pnpm typecheckpnpm lint 通过
  • 改动涉及原生模块时已 pnpm build:native 验证;未手写 native/*/index.d.ts
  • 已向 dev 分支提交

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