diff --git a/components.d.ts b/components.d.ts index c777cfd..78bddce 100644 --- a/components.d.ts +++ b/components.d.ts @@ -25,6 +25,7 @@ declare module 'vue' { NSlider: typeof import('naive-ui')['NSlider'] NSwitch: typeof import('naive-ui')['NSwitch'] NTooltip: typeof import('naive-ui')['NTooltip'] + NVirtualList: typeof import('naive-ui')['NVirtualList'] PlayBottom: typeof import('./src/components/common/PlayBottom.vue')['default'] PlayListsItem: typeof import('./src/components/common/PlayListsItem.vue')['default'] PlaylistType: typeof import('./src/components/PlaylistType.vue')['default'] diff --git a/src/App.vue b/src/App.vue index 06a029d..caaa1c6 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,9 +3,7 @@ - - - + diff --git a/src/components/MusicList.vue b/src/components/MusicList.vue index 35d9cc3..8a83910 100644 --- a/src/components/MusicList.vue +++ b/src/components/MusicList.vue @@ -3,7 +3,7 @@ :show="show" :height="isMobile ? '100vh' : '70vh'" placement="bottom" - :drawer-style="{ backgroundColor: 'transparent' }" + :style="{ backgroundColor: 'transparent' }" >
diff --git a/src/components/common/SearchItem.vue b/src/components/common/SearchItem.vue index 4559808..16a3353 100644 --- a/src/components/common/SearchItem.vue +++ b/src/components/common/SearchItem.vue @@ -50,7 +50,6 @@ const handleClick = async () => { if (props.item.type === '专辑') { showPop.value = true; const res = await getAlbum(props.item.id); - console.log('res.data', res.data); songList.value = res.data.songs.map((song: any) => { song.al.picUrl = song.al.picUrl || props.item.picUrl; return song; diff --git a/src/components/common/SongItem.vue b/src/components/common/SongItem.vue index c77ad77..3d9ca33 100644 --- a/src/components/common/SongItem.vue +++ b/src/components/common/SongItem.vue @@ -7,8 +7,8 @@
- {{ artists.name }}{{ artistsindex < item.song.artists.length - 1 ? ' / ' : '' }}{{ artists.name }}{{ artistsindex < item.artists.length - 1 ? ' / ' : '' }}
@@ -32,12 +32,12 @@ diff --git a/src/store/index.ts b/src/store/index.ts index 65f0934..5282e71 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -3,17 +3,17 @@ import { createStore } from 'vuex'; import { getMusicUrl, getParsingMusicUrl } from '@/api/music'; import { useMusicHistory } from '@/hooks/MusicHistoryHook'; import homeRouter from '@/router/home'; -import { SongResult } from '@/type/music'; +import type { Song } from '@/type/music'; import { getMusicProxyUrl } from '@/utils'; interface State { menus: any[]; play: boolean; isPlay: boolean; - playMusic: SongResult; + playMusic: Song; playMusicUrl: string; user: any; - playList: SongResult[]; + playList: Song[]; playListIndex: number; setData: any; lyric: any; @@ -24,7 +24,7 @@ const state: State = { menus: homeRouter, play: false, isPlay: false, - playMusic: {} as SongResult, + playMusic: {} as Song, playMusicUrl: '', user: localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user') as string) : null, playList: [], @@ -42,7 +42,7 @@ const mutations = { setMenus(state: State, menus: any[]) { state.menus = menus; }, - async setPlay(state: State, playMusic: SongResult) { + async setPlay(state: State, playMusic: Song) { state.playMusic = { ...playMusic, playLoading: true }; state.playMusicUrl = await getSongUrl(playMusic.id); state.play = true; @@ -55,7 +55,7 @@ const mutations = { setPlayMusic(state: State, play: boolean) { state.play = play; }, - setPlayList(state: State, playList: SongResult[]) { + setPlayList(state: State, playList: Song[]) { state.playListIndex = playList.findIndex((item) => item.id === state.playMusic.id); state.playList = playList; }, diff --git a/src/type/music.ts b/src/type/music.ts index cb88a4b..bfa3e25 100644 --- a/src/type/music.ts +++ b/src/type/music.ts @@ -1,7 +1,7 @@ export interface IRecommendMusic { code: number; category: number; - result: SongResult[]; + result: Song[]; } export interface SongResult { @@ -18,7 +18,7 @@ export interface SongResult { playLoading?: boolean; } -interface Song { +export interface Song { name: string; id: number; position: number; @@ -64,6 +64,9 @@ interface Song { lMusic: BMusic; exclusive: boolean; privilege: Privilege; + count?: number; + playLoading?: boolean; + picUrl?: string; } interface Privilege { diff --git a/src/views/search/index.vue b/src/views/search/index.vue index c2e30dd..e66e2c7 100644 --- a/src/views/search/index.vue +++ b/src/views/search/index.vue @@ -133,7 +133,6 @@ const loadSearch = async (keywords: any) => { // songs map 替换属性 songs.forEach((item: any) => { item.picUrl = item.al.picUrl; - item.song = item; item.artists = item.ar; }); albums.forEach((item: any) => { diff --git a/src/views/set/index.vue b/src/views/set/index.vue index 40d7abc..88f1423 100644 --- a/src/views/set/index.vue +++ b/src/views/set/index.vue @@ -49,7 +49,9 @@ const windowData = window as any; const handleSave = () => { store.commit('setSetData', setData.value); - windowData.electronAPI.restart(); + if (windowData.electronAPI) { + windowData.electronAPI.restart(); + } };