From d83a65a0520f98eaec6f1e8c793383ea8d98698e Mon Sep 17 00:00:00 2001 From: Ap_Tx <3045929398@qq.com> Date: Sat, 17 Oct 2026 18:45:57 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=E9=9A=90?= =?UTF-8?q?=E8=97=8F=E7=9A=84=E7=9A=AE=E8=82=A4=E7=AB=99=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=20iframe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 会话改为 API 驱动后,这个隐藏 iframe 只负责收发 postMessage。它每 10 秒检查一次"90 秒内没收到消息就重置会话",而现在永远收不到消息, 90 秒后必然把刚登录的会话清掉。 删除组件,改由 App.vue 在状态初始化完成后调用 initSkinSiteSession() 恢复登录态。 --- apps/app-frontend/src/App.vue | 10 +-- .../components/ui/SkinSiteSessionFrame.vue | 65 ------------------- 2 files changed, 5 insertions(+), 70 deletions(-) delete mode 100644 apps/app-frontend/src/components/ui/SkinSiteSessionFrame.vue diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index 19da2a1..61494f1 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -94,13 +94,14 @@ import NavButton from '@/components/ui/NavButton.vue' import NavRail from '@/components/ui/NavRail.vue' import OnboardingOverlay from '@/components/ui/onboarding/OnboardingOverlay.vue' import QuickInstanceSwitcher from '@/components/ui/QuickInstanceSwitcher.vue' -import SkinSiteSessionFrame from '@/components/ui/SkinSiteSessionFrame.vue' import RemoteAnnouncements from '@/components/ui/RemoteAnnouncements.vue' -import StartupAnnouncementModal from '@/components/ui/StartupAnnouncementModal.vue' import SplashScreen from '@/components/ui/SplashScreen.vue' +import StartupAnnouncementModal from '@/components/ui/StartupAnnouncementModal.vue' import WindowControls from '@/components/ui/WindowControls.vue' import { useCheckDisableMouseover } from '@/composables/macCssFix.js' +import { initSkinSiteSession } from '@/composables/skin-site-session' import { useDropImport } from '@/composables/useDropImport' +import { setupKeyboardShortcuts } from '@/composables/useKeyboardShortcuts' import { minecraftLaunchErrorKey } from '@/composables/useMinecraftLaunchError' import { useNetworkStatus } from '@/composables/useNetworkStatus' import { AxolotlBrandConfig, config, getOfficialLabrinthBaseUrl } from '@/config' @@ -132,6 +133,7 @@ import { } from '@/helpers/settings.ts' import { getSidebarExpanded, setSidebarExpanded } from '@/helpers/sidebar-state.ts' import { get_opening_command, initialize_state } from '@/helpers/state' +import { installUiScale, setUiScale } from '@/helpers/ui-scale' import { areUpdatesEnabled, backupAppDbForUpdate, @@ -145,7 +147,6 @@ import { isNetworkMetered, setRestartAfterPendingUpdate, } from '@/helpers/utils.js' -import { installUiScale, setUiScale } from '@/helpers/ui-scale' import { start_join_server, start_join_singleplayer_world } from '@/helpers/worlds.ts' import i18n, { resolveInitialLocale } from '@/i18n.config' import { @@ -169,7 +170,6 @@ import { createServerInstall, provideServerInstall } from '@/providers/server-in import { setupProviders } from '@/providers/setup' import { setupAuthProvider } from '@/providers/setup/auth' import { setupLoadingStateProvider } from '@/providers/setup/loading-state' -import { setupKeyboardShortcuts } from '@/composables/useKeyboardShortcuts' import { useError } from '@/store/error.js' import { useTheming } from '@/store/state' @@ -1159,6 +1159,7 @@ async function setupApp() { stateInitialized.value = true showOnboarding.value = !onboarded void reconcileMojangAuthSourceAtStartup().catch(handleError) + void initSkinSiteSession().catch(handleError) isMaximized.value = await getCurrentWindow().isMaximized() @@ -2228,7 +2229,6 @@ provideAppUpdateDownloadProgress(appUpdateDownload)