|  | @@ -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>;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  });
 |