From a22a9ffc855b3ede3e33db71b2a61a5eb241a956 Mon Sep 17 00:00:00 2001 From: QiuLiang-99 <1297829693@qq.com> Date: Thu, 1 May 2025 22:04:29 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8C=89=E9=92=AE=E5=8F=8A=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/App.vue | 73 +++++++++---------- .../components/common/PlayListButton.vue | 24 ++++++ .../components/common/PlayListWindow.vue | 62 ++++++++++++++++ .../components/layout/PlayBar/ControlBtns.vue | 1 + src/renderer/store/player/action.ts | 5 ++ src/renderer/store/player/state.ts | 2 + 6 files changed, 129 insertions(+), 38 deletions(-) create mode 100644 src/renderer/components/common/PlayListButton.vue create mode 100644 src/renderer/components/common/PlayListWindow.vue diff --git a/src/renderer/App.vue b/src/renderer/App.vue index c9151f4c..c5712ee7 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -3,9 +3,13 @@ + @@ -18,29 +22,22 @@ - - diff --git a/src/renderer/components/common/PlayListButton.vue b/src/renderer/components/common/PlayListButton.vue new file mode 100644 index 00000000..223b576e --- /dev/null +++ b/src/renderer/components/common/PlayListButton.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/renderer/components/common/PlayListWindow.vue b/src/renderer/components/common/PlayListWindow.vue new file mode 100644 index 00000000..da60e583 --- /dev/null +++ b/src/renderer/components/common/PlayListWindow.vue @@ -0,0 +1,62 @@ + + + diff --git a/src/renderer/components/layout/PlayBar/ControlBtns.vue b/src/renderer/components/layout/PlayBar/ControlBtns.vue index 4601342f..e15dbafe 100644 --- a/src/renderer/components/layout/PlayBar/ControlBtns.vue +++ b/src/renderer/components/layout/PlayBar/ControlBtns.vue @@ -17,6 +17,7 @@ + diff --git a/src/renderer/store/player/action.ts b/src/renderer/store/player/action.ts index 87977fc1..35ed3b94 100644 --- a/src/renderer/store/player/action.ts +++ b/src/renderer/store/player/action.ts @@ -12,6 +12,7 @@ import { playMusicInfo, playedList, tempPlayList, + isShowPlaylist, } from './state' import { getListMusicsFromCache } from '@renderer/store/list/action' import { downloadList } from '@renderer/store/download/state' @@ -61,6 +62,10 @@ export const setShowPlayerDetail = (val: boolean) => { isShowPlayerDetail.value = val } +export const setShowPlaylist = (val: boolean) => { + isShowPlaylist.value = val +} + export const setShowPlayComment = (val: boolean) => { isShowPlayComment.value = val } diff --git a/src/renderer/store/player/state.ts b/src/renderer/store/player/state.ts index 48aea238..f7267fe9 100644 --- a/src/renderer/store/player/state.ts +++ b/src/renderer/store/player/state.ts @@ -36,6 +36,8 @@ export const statusText = ref('') export const isShowPlayerDetail = ref(false) +export const isShowPlaylist = ref(false) + export const isShowPlayComment = ref(false) export const isShowLrcSelectContent = ref(false) From 44fe92df94c47f1a965b74b29482a5581158f6aa Mon Sep 17 00:00:00 2001 From: QiuLiang-99 <1297829693@qq.com> Date: Fri, 2 May 2025 01:48:07 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E4=BA=86=E6=8C=89=E9=92=AE=E5=92=8C=E6=92=AD=E6=94=BE=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=9A=84ui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/App.vue | 110 ++++++------------ .../components/common/PlayListButton.vue | 3 +- .../components/common/PlayListWindow.vue | 89 +++++++++++--- 3 files changed, 114 insertions(+), 88 deletions(-) diff --git a/src/renderer/App.vue b/src/renderer/App.vue index c5712ee7..6825334a 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -4,8 +4,12 @@ @@ -21,20 +25,37 @@ @@ -42,15 +63,10 @@ onMounted(() => { @import './assets/styles/index.less'; @import './assets/styles/layout.less'; -html { - height: 100vh; -} html, body { - box-sizing: border-box; -} -body { - user-select: none; height: 100%; + box-sizing: border-box; + user-select: none; } #root { height: 100%; @@ -61,44 +77,6 @@ body { background-size: var(--background-image-size); transition: background-color @transition-normal; background-color: var(--color-content-background); - box-sizing: border-box; -} - -.disableAnimation * { - transition: none !important; - animation: none !important; -} - -.transparent { - background: transparent; - padding: @shadow-app; - #body { - border-radius: @radius-border; - } - #root { - box-shadow: 0 0 @shadow-app rgba(0, 0, 0, 0.5); - border-radius: @radius-border; - } -} -.disableTransparent { - background-color: var(--color-content-background); - - #body { - border: 1Px solid var(--color-primary-light-500); - } - - #right { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } -} -.fullscreen { - background-color: var(--color-content-background); - - #right { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } } #container { @@ -117,49 +95,35 @@ body { flex: auto; display: flex; flex-direction: column; - transition: background-color @transition-normal; background-color: var(--color-main-background); border-top-left-radius: @radius-border; border-bottom-left-radius: @radius-border; - overflow: hidden; - box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1); } -#toolbar, -#player { - flex: none; -} - -/* 中间区域横向布局 */ .middle { flex: auto; display: flex; - overflow: hidden; + position: relative; min-height: 0; } -/* 主内容区域自动伸缩 */ #view { position: relative; flex: auto; min-height: 0; } -/* 播放列表窗口,默认宽度固定 */ .playlist-window { - width: 300px; - flex: none; + position: relative; + top: 0; + left: 0; + width: 100%; + height: 100%; border-left: 1px solid var(--color-border); background-color: var(--color-main-background); -} - -.view-container { - transition: opacity @transition-normal; -} -#root.show-modal > .view-container { - opacity: .9; -} -#view.show-modal > .view-container { - opacity: .2; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); + border-radius: @radius-border; + overflow: hidden; + z-index: 1000; } diff --git a/src/renderer/components/common/PlayListButton.vue b/src/renderer/components/common/PlayListButton.vue index 223b576e..8e5e47e8 100644 --- a/src/renderer/components/common/PlayListButton.vue +++ b/src/renderer/components/common/PlayListButton.vue @@ -4,9 +4,10 @@ From d300064c5627a4c3831d3eecd6787f6abe5d3b1f Mon Sep 17 00:00:00 2001 From: QiuLiang-99 <1297829693@qq.com> Date: Fri, 2 May 2025 02:12:14 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/App.vue | 46 +++++-------------- .../components/common/PlayListWindow.vue | 12 ----- 2 files changed, 12 insertions(+), 46 deletions(-) diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 6825334a..b6cf01c6 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -5,15 +5,10 @@
- +
- @@ -31,31 +26,15 @@ import PlayListWindow from '@renderer/components/common/PlayListWindow.vue' import { isShowPlaylist } from '@renderer/store/player/state' import { setShowPlaylist } from '@renderer/store/player/action' -const viewRef = ref(null) - -const playlistStyle = computed(() => { - const el = viewRef.value?.$el || viewRef.value - if (!el) return {} - const rect = el.getBoundingClientRect() - return { - position: 'absolute', - left: `${rect.left}px`, - top: `${rect.top}px`, - height: `${rect.height}px`, - width: `${rect.width}px`, - zIndex: 1000, - } -}) - const closePlaylist = () => { setShowPlaylist(false) } useApp() -onMounted(async () => { +onMounted(() => { document.getElementById('root').style.display = 'block' - await nextTick() + nextTick() }) @@ -63,11 +42,13 @@ onMounted(async () => { @import './assets/styles/index.less'; @import './assets/styles/layout.less'; + html, body { height: 100%; box-sizing: border-box; user-select: none; } + #root { height: 100%; position: relative; @@ -112,18 +93,15 @@ html, body { flex: auto; min-height: 0; } - -.playlist-window { - position: relative; +#playlist { + position: absolute; top: 0; - left: 0; - width: 100%; + right: 0; + width: 320px; height: 100%; - border-left: 1px solid var(--color-border); - background-color: var(--color-main-background); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); - border-radius: @radius-border; - overflow: hidden; z-index: 1000; + background-color: #fff; + box-shadow: 0 0 10px rgba(0,0,0,0.3); } + diff --git a/src/renderer/components/common/PlayListWindow.vue b/src/renderer/components/common/PlayListWindow.vue index 33213b2f..66e22593 100644 --- a/src/renderer/components/common/PlayListWindow.vue +++ b/src/renderer/components/common/PlayListWindow.vue @@ -32,18 +32,6 @@ const emitClose = () => { diff --git a/src/renderer/store/player/state.ts b/src/renderer/store/player/state.ts index be3fe447..88acdb89 100644 --- a/src/renderer/store/player/state.ts +++ b/src/renderer/store/player/state.ts @@ -69,7 +69,7 @@ export const playInfo = shallowReactive({ export const playedList = window.lxData.playedList = shallowReactive([]) -export const tempPlayList = shallowReactive([])//todo +export const tempPlayList = shallowReactive([]) export const currentPlayIndex = ref(0) From c640dc5ec5ee88542a5d0b7e82ec2904a901ae91 Mon Sep 17 00:00:00 2001 From: QiuLiang-99 <1297829693@qq.com> Date: Sun, 4 May 2025 01:17:58 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E8=B0=83=E6=95=B4css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/components/common/TogglePlayModeBtn.vue | 2 +- .../components/layout/PlayListWindow/index.vue | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/renderer/components/common/TogglePlayModeBtn.vue b/src/renderer/components/common/TogglePlayModeBtn.vue index ab5f2e50..d4570756 100644 --- a/src/renderer/components/common/TogglePlayModeBtn.vue +++ b/src/renderer/components/common/TogglePlayModeBtn.vue @@ -43,7 +43,7 @@