From 0fbae257c243a9a661068e711d3b96b930111417 Mon Sep 17 00:00:00 2001 From: MoYingJi Date: Mon, 29 Dec 2025 01:07:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(player):=20=E6=B7=BB=E5=8A=A0=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Player/MainPlayer.vue | 19 ++++--- src/components/Player/PlayerControl.vue | 18 +++++-- src/components/Setting/PlaySetting.vue | 68 ++++++++++++++++++++----- src/stores/setting.ts | 7 +++ src/utils/format.ts | 26 ++++++++++ 5 files changed, 115 insertions(+), 23 deletions(-) diff --git a/src/components/Player/MainPlayer.vue b/src/components/Player/MainPlayer.vue index a891672a5..5665b8d08 100644 --- a/src/components/Player/MainPlayer.vue +++ b/src/components/Player/MainPlayer.vue @@ -160,10 +160,9 @@ class="time-container" vertical > -
- -{{ msToTime(statusStore.duration - statusStore.currentTime) }} - {{ msToTime(statusStore.currentTime) }} - {{ msToTime(statusStore.duration) }} +
+ {{ timeDisplay0 }} + {{ timeDisplay1 }}
import type { DropdownOption } from "naive-ui"; import { useMusicStore, useStatusStore, useDataStore, useSettingStore } from "@/stores"; -import { msToTime, convertSecondsToTime } from "@/utils/time"; +import { convertSecondsToTime } from "@/utils/time"; import { renderIcon, coverLoaded, copyData } from "@/utils/helper"; import { toLikeSong } from "@/utils/auth"; import { @@ -202,6 +201,7 @@ import { } from "@/utils/modal"; import { useSongManager } from "@/core/player/SongManager"; import { usePlayerController } from "@/core/player/PlayerController"; +import { getTimeDisplay, TIME_FORMATS } from "@/utils/format"; const router = useRouter(); const dataStore = useDataStore(); @@ -212,7 +212,14 @@ const settingStore = useSettingStore(); const player = usePlayerController(); const songManager = useSongManager(); -const showCountDown = ref(false); +const timeDisplay = getTimeDisplay(() => settingStore.timeFormatMainPlayer, statusStore); +const timeDisplay0 = timeDisplay(0); +const timeDisplay1 = timeDisplay(1); + +const toggleTimeFormat = () => { + const currentIndex = TIME_FORMATS.indexOf(settingStore.timeFormatMainPlayer) + settingStore.timeFormatMainPlayer = TIME_FORMATS[(currentIndex + 1) % TIME_FORMATS.length]; +}; // 歌曲更多操作 const songMoreOptions = computed(() => { diff --git a/src/components/Player/PlayerControl.vue b/src/components/Player/PlayerControl.vue index 22afad339..a259e45b8 100644 --- a/src/components/Player/PlayerControl.vue +++ b/src/components/Player/PlayerControl.vue @@ -80,9 +80,9 @@
- {{ msToTime(statusStore.currentTime) }} + {{ timeDisplay0 }} - {{ msToTime(statusStore.duration) }} + {{ timeDisplay1 }}
@@ -95,19 +95,29 @@