From 44b710bb174657a13afe66264e5b10940eb06dd5 Mon Sep 17 00:00:00 2001 From: ShadowLemoon <119576779+ShadowLemoon@users.noreply.github.com> Date: Sun, 10 May 2026 00:42:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=81=E8=AE=B8=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E8=83=8C=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/web/components/LogsSection.vue | 38 ++++++++++++++++++- .../assets/web/composables/useBackground.js | 23 +++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/src_assets/common/assets/web/components/LogsSection.vue b/src_assets/common/assets/web/components/LogsSection.vue index 4d81730f229..5253de1df6a 100644 --- a/src_assets/common/assets/web/components/LogsSection.vue +++ b/src_assets/common/assets/web/components/LogsSection.vue @@ -55,6 +55,10 @@ {{ $t('troubleshooting.copy_config') }} + @@ -71,7 +75,11 @@ diff --git a/src_assets/common/assets/web/composables/useBackground.js b/src_assets/common/assets/web/composables/useBackground.js index 1a235c62b62..2cc1817f119 100644 --- a/src_assets/common/assets/web/composables/useBackground.js +++ b/src_assets/common/assets/web/composables/useBackground.js @@ -195,7 +195,19 @@ export function useBackground(options = {}) { const getCurrentBackground = () => localStorage.getItem(storageKey) ?? defaultBackground + const isDevMode = () => localStorage.getItem('sunshine_dev_mode') === '1' + + const clearDevBypass = () => { + if (localStorage.getItem('sunshine_dev_mode') === '1') { + localStorage.setItem('sunshine_dev_mode', '0') + } + } + const setBackground = async (imageUrl) => { + if (isDevMode()) { + document.body.style.background = '' + return + } document.body.style.background = `url(${imageUrl}) center/cover fixed no-repeat` if (isLocalImage(imageUrl)) { try { @@ -221,6 +233,7 @@ export function useBackground(options = {}) { const loadBackground = () => setBackground(getCurrentBackground()) const saveBackground = async (imageData) => { + clearDevBypass() try { localStorage.setItem(storageKey, imageData) } catch (error) { @@ -310,6 +323,7 @@ export function useBackground(options = {}) { } const clearBackground = () => { + clearDevBypass() localStorage.removeItem(storageKey) return setBackground(defaultBackground) } @@ -321,6 +335,15 @@ export function useBackground(options = {}) { const observer = new MutationObserver(handleThemeChange) observer.observe(document.documentElement, observerConfig) observer.observe(document.body, observerConfig) + + // 监听背景旁路切换 + window.addEventListener('sunshine-background-bypass', (e) => { + if (e.detail?.enabled) { + document.body.style.background = '' + } else { + loadBackground() + } + }) } return {