From baec1856c984d5544907ad16b07c36a704bd99ea Mon Sep 17 00:00:00 2001 From: Zhoujiahui <539943419@qq.com> Date: Sun, 29 Sep 2024 12:18:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=AD=8C=E5=8D=95=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E6=8B=96=E5=8A=A8hover=E6=A0=B7=E5=BC=8F=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/miaoMusicPlayer/export.ts | 6 +- .../miaoMusicPlayer/hooks/aplayerMiao.ts | 2 + .../miaoMusicPlayer/miaoMusicPlayerDemo.vue | 9 +- .../miaoMusicPlayer/src/APlayer.fix.css | 4 +- .../miaoMusicPlayer/src/aplayerListNew.vue | 158 +++++++++++------- 5 files changed, 112 insertions(+), 67 deletions(-) diff --git a/src/plugins/miaoMusicPlayer/export.ts b/src/plugins/miaoMusicPlayer/export.ts index fef1e7b..22eac71 100644 --- a/src/plugins/miaoMusicPlayer/export.ts +++ b/src/plugins/miaoMusicPlayer/export.ts @@ -7,7 +7,7 @@ const pluginConfig: registerComponentOption = { key: 'miaoMusicPlayer', name: '音乐', icon: Disc, - getComponent: async () => + getComponent: async () => (await import('./miaoMusicPlayerDemo.vue')).default, filter: (vDirs, vFiles) => { if (vDirs.length !== 0) { @@ -17,13 +17,13 @@ const pluginConfig: registerComponentOption = { return false } for (let i of vFiles) { - for (let s of ['mp3', 'flac', 'ogg']) { + for (let s of ['mp3', 'flac', 'ogg', 'mp4']) { if (i.name.endsWith(s)) { return true } } } - return vFiles[0].name.endsWith('?') + return false }, disable: false, single: true, diff --git a/src/plugins/miaoMusicPlayer/hooks/aplayerMiao.ts b/src/plugins/miaoMusicPlayer/hooks/aplayerMiao.ts index 65f2379..f10c930 100644 --- a/src/plugins/miaoMusicPlayer/hooks/aplayerMiao.ts +++ b/src/plugins/miaoMusicPlayer/hooks/aplayerMiao.ts @@ -38,6 +38,8 @@ const useAplayerMiao = (ap: Reactive, options?: aplayerMiaoOption) => { const app = createApp(aplayerListNew, { ap, ...(options ?? {}) }); app.mount(new_list_dom); + console.log({ap}) + ap.on("destroy", () => { app.unmount(); }); diff --git a/src/plugins/miaoMusicPlayer/miaoMusicPlayerDemo.vue b/src/plugins/miaoMusicPlayer/miaoMusicPlayerDemo.vue index 90537a9..fd1760d 100644 --- a/src/plugins/miaoMusicPlayer/miaoMusicPlayerDemo.vue +++ b/src/plugins/miaoMusicPlayer/miaoMusicPlayerDemo.vue @@ -17,7 +17,7 @@ import miaoDropHandler from '@/components/miaoDropHandler.vue' import miaoAlertTipProvider from '@/components/miaoAlertTipProvider.vue' import useAplayerMiao from './hooks/aplayerMiao'; import { VirtualFile } from '@/class/VirtualDirectory'; -import { onMounted, onUnmounted, reactive, ref, watch } from 'vue'; +import { App, onMounted, onUnmounted, reactive, ref, watch } from 'vue'; import { NScrollbar } from 'naive-ui'; import "./src/APlayer.fix.css" // @ts-ignore @@ -61,7 +61,7 @@ const aplayer = ref(null); const disableDropReceiver = ref(false) let ap: apType -let vueApp: any +let vueApp: App onMounted(() => { @@ -71,7 +71,8 @@ onMounted(() => { audio: getMusicList(currentFiles.value), autoplay: true, volume: 1, - theme: "#60e8a2" + theme: "#60e8a2", + listMaxHeight: '500px' } ap = reactive(new APlayer(aplayerOption)) vueApp = useAplayerMiao(ap, { @@ -87,10 +88,10 @@ onMounted(() => { const _name = ap.list.audios[index].name currentFiles.value = currentFiles.value.filter(v => v.name !== _name) }) - vueApp }); onUnmounted(() => { + vueApp.unmount() ap.destroy() }) diff --git a/src/plugins/miaoMusicPlayer/src/APlayer.fix.css b/src/plugins/miaoMusicPlayer/src/APlayer.fix.css index f3a40f2..de7a46e 100644 --- a/src/plugins/miaoMusicPlayer/src/APlayer.fix.css +++ b/src/plugins/miaoMusicPlayer/src/APlayer.fix.css @@ -604,9 +604,9 @@ border-top: none } -.aplayer .aplayer-list ol li:hover { +/* .aplayer .aplayer-list ol li:hover { background: #efefef -} +} */ .aplayer .aplayer-list ol li.aplayer-list-light { background: #e9e9e9 diff --git a/src/plugins/miaoMusicPlayer/src/aplayerListNew.vue b/src/plugins/miaoMusicPlayer/src/aplayerListNew.vue index 59ea530..8cbbe9c 100644 --- a/src/plugins/miaoMusicPlayer/src/aplayerListNew.vue +++ b/src/plugins/miaoMusicPlayer/src/aplayerListNew.vue @@ -1,55 +1,94 @@