From 3e6f981379ac68dfe71b7b669c857e1557d87626 Mon Sep 17 00:00:00 2001 From: alger Date: Sun, 15 Mar 2026 14:14:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ui):=20=E7=BB=9F=E4=B8=80=20SongItem?= =?UTF-8?q?=20=E5=9C=86=E8=A7=92=E3=80=81=E6=8A=BD=E8=B1=A1=20HistoryItem?= =?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9E=20EmptyState=E3=80=81=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=B8=BB=E9=A2=98=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SongItem 5 变体容器/图片圆角统一为 rounded-xl(12px): BaseSongItem(rounded-3xl→xl) / Standard(img rounded-2xl→xl) / Compact(rounded-lg→xl) / List(rounded-lg→xl) / Mini(rounded-2xl→xl) - 抽象 HistoryItem.vue:AlbumItem 和 PlaylistItem 提取共享 UI 组件, 消除 ~80 行重复样式代码,同时迁移至内联 Tailwind class - 新增 EmptyState.vue:统一空状态组件(icon + text,暗色模式完整适配) - 动画时长:SearchItem 图片 hover duration-700→duration-500 - MobilePlayBar:进度条颜色 Spotify #1ed760→项目主色 #22c55e --- src/renderer/components/common/AlbumItem.vue | 114 ++++-------------- src/renderer/components/common/EmptyState.vue | 21 ++++ .../components/common/HistoryItem.vue | 48 ++++++++ .../components/common/PlaylistItem.vue | 113 ++++------------- src/renderer/components/common/SearchItem.vue | 2 +- .../common/songItemCom/BaseSongItem.vue | 2 +- .../common/songItemCom/CompactSongItem.vue | 2 +- .../common/songItemCom/ListSongItem.vue | 4 +- .../common/songItemCom/MiniSongItem.vue | 2 +- .../common/songItemCom/StandardSongItem.vue | 2 +- .../components/player/MobilePlayBar.vue | 4 +- 11 files changed, 126 insertions(+), 188 deletions(-) create mode 100644 src/renderer/components/common/EmptyState.vue create mode 100644 src/renderer/components/common/HistoryItem.vue diff --git a/src/renderer/components/common/AlbumItem.vue b/src/renderer/components/common/AlbumItem.vue index 2dc0506..2384436 100644 --- a/src/renderer/components/common/AlbumItem.vue +++ b/src/renderer/components/common/AlbumItem.vue @@ -1,44 +1,34 @@ - - diff --git a/src/renderer/components/common/EmptyState.vue b/src/renderer/components/common/EmptyState.vue new file mode 100644 index 0000000..f421da3 --- /dev/null +++ b/src/renderer/components/common/EmptyState.vue @@ -0,0 +1,21 @@ + + + diff --git a/src/renderer/components/common/HistoryItem.vue b/src/renderer/components/common/HistoryItem.vue new file mode 100644 index 0000000..60be3fa --- /dev/null +++ b/src/renderer/components/common/HistoryItem.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/renderer/components/common/PlaylistItem.vue b/src/renderer/components/common/PlaylistItem.vue index 3676fa9..30e49b7 100644 --- a/src/renderer/components/common/PlaylistItem.vue +++ b/src/renderer/components/common/PlaylistItem.vue @@ -1,44 +1,34 @@ - - diff --git a/src/renderer/components/common/SearchItem.vue b/src/renderer/components/common/SearchItem.vue index a218144..547a3ed 100644 --- a/src/renderer/components/common/SearchItem.vue +++ b/src/renderer/components/common/SearchItem.vue @@ -10,7 +10,7 @@ :class="[item.type === 'mv' ? 'aspect-video' : 'aspect-square']" > {