+
+
+ {{ item.label }}
+ updateSetting(item.key, val)"
+ />
+
+
+
+
+
+
+
+
diff --git a/src/components/Setting/config/general.ts b/src/components/Setting/config/general.ts
index cc91d3a63..a1462320b 100644
--- a/src/components/Setting/config/general.ts
+++ b/src/components/Setting/config/general.ts
@@ -8,6 +8,7 @@ import {
openCustomCode,
openThemeConfig,
openExcludeComment,
+ openPlaylistPageManager,
} from "@/utils/modal";
import { sendRegisterProtocol } from "@/utils/protocol";
import { SettingConfig } from "@/types/settings";
@@ -248,6 +249,14 @@ export const useGeneralSettings = (): SettingConfig => {
buttonLabel: "配置",
action: openHomePageSectionManager,
},
+ {
+ key: "playlistPageElements",
+ label: "歌单界面配置",
+ type: "button",
+ description: "自定义歌单界面的标签、拥有者、时间、描述显示",
+ buttonLabel: "配置",
+ action: openPlaylistPageManager,
+ },
{
key: "showSongQuality",
label: "显示歌曲音质",
diff --git a/src/stores/setting.ts b/src/stores/setting.ts
index e8dee8e72..2247e7f79 100644
--- a/src/stores/setting.ts
+++ b/src/stores/setting.ts
@@ -288,6 +288,14 @@ export interface SettingState {
/** 隐藏心动模式 */
hideHeartbeatMode: boolean;
};
+ /** 歌单界面元素显示配置 */
+ // Controls the visibility of elements on the playlist detail page
+ playlistPageElements: {
+ tags: boolean;
+ creator: boolean;
+ time: boolean;
+ description: boolean;
+ };
/** 启用搜索关键词获取 */
enableSearchKeyword: boolean;
/** 失焦后自动清空搜索框 */
@@ -494,6 +502,12 @@ export const useSettingStore = defineStore("setting", {
hideLikedPlaylists: false,
hideHeartbeatMode: false,
},
+ playlistPageElements: {
+ tags: true,
+ creator: true,
+ time: true,
+ description: true,
+ },
enableSearchKeyword: true,
clearSearchOnBlur: false,
showHomeGreeting: true,
diff --git a/src/utils/modal.ts b/src/utils/modal.ts
index 8cd057d1f..fd46c1a76 100644
--- a/src/utils/modal.ts
+++ b/src/utils/modal.ts
@@ -68,6 +68,22 @@ export const openUserAgreement = async () => {
});
};
+/** 打开歌单界面配置弹窗 */
+export const openPlaylistPageManager = async () => {
+ const { default: PlaylistPageManager } =
+ await import("@/components/Modal/Setting/PlaylistPageManager.vue");
+ window.$modal.create({
+ preset: "card",
+ transformOrigin: "center",
+ autoFocus: false,
+ style: { width: "500px" },
+ title: "歌单界面配置",
+ content: () => {
+ return h(PlaylistPageManager);
+ },
+ });
+};
+
// 用户登录
export const openUserLogin = async (
showTip: boolean = false,
From edf5dc1a09effdac3ec36698aae746fbd0214af5 Mon Sep 17 00:00:00 2001
From: kazukokawagawa <2580099704@qq.com>
Date: Fri, 30 Jan 2026 17:12:04 +0800
Subject: [PATCH 03/19] =?UTF-8?q?=E2=9C=A8=20feat:=20=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=8E=92=E5=B8=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Setting/MainSetting.vue | 73 ++-
src/components/Setting/config/appearance.ts | 486 ++++++++++++++++++
src/components/Setting/config/general.ts | 457 +++++++---------
.../Setting/config/{third.ts => network.ts} | 184 ++++++-
src/components/Setting/config/other.ts | 291 -----------
src/components/Setting/config/play.ts | 301 ++---------
src/components/Setting/config/streaming.ts | 40 --
src/types/main.ts | 5 +-
src/views/Streaming/layout.vue | 2 +-
9 files changed, 896 insertions(+), 943 deletions(-)
create mode 100644 src/components/Setting/config/appearance.ts
rename src/components/Setting/config/{third.ts => network.ts} (70%)
delete mode 100644 src/components/Setting/config/other.ts
delete mode 100644 src/components/Setting/config/streaming.ts
diff --git a/src/components/Setting/MainSetting.vue b/src/components/Setting/MainSetting.vue
index 0475584b0..b6e87cde9 100644
--- a/src/components/Setting/MainSetting.vue
+++ b/src/components/Setting/MainSetting.vue
@@ -73,6 +73,12 @@
:groups="generalConfig.groups"
:highlight-key="highlightKey"
/>
+
+