Explorar el Código

Merge branch 'iteration-20250110-last' into jenkins

lex-xin hace 5 meses
padre
commit
6f65df42ec
Se han modificado 3 ficheros con 40 adiciones y 18 borrados
  1. 1 1
      public/version.json
  2. 37 15
      src/App.tsx
  3. 2 2
      vite.config.ts

+ 1 - 1
public/version.json

@@ -1 +1 @@
-{"version":1737018856227}
+{"version":1737018856227}

+ 37 - 15
src/App.tsx

@@ -12,21 +12,39 @@ import UpdateTips from './update-tips';
 export default defineComponent({
   name: 'App',
   setup() {
-    const { needRefresh, offlineReady, updateServiceWorker } = useRegisterSW({
-      onRegistered(r: any) {
-        console.log(r, 'registered');
+    // 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, updateServiceWorker } = useRegisterSW({
+      onRegistered(r) {
+        console.log(r, 'Service Worker 已注册');
+        // 你可以在这里使用定时器手动检查更新
         if (r) {
           setInterval(() => {
-            r.update(); // 手动触发更新检查
-          }, 30000); // 每 30 秒检查一次
+            r.update(); // 每 30 秒检查一次更新
+          }, 30000);
         }
       },
       onNeedRefresh() {
-        console.log('新版本可用!');
-        // alert('新版本可用!');
+        console.log('onNeedRefresh 事件触发');
+        console.log('needRefresh 状态:', needRefresh); // 确认 needRefresh 是否为 true
       },
       onOfflineReady() {
-        console.log('离线功能就绪。');
+        console.log('离线功能就绪');
       }
     });
 
@@ -234,15 +252,19 @@ export default defineComponent({
           </AppProvider>
         </NConfigProvider>
         <NModal maskClosable={false} v-model:show={needRefresh.value}>
-          <UpdateTips onConfirm={() => updateServiceWorker(true)} />
+          <UpdateTips
+            onConfirm={() => {
+              needRefresh.value = false;
+              setTimeout(() => {
+                updateServiceWorker(true).then(res => {
+                  console.log(res, '------');
+                  window.location.reload();
+                });
+              }, 0);
+            }}
+          />
         </NModal>
 
-        <span style={{ display: 'none' }}>
-          {needRefresh.value ? '新内容可用,点击刷新页面' : '没有新内容'}
-        </span>
-        <span style={{ display: 'none' }}>
-          {offlineReady.value ? '应用已离线可用' : '没有离线'}
-        </span>
         {/* <NModal
           show={showModal.value}
           closeOnEsc={false}

+ 2 - 2
vite.config.ts

@@ -63,8 +63,8 @@ export default defineConfig(() => {
         ]
       }),
       VitePWA({
-        injectRegister: 'auto',
-        registerType: 'autoUpdate',
+        // injectRegister: 'auto',
+        registerType: 'prompt',
         includeAssets: ['./logo.png'],
         workbox: {
           skipWaiting: false, // 强制跳过等待