From 40710d9ec0286c4c96e2e874f2012da52df2c7e3 Mon Sep 17 00:00:00 2001 From: ikmkj <1@qq,com> Date: Sat, 26 Jul 2025 12:17:40 +0800 Subject: [PATCH] =?UTF-8?q?refactor(components):=20=E9=87=8D=E6=9E=84=20Mu?= =?UTF-8?q?sicList=20=E7=BB=84=E4=BB=B6=E4=BB=A5=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=9B=B4=E5=A4=9A=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 MusicList 组件中添加 detailInMore 属性,用于控制是否显示更多操作 - 在 PlaylistDetail 和 SingerDetail 页面中使用 MusicList 组件替换原有的表格展示 - 优化了歌曲列表的展示和操作逻辑,提高了代码复用性和可维护性 --- music-qianduan/src/components/MusicList.vue | 9 +++ music-qianduan/src/views/PlaylistDetail.vue | 78 ++------------------- music-qianduan/src/views/SingerDetail.vue | 73 ++----------------- 3 files changed, 23 insertions(+), 137 deletions(-) diff --git a/music-qianduan/src/components/MusicList.vue b/music-qianduan/src/components/MusicList.vue index 718a09e..3534b3e 100644 --- a/music-qianduan/src/components/MusicList.vue +++ b/music-qianduan/src/components/MusicList.vue @@ -83,6 +83,7 @@ 下一首播放 下载音乐 下载歌词 + 音乐详情 分享 @@ -155,6 +157,10 @@ const props = defineProps({ pageSize: { type: Number, default: 10 + }, + detailInMore: { + type: Boolean, + default: false } }) @@ -265,6 +271,9 @@ const handleCommand = (command, music) => { case 'downloadLyric': downloadFile('lyric', music) break + case 'goToMusicDetail': + goToMusicDetail(music.id) + break } } diff --git a/music-qianduan/src/views/PlaylistDetail.vue b/music-qianduan/src/views/PlaylistDetail.vue index 6f3eeae..311ab90 100644 --- a/music-qianduan/src/views/PlaylistDetail.vue +++ b/music-qianduan/src/views/PlaylistDetail.vue @@ -9,6 +9,7 @@ import { getMusicStatus } from '../api/music' import { getCommentList, addComment, deleteComment as apiDeleteComment } from '../api/comment' import { connect, subscribe, unsubscribe, disconnect } from '../utils/websocket' // 导入 WebSocket 工具 import { processImageUrl } from '../utils/imageUtils' +import MusicList from '../components/MusicList.vue' const route = useRoute() const router = useRouter() @@ -485,77 +486,12 @@ onUnmounted(() => { - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/music-qianduan/src/views/SingerDetail.vue b/music-qianduan/src/views/SingerDetail.vue index adc4d36..8216828 100644 --- a/music-qianduan/src/views/SingerDetail.vue +++ b/music-qianduan/src/views/SingerDetail.vue @@ -9,6 +9,7 @@ import { getCommentList, addComment, deleteComment as apiDeleteComment } from '. import { processImageUrl } from '../utils/imageUtils' import { processMusicUrl, getMusicBySinger, getMusicStatus } from '../api/music' import { connect, subscribe, unsubscribe, disconnect } from '../utils/websocket' // 导入 WebSocket 工具 +import MusicList from '../components/MusicList.vue' const route = useRoute() const router = useRouter() @@ -501,72 +502,12 @@ onUnmounted(() => { - - - - - - - - - - - - - - - - - - - - - - - - - - +