From 272572285208534e47a72dd8e29dd387b8925b9f Mon Sep 17 00:00:00 2001 From: Baobhan Sith <80159437+Heavrnl@users.noreply.github.com> Date: Tue, 13 May 2025 14:15:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20PWA=20=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/index.html | 6 ++ .../frontend/public/icons/icon-144x144.png | Bin 0 -> 11185 bytes .../frontend/public/icons/icon-192x192.png | Bin 0 -> 15039 bytes .../frontend/public/icons/icon-512x512.png | Bin 0 -> 42263 bytes packages/frontend/public/manifest.json | 31 +++++++++++ packages/frontend/public/sw.js | 52 ++++++++++++++++++ packages/frontend/src/App.vue | 21 +++++-- packages/frontend/src/main.ts | 10 ++++ 8 files changed, 115 insertions(+), 5 deletions(-) create mode 100644 packages/frontend/public/icons/icon-144x144.png create mode 100644 packages/frontend/public/icons/icon-192x192.png create mode 100644 packages/frontend/public/icons/icon-512x512.png create mode 100644 packages/frontend/public/manifest.json create mode 100644 packages/frontend/public/sw.js diff --git a/packages/frontend/index.html b/packages/frontend/index.html index 7806d3c..57fdc9d 100644 --- a/packages/frontend/index.html +++ b/packages/frontend/index.html @@ -5,6 +5,12 @@ Nexus Terminal + + + + + +
diff --git a/packages/frontend/public/icons/icon-144x144.png b/packages/frontend/public/icons/icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf2d1650b40cdcefc3174c4d1aa101583646d6d GIT binary patch literal 11185 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/public/icons/icon-512x512.png b/packages/frontend/public/icons/icon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5ac195031774296f43768d77d452ea8c01ac32 GIT binary patch literal 42263 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 aSUaTLds%HAKEntBUuGtj# { + event.waitUntil( + caches.open(CACHE_NAME) + .then((cache) => { + console.log('Opened cache'); + return cache.addAll(urlsToCache); + }) + ); +}); + +self.addEventListener('fetch', (event) => { + event.respondWith( + caches.match(event.request) + .then((response) => { + if (response) { + return response; + } + return fetch(event.request); + } + ) + ); +}); + +self.addEventListener('activate', (event) => { + const cacheWhitelist = [CACHE_NAME]; + event.waitUntil( + caches.keys().then((cacheNames) => { + return Promise.all( + cacheNames.map((cacheName) => { + if (cacheWhitelist.indexOf(cacheName) === -1) { + return caches.delete(cacheName); + } + }) + ); + }) + ); +}); \ No newline at end of file diff --git a/packages/frontend/src/App.vue b/packages/frontend/src/App.vue index 9e539b5..03bc57e 100644 --- a/packages/frontend/src/App.vue +++ b/packages/frontend/src/App.vue @@ -7,8 +7,8 @@ import { useDeviceDetection } from './composables/useDeviceDetection'; import { useSettingsStore } from './stores/settings.store'; import { useAppearanceStore } from './stores/appearance.store'; import { useLayoutStore } from './stores/layout.store'; -import { useFocusSwitcherStore } from './stores/focusSwitcher.store'; // +++ 导入焦点切换 Store +++ -import { useSessionStore } from './stores/session.store'; // +++ 导入 Session Store +++ +import { useFocusSwitcherStore } from './stores/focusSwitcher.store'; +import { useSessionStore } from './stores/session.store'; import { storeToRefs } from 'pinia'; // 导入通知显示组件 import UINotificationDisplay from './components/UINotificationDisplay.vue'; @@ -72,7 +72,16 @@ onMounted(() => { // +++ 添加全局 Alt 键监听器 +++ window.addEventListener('keydown', handleAltKeyDown); // +++ 监听 keydown 设置状态 +++ window.addEventListener('keyup', handleGlobalKeyUp); // +++ 监听 keyup 执行切换 +++ + + // PWA Install Prompt + window.addEventListener('beforeinstallprompt', (e) => { + console.log('[App.vue] beforeinstallprompt event fired. Browser will handle install prompt.'); + }); + window.addEventListener('appinstalled', () => { + console.log('[App.vue] PWA was installed'); + }); + // +++ 加载 Header 可见性状态 +++ layoutStore.loadHeaderVisibility(); }); @@ -250,6 +259,8 @@ const isElementVisibleAndFocusable = (element: HTMLElement): boolean => { return rect.width > 0 && rect.height > 0; }; + + @@ -336,14 +349,12 @@ const isElementVisibleAndFocusable = (element: HTMLElement): boolean => { flex-direction: column; min-height: 100vh; font-family: var(--font-family-sans-serif); /* 使用字体变量 */ - /* background-color: var(--app-bg-color); */ /* 移除容器背景色,让 body 背景透出来 */ } -/* Removed header, nav, nav-left, nav-right, nav a, nav a:hover, nav a.router-link-exact-active, .nav-underline, and specific icon/login/logout link styles as they are now handled by Tailwind classes */ main { flex-grow: 1; - /* padding: var(--base-padding); */ /* Keep padding removed from main */ + } diff --git a/packages/frontend/src/main.ts b/packages/frontend/src/main.ts index ffe834a..e2dccb8 100644 --- a/packages/frontend/src/main.ts +++ b/packages/frontend/src/main.ts @@ -83,4 +83,14 @@ app.use(i18n); // 使用 i18n } app.mount('#app'); } +// --- PWA Service Worker Registration --- + if ('serviceWorker' in navigator) { + window.addEventListener('load', () => { + navigator.serviceWorker.register('/sw.js').then(registration => { + console.log('SW registered: ', registration); + }).catch(registrationError => { + console.log('SW registration failed: ', registrationError); + }); + }); + } })();