🐞 fix: 修复播放历史不展示上下一首的问题

This commit is contained in:
alger
2024-01-02 11:08:02 +08:00
parent adb539fbde
commit ad5d5458f1
3 changed files with 6 additions and 6 deletions
+1 -2
View File
@@ -1,5 +1,5 @@
<template> <template>
<n-drawer :show="show" height="70vh" placement="bottom" :drawer-style="{ backgroundColor: 'transparent' }"> <n-drawer v-model:show="show" height="70vh" placement="bottom" :drawer-style="{ backgroundColor: 'transparent' }">
<div class="music-page"> <div class="music-page">
<i class="iconfont icon-icon_error music-close" @click="close"></i> <i class="iconfont icon-icon_error music-close" @click="close"></i>
<div class="music-title">{{ name }}</div> <div class="music-title">{{ name }}</div>
@@ -19,7 +19,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { useStore } from 'vuex' import { useStore } from 'vuex'
import { Playlist } from '@/type/listDetail';
import { setAnimationClass, setAnimationDelay } from "@/utils"; import { setAnimationClass, setAnimationDelay } from "@/utils";
import SongItem from "@/components/common/SongItem.vue"; import SongItem from "@/components/common/SongItem.vue";
import PlayBottom from './common/PlayBottom.vue'; import PlayBottom from './common/PlayBottom.vue';
-4
View File
@@ -46,7 +46,6 @@
import { useStore } from 'vuex' import { useStore } from 'vuex'
import type { SongResult } from '@/type/music' import type { SongResult } from '@/type/music'
import { getImgUrl } from '@/utils' import { getImgUrl } from '@/utils'
import { useMusicHistory } from '@/hooks/MusicHistoryHook'
const props = withDefaults(defineProps<{ const props = withDefaults(defineProps<{
item: SongResult item: SongResult
@@ -68,15 +67,12 @@ const isPlaying = computed(() => {
const emits = defineEmits(['play']) const emits = defineEmits(['play'])
const musicHistory = useMusicHistory()
// 播放音乐 设置音乐详情 打开音乐底栏 // 播放音乐 设置音乐详情 打开音乐底栏
const playMusicEvent = (item: any) => { const playMusicEvent = (item: any) => {
store.commit('setPlay', item) store.commit('setPlay', item)
store.commit('setIsPlay', true) store.commit('setIsPlay', true)
store.state.playListIndex = 0 store.state.playListIndex = 0
emits('play', item) emits('play', item)
musicHistory.addMusic(item)
} }
</script> </script>
+5
View File
@@ -3,6 +3,7 @@ import { SongResult } from '@/type/music'
import { getMusicUrl, getParsingMusicUrl } from '@/api/music' import { getMusicUrl, getParsingMusicUrl } from '@/api/music'
import homeRouter from '@/router/home' import homeRouter from '@/router/home'
import { getMusicProxyUrl } from '@/utils' import { getMusicProxyUrl } from '@/utils'
import { useMusicHistory } from '@/hooks/MusicHistoryHook'
interface State { interface State {
menus: any[] menus: any[]
@@ -30,6 +31,8 @@ const state: State = {
const windowData = window as any const windowData = window as any
const musicHistory = useMusicHistory()
const mutations = { const mutations = {
setMenus(state: State, menus: any[]) { setMenus(state: State, menus: any[]) {
state.menus = menus state.menus = menus
@@ -38,6 +41,7 @@ const mutations = {
state.playMusic = playMusic state.playMusic = playMusic
state.playMusicUrl = await getSongUrl(playMusic.id) state.playMusicUrl = await getSongUrl(playMusic.id)
state.play = true state.play = true
musicHistory.addMusic(playMusic)
}, },
setIsPlay(state: State, isPlay: boolean) { setIsPlay(state: State, isPlay: boolean) {
state.isPlay = isPlay state.isPlay = isPlay
@@ -94,6 +98,7 @@ const updatePlayMusic = async (state: State) => {
state.playMusic = state.playList[state.playListIndex] state.playMusic = state.playList[state.playListIndex]
state.playMusicUrl = await getSongUrl(state.playMusic.id) state.playMusicUrl = await getSongUrl(state.playMusic.id)
state.play = true state.play = true
musicHistory.addMusic(state.playMusic)
} }
const store = createStore({ const store = createStore({