| 
					
				 | 
			
			
				@@ -8,11 +8,16 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const router = useRouter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const dialog = useDialog(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let isOpen = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    router.onError(error => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    router.onError((error, to, form) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const str = error.message + ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const isChunkLoadFailed = str.indexOf('imported'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log(error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(error, to) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // const targetPath = router.history.pending.fullPath 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (isChunkLoadFailed != -1 && !isOpen) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         isOpen = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dialog.warning({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21,11 +26,42 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           positiveText: '确定', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           negativeText: '取消', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           onPositiveClick: () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            router.push(to) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             window.location.reload(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const checkNewVersion = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if ('serviceWorker' in navigator) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // let refreshing = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const flag = (await caches.keys()).length > 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(caches.keys(), `0904路由更新有缓存${flag}`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        caches.keys().then(function (cacheNames) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cacheNames.forEach(function (cacheName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            caches.delete(cacheName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (flag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            window.location.reload(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 尝试监听install 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let refreshing = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        navigator.serviceWorker.addEventListener('controllerchange', () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.log('controllerchange'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (refreshing) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          refreshing = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          window.location.reload(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    checkNewVersion() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return () => <div></div>; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 |