feat: 更新 PWA 安装逻辑,添加 Service Worker 注册和安装提示处理

This commit is contained in:
2026-01-06 22:40:51 +07:00
parent db3a2327c8
commit e4e4d50ca8
4 changed files with 115 additions and 77 deletions

View File

@@ -1,5 +1,6 @@
import { IonicVue } from "@ionic/vue";
import { createPinia } from "pinia";
import { useRegisterSW } from "virtual:pwa-register/vue";
import { createApp } from "vue";
import uiComponents from "@/ui";
import App from "./App.vue";
@@ -41,6 +42,30 @@ import "./theme/ionic.css";
useTheme();
// 注册 PWA Service Worker使用 Vue 3 Composition API
const { offlineReady, needRefresh, updateServiceWorker } = useRegisterSW({
onRegistered(registration) {
console.log("[PWA] Service Worker registered:", registration);
},
onRegisterError(error) {
console.error("[PWA] Service Worker registration failed:", error);
},
immediate: true,
});
// 监听 PWA 状态
watch(offlineReady, (ready) => {
if (ready) {
console.log("[PWA] App ready to work offline.");
}
});
watch(needRefresh, (refresh) => {
if (refresh) {
console.log("[PWA] New content available, please refresh.");
}
});
function initTradingView() {
const { VITE_TRADINGVIEW_LIBRARY_URL } = useEnv();
const promise1 = new Promise((resolve) => {