瀏覽代碼

Merge branch 'startLogin' into jenkins

mo 1 年之前
父節點
當前提交
a022f8b24c
共有 2 個文件被更改,包括 49 次插入42 次删除
  1. 24 17
      index.html
  2. 25 25
      vite.config.ts

+ 24 - 17
index.html

@@ -177,23 +177,30 @@
       }, true)
 
       if ('serviceWorker' in navigator) {
-        navigator.serviceWorker.addEventListener('install', event => {
-          navigator.serviceWorker.skipWaiting()
-          // 预缓存其他静态内容
-        })
-        navigator.serviceWorker.addEventListener('controllerchange', () => {
-          console.log('控制更新刷新')
-          window.location.reload();
-        })
-        let flag = caches.keys().length > 0
-        console.log(caches.keys(), 'caches.keys()', `是否有缓存${flag}`);
-        caches.keys().then(function (cacheNames) {
-          cacheNames.forEach(function (cacheName) {
-            caches.delete(cacheName);
-          });
-          if (flag) {
-            window.location.reload()
-          }
+
+        // let flag = caches.keys().length > 0
+        // console.log(caches.keys(), 'caches.keys()', `是否有缓存${flag}`);
+        // caches.keys().then(function (cacheNames) {
+        //   cacheNames.forEach(function (cacheName) {
+        //     caches.delete(cacheName);
+        //   });
+        //   if (flag) {
+        //     window.location.reload()
+        //   }
+        // });
+        navigator.serviceWorker.register('/dev-sw.js?dev-sw').then(reg => {
+          console.log('组测', reg)
+          reg.onupdatefound = () => {
+            const installingWorker = reg.installing;
+            console.log('更新===>')
+            installingWorker.onstatechange = () => {
+              if (installingWorker.state === 'installed' &&
+                navigator.serviceWorker.controller) {
+                // Preferably, display a message asking the user to reload...
+                location.reload();
+              }
+            };
+          };
         });
       }
 

+ 25 - 25
vite.config.ts

@@ -62,31 +62,31 @@ export default defineConfig({
     VitePWA({
       registerType: 'autoUpdate',
       includeAssets: ['./logo.png'],
-      // workbox: {
-      //   runtimeCaching: [
-      //     {
-      //       urlPattern: /(.*?)\.(js|css|ts|tsx|html)/, // js /css /ts静态资源缓存
-      //       handler: 'NetworkOnly',
-      //       options: {
-      //         cacheName: 'js-css-cache'
-      //       }
-      //     },
-      //     {
-      //       urlPattern: /.*\.html.*/,
-      //       handler: 'NetworkOnly',
-      //       options: {
-      //         cacheName: 'wisbayar-html',
-      //         expiration: {
-      //           maxEntries: 20,
-      //           maxAgeSeconds: 30 * 24 * 60 * 60
-      //         },
-      //         cacheableResponse: {
-      //           statuses: [200]
-      //         }
-      //       }
-      //     }
-      //   ]
-      // },
+      workbox: {
+        runtimeCaching: [
+          {
+            urlPattern: /(.*?)\.(js|css|ts|tsx|html)/, // js /css /ts静态资源缓存
+            handler: 'NetworkOnly',
+            options: {
+              cacheName: 'js-css-cache'
+            }
+          },
+          {
+            urlPattern: /.*\.html.*/,
+            handler: 'NetworkOnly',
+            options: {
+              cacheName: 'wisbayar-html',
+              expiration: {
+                maxEntries: 20,
+                maxAgeSeconds: 30 * 24 * 60 * 60
+              },
+              cacheableResponse: {
+                statuses: [200]
+              }
+            }
+          }
+        ]
+      },
       manifest: {
         name: '酷乐秀-音乐数字课堂',
         short_name: '音乐数字课堂',