From 8ffe472605c391ca3f469108829cc85b801064b3 Mon Sep 17 00:00:00 2001 From: alger Date: Mon, 13 Jan 2025 22:13:46 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=E6=B7=BB=E5=8A=A0=E6=AD=8C?= =?UTF-8?q?=E6=89=8B=E8=AF=A6=E6=83=85=E6=8A=BD=E5=B1=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 7 +- src/main/index.ts | 2 +- src/renderer/api/artist.ts | 21 ++ src/renderer/components.d.ts | 2 + src/renderer/components/MusicList.vue | 5 +- .../components/common/ArtistDrawer.vue | 316 ++++++++++++++++++ src/renderer/components/common/MPop.vue | 40 --- src/renderer/components/common/SearchItem.vue | 80 ++++- src/renderer/components/common/SongItem.vue | 35 +- src/renderer/layout/AppLayout.vue | 24 +- src/renderer/layout/components/MusicFull.vue | 18 +- src/renderer/layout/components/PlayBar.vue | 17 +- src/renderer/layout/components/TitleBar.vue | 2 +- src/renderer/store/index.ts | 20 +- src/renderer/type/artist.ts | 110 ++++++ src/renderer/views/search/index.vue | 8 +- 16 files changed, 624 insertions(+), 83 deletions(-) create mode 100644 src/renderer/api/artist.ts create mode 100644 src/renderer/components/common/ArtistDrawer.vue delete mode 100644 src/renderer/components/common/MPop.vue create mode 100644 src/renderer/type/artist.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 3571744..22ac53f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,4 +5,9 @@ ### ✨ 新功能 - 添加下载管理 进度显示 播放下载的音乐 - 添加缓存管理 清理缓存 -- 优化下载格式问题 支持下载其他格式 ps:其实之前只是后缀名问题 \ No newline at end of file +- 优化下载格式问题 支持下载其他格式 ps:其实之前只是后缀名问题 + +## 咖啡☕️ +| 微信 | | 支付宝 | +| :--------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------: | +| WeChat QRcode| | Wechat QRcode | \ No newline at end of file diff --git a/src/main/index.ts b/src/main/index.ts index 815024f..33e5b36 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -60,7 +60,7 @@ app.whenReady().then(() => { initialize(); // macOS 激活应用时的处理 - app.on('activate', function () { + app.on('activate', () => { if (mainWindow === null) initialize(); }); }); diff --git a/src/renderer/api/artist.ts b/src/renderer/api/artist.ts new file mode 100644 index 0000000..3b9db85 --- /dev/null +++ b/src/renderer/api/artist.ts @@ -0,0 +1,21 @@ +import request from '@/utils/request'; + +// 获取歌手详情 +export const getArtistDetail = (id) => { + return request.get('/artist/detail', { params: { id } }); +}; + +// 获取歌手热门歌曲 +export const getArtistTopSongs = (params) => { + return request.get('/artist/songs', { + params: { + ...params, + order: 'hot' + } + }); +}; + +// 获取歌手专辑 +export const getArtistAlbums = (params) => { + return request.get('/artist/album', { params }); +}; diff --git a/src/renderer/components.d.ts b/src/renderer/components.d.ts index e0b2b1b..da30727 100644 --- a/src/renderer/components.d.ts +++ b/src/renderer/components.d.ts @@ -15,6 +15,7 @@ declare module 'vue' { NCheckbox: typeof import('naive-ui')['NCheckbox'] NCheckboxGroup: typeof import('naive-ui')['NCheckboxGroup'] NConfigProvider: typeof import('naive-ui')['NConfigProvider'] + NDataTable: typeof import('naive-ui')['NDataTable'] NDialogProvider: typeof import('naive-ui')['NDialogProvider'] NDrawer: typeof import('naive-ui')['NDrawer'] NDrawerContent: typeof import('naive-ui')['NDrawerContent'] @@ -29,6 +30,7 @@ declare module 'vue' { NLayout: typeof import('naive-ui')['NLayout'] NMessageProvider: typeof import('naive-ui')['NMessageProvider'] NModal: typeof import('naive-ui')['NModal'] + NPagination: typeof import('naive-ui')['NPagination'] NPopover: typeof import('naive-ui')['NPopover'] NProgress: typeof import('naive-ui')['NProgress'] NScrollbar: typeof import('naive-ui')['NScrollbar'] diff --git a/src/renderer/components/MusicList.vue b/src/renderer/components/MusicList.vue index 631bc50..cfe978c 100644 --- a/src/renderer/components/MusicList.vue +++ b/src/renderer/components/MusicList.vue @@ -7,6 +7,7 @@ mask-closable :style="{ backgroundColor: 'transparent' }" :to="`#layout-main`" + :z-index="9998" @mask-click="close" >
@@ -17,7 +18,7 @@
- +
@@ -234,7 +235,7 @@ watch( } &-close { - @apply cursor-pointer text-gray-900 dark:text-white flex gap-2 items-center; + @apply cursor-pointer text-gray-500 dark:text-white hover:text-gray-900 dark:hover:text-gray-300 flex gap-2 items-center transition; .icon { @apply text-3xl; } diff --git a/src/renderer/components/common/ArtistDrawer.vue b/src/renderer/components/common/ArtistDrawer.vue new file mode 100644 index 0000000..fff1cc9 --- /dev/null +++ b/src/renderer/components/common/ArtistDrawer.vue @@ -0,0 +1,316 @@ + + + + + diff --git a/src/renderer/components/common/MPop.vue b/src/renderer/components/common/MPop.vue deleted file mode 100644 index 35c361a..0000000 --- a/src/renderer/components/common/MPop.vue +++ /dev/null @@ -1,40 +0,0 @@ - - - - - diff --git a/src/renderer/components/common/SearchItem.vue b/src/renderer/components/common/SearchItem.vue index eb9c5f1..4a8442d 100644 --- a/src/renderer/components/common/SearchItem.vue +++ b/src/renderer/components/common/SearchItem.vue @@ -1,8 +1,9 @@