lex-xin 5 miesięcy temu
rodzic
commit
d33c0d1201
1 zmienionych plików z 43 dodań i 22 usunięć
  1. 43 22
      src/App.tsx

+ 43 - 22
src/App.tsx

@@ -12,7 +12,24 @@ import UpdateTips from './update-tips';
 export default defineComponent({
   name: 'App',
   setup() {
-    const { needRefresh, updateServiceWorker } = useRegisterSW({
+    // const { needRefresh, offlineReady, updateServiceWorker } = useRegisterSW({
+    //   onRegistered(r: any) {
+    //     console.log(r, 'registered');
+    //     // if (r) {
+    //     //   setInterval(() => {
+    //     //     r.update(); // 手动触发更新检查
+    //     //   }, 30000); // 每 30 秒检查一次
+    //     // }
+    //   },
+    //   onNeedRefresh() {
+    //     console.log('新版本可用!');
+    //     alert('新版本可用!');
+    //   },
+    //   onOfflineReady() {
+    //     console.log('离线功能就绪。');
+    //   }
+    // });
+    const { needRefresh, offlineReady, updateServiceWorker } = useRegisterSW({
       onRegistered(r) {
         console.log(r, 'Service Worker 已注册');
         // 你可以在这里使用定时器手动检查更新
@@ -195,26 +212,26 @@ export default defineComponent({
 
       // console.log('app - onounted - test interval');
 
-      // if ('serviceWorker' in navigator) {
-      // navigator.serviceWorker.addEventListener('message', event => {
-      //   console.log('messageType: ', event.data?.type);
-      //   if (event.data?.type === 'NEW_VERSION_AVAILABLE') {
-      //     console.log('New version available, refresh the page.');
-      //     // 可以提示用户刷新页面
-      //   }
-      // });
-      // navigator.serviceWorker.getRegistrations().then(registrations => {
-      //   for (const registration of registrations) {
-      //     if (registration.scope.startsWith(`https://${location.host}/`)) {
-      //       registration.unregister().then(() => {
-      //         console.log(
-      //           `Service Worker unregistered for https://${location.host}/`
-      //         );
-      //       });
-      //     }
-      //   }
-      // });
-      // }
+      if ('serviceWorker' in navigator) {
+        // navigator.serviceWorker.addEventListener('message', event => {
+        //   console.log('messageType: ', event.data?.type);
+        //   if (event.data?.type === 'NEW_VERSION_AVAILABLE') {
+        //     console.log('New version available, refresh the page.');
+        //     // 可以提示用户刷新页面
+        //   }
+        // });
+        // navigator.serviceWorker.getRegistrations().then(registrations => {
+        //   for (const registration of registrations) {
+        //     if (registration.scope.startsWith(`https://${location.host}/`)) {
+        //       registration.unregister().then(() => {
+        //         console.log(
+        //           `Service Worker unregistered for https://${location.host}/`
+        //         );
+        //       });
+        //     }
+        //   }
+        // });
+      }
     });
     onUnmounted(() => {
       // window.removeEventListener('resize', resize);
@@ -239,11 +256,15 @@ export default defineComponent({
             onConfirm={() => {
               needRefresh.value = false;
               setTimeout(() => {
-                updateServiceWorker(true);
+                updateServiceWorker(true).then(res => {
+                  console.log(res, '------');
+                  window.location.reload();
+                });
               }, 0);
             }}
           />
         </NModal>
+
         {/* <NModal
           show={showModal.value}
           closeOnEsc={false}