From 2ff4a28b705b8b89cca5b96e27cd748894f334e5 Mon Sep 17 00:00:00 2001 From: Minoricew <154642983+Minoricew@users.noreply.github.com> Date: Sun, 22 Jun 2025 22:24:36 +0800 Subject: [PATCH] =?UTF-8?q?[=F0=9F=9B=A0=EF=B8=8F=20Fix]=20Issue=20#32=20&?= =?UTF-8?q?=20#33?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. [/] 为 Revive 元素添加了自定义事件触发, 从而正确处理 Remount 发生时的情况 2. [/] 为 Input 元素添加了正确的 onSubmit 事件处理 --- src/aura/init/rendererHook/injection.js | 21 ++++++++++++------- src/aura/ui/composables/settingsRenderer.js | 15 +++++++++++-- src/aura/ui/pages/config/config.html | 5 ++++- src/aura/ui/pages/config/config.js | 18 ++++++++++++++++ .../preferences/settings/aura.js | 4 ++++ src/aura/ui/pages/headerIcon/headerIcon.js | 15 ++++++++++--- src/aura/utils/pls.js | 3 ++- 7 files changed, 66 insertions(+), 15 deletions(-) diff --git a/src/aura/init/rendererHook/injection.js b/src/aura/init/rendererHook/injection.js index 5a55778..25e9d9d 100755 --- a/src/aura/init/rendererHook/injection.js +++ b/src/aura/init/rendererHook/injection.js @@ -168,8 +168,8 @@ observers.set(moduleKey, observer); }; - const loadResources = async (resources, type, moduleKey, isRevive) => { - if (!resources || isRevive) return []; + const loadResources = async (resources, type, moduleKey) => { + if (!resources) return []; const resourceArray = Array.isArray(resources) ? resources : [resources]; const loadedResources = []; @@ -232,12 +232,11 @@ const resources = new Set(); moduleResources.set(moduleKey, resources); - if (config.pageCSS) { + if (config.pageCSS && !isRevive) { const cssResources = await loadResources( config.pageCSS, "css", - moduleKey, - isRevive + moduleKey ); cssResources.forEach((resource) => resources.add(resource)); } @@ -250,16 +249,22 @@ insertElement(target, container, config.selectorMode); monitorParent(moduleKey, target, container, config.selectorMode); - if (config.pageScript) { + if (config.pageScript && !isRevive) { const jsResources = await loadResources( config.pageScript, "js", - moduleKey, - isRevive + moduleKey ); jsResources.forEach((resource) => resources.add(resource)); } + if (isRevive) { + const onReviveEvent = new CustomEvent( + `onLoaderElRevive:${moduleKey}` + ); + document.dispatchEvent(onReviveEvent); + } + const observer = new MutationObserver(() => { if ( !document.contains(container) && diff --git a/src/aura/ui/composables/settingsRenderer.js b/src/aura/ui/composables/settingsRenderer.js index 548efe1..9b2abe5 100755 --- a/src/aura/ui/composables/settingsRenderer.js +++ b/src/aura/ui/composables/settingsRenderer.js @@ -145,9 +145,10 @@ const renderInputArea = (entry, operationArea, descriptionArea) => { inputEl.value = entry.valueGetter(); inputEl.placeholder = entry.placeHolder; inputEl.id = entry.id; - inputEl.addEventListener("change", async (event) => { + + const handleSubmit = async (event = null) => { const result = await entry.callbackFn( - event.target.value, + event ? event.target.value : inputEl.value, inputEl, operationArea, descriptionArea @@ -166,7 +167,17 @@ const renderInputArea = (entry, operationArea, descriptionArea) => { descriptionArea.textContent = result.hint; descriptionArea.classList.add("ase-desc-error-hint"); } + }; + + inputEl.addEventListener("change", async (event) => { + await handleSubmit(event); }); + + inputEl.onsubmit = async (evt) => { + evt.preventDefault(); + await handleSubmit(); + }; + operationArea.classList.add("ase-operation-area-expanded"); return inputEl; } diff --git a/src/aura/ui/pages/config/config.html b/src/aura/ui/pages/config/config.html index 9da9827..22f9c8d 100755 --- a/src/aura/ui/pages/config/config.html +++ b/src/aura/ui/pages/config/config.html @@ -13,7 +13,10 @@

雨光之环

-
+
{ global.__HUGO_AURA_UI_FUNCTIONS__.config.verifyAuthPassword(); }; @@ -243,6 +248,16 @@ global.__HUGO_AURA_UI_FUNCTIONS__.config = { }; }, + resetAuthDialogInputElOnSubmit: (func) => { + const inputEl = document.getElementById("acp-auth-user-input"); + inputEl.onsubmit = (evt) => evt.preventDefault(); + inputEl.onkeydown = (event) => { + if (event.key === "Enter") { + func(); + } + }; + }, + handleACSNShow: async () => { const acsnRootEl = document.getElementsByClassName( "acp-config-status-notify" @@ -386,6 +401,9 @@ global.__HUGO_AURA_UI_FUNCTIONS__.config = { "aura-config-page-header-area" )[0]; acsDialogAreaEl.style = ""; + global.__HUGO_AURA_UI_FUNCTIONS__.config.resetAuthDialogInputElOnSubmit( + global.__HUGO_AURA_UI_FUNCTIONS__.config.verifyAuthPassword + ); await window.__HUGO_AURA_GLOBAL__.utils.sleep(500); acsDialogAreaEl.classList.remove("acp-ada-hidden"); acpAppBarEl.classList.add("color-reverse"); diff --git a/src/aura/ui/pages/configSubPages/preferences/settings/aura.js b/src/aura/ui/pages/configSubPages/preferences/settings/aura.js index 8e5b0ab..d884178 100755 --- a/src/aura/ui/pages/configSubPages/preferences/settings/aura.js +++ b/src/aura/ui/pages/configSubPages/preferences/settings/aura.js @@ -142,6 +142,10 @@ const functions = { } }; + global.__HUGO_AURA_UI_FUNCTIONS__.config.resetAuthDialogInputElOnSubmit( + verifyPassword + ); + // @ts-expect-error acpDialogConfirmBtnEl.onclick = verifyPassword; // @ts-expect-error diff --git a/src/aura/ui/pages/headerIcon/headerIcon.js b/src/aura/ui/pages/headerIcon/headerIcon.js index 6330c0a..506a4a3 100755 --- a/src/aura/ui/pages/headerIcon/headerIcon.js +++ b/src/aura/ui/pages/headerIcon/headerIcon.js @@ -9,9 +9,10 @@ global.__HUGO_AURA_UI_FUNCTIONS__.headerIcon = { let clickCounter = 0; let clickTimeout = null; - const onMounted = () => { + const onMounted = (revive = false) => { if ( - !global.__HUGO_AURA_CONFIG__.auraSettings.uiAccessMethod.showEntryIcon + !global.__HUGO_AURA_CONFIG__.auraSettings.uiAccessMethod.showEntryIcon && + !revive ) { const rootEl = document.getElementById("root"); rootEl.classList.add("aura-header-icon-hidden"); @@ -19,7 +20,8 @@ global.__HUGO_AURA_UI_FUNCTIONS__.headerIcon = { if ( global.__HUGO_AURA_CONFIG__.auraSettings.uiAccessMethod - .fallbackAccessMethods.hotkey + .fallbackAccessMethods.hotkey && + !revive ) { document.addEventListener("keydown", (event) => { if (event.ctrlKey && event.shiftKey && event.key === "A") { @@ -53,4 +55,11 @@ global.__HUGO_AURA_UI_FUNCTIONS__.headerIcon = { }; onMounted(); + + document.addEventListener( + "onLoaderElRevive:Aura.UI.Assistant.HeaderEntry", + () => { + onMounted(true); + } + ); })(); diff --git a/src/aura/utils/pls.js b/src/aura/utils/pls.js index 69f2eec..9bb7753 100644 --- a/src/aura/utils/pls.js +++ b/src/aura/utils/pls.js @@ -12,7 +12,7 @@ const createWsWindow = (electron) => { frame: false, skipTaskbar: true, transparent: true, - alwaysOnTop: true, + alwaysOnTop: false, webPreferences: { nodeIntegration: true, contextIsolation: false, @@ -21,6 +21,7 @@ const createWsWindow = (electron) => { }); window.setIgnoreMouseEvents(true); + window.minimize(); window.loadFile( path.join( __dirname,