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 @@
+
+
+
+
+
播放列表
+
+ -
+ {{ index + 1 }}. {{ song }}
+
+
+
+
+
+
+
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 @@
-