feat: 更新 PWA 安装逻辑,添加 Service Worker 注册和安装提示处理
This commit is contained in:
25
src/main.ts
25
src/main.ts
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user