Browse Source

刷新重置

1
mo 1 year ago
parent
commit
7c567fa05c
2 changed files with 15 additions and 6 deletions
  1. 6 5
      src/components/RouterError/index.tsx
  2. 9 1
      src/store/modules/users.ts

+ 6 - 5
src/components/RouterError/index.tsx

@@ -4,6 +4,7 @@ import { useRouter } from 'vue-router';
 import downBg from './images/downBg.png'
 import rocketIcon from './images/rocketIcon.png'
 import styles from './index.module.less'
+import { useUserStore } from '/src/store/modules/users';
 export default defineComponent({
   name: 'router-error',
   setup() {
@@ -11,7 +12,7 @@ export default defineComponent({
     const dialog = useDialog();
     let refreshing = false;
     const showModalMask = ref(false)
-
+    const userInfo = useUserStore()
 
     router.onError((error, to, form) => {
       const str = error.message + '';
@@ -21,8 +22,7 @@ export default defineComponent({
 
       if (isChunkLoadFailed != -1 && !refreshing) {
         refreshing = true;
-        console.log('onError刷新');
-        sessionStorage.setItem('isRouter','true')
+        userInfo.setIsRouterError(true)
           showModalMask.value = true;
           router.push(to.path)
 
@@ -72,17 +72,18 @@ export default defineComponent({
           if (refreshing) {
             return;
           }
-          const isRouter = sessionStorage.getItem('isRouter')
+          const isRouter =  userInfo.getIsRouteError()
           if(!isRouter){
             showModalMask.value = true
           }
+          userInfo.setIsRouterError(false)
           refreshing = true;
 
         });
       }
     }
     onBeforeUnmount(()=>{
-      sessionStorage.removeItem('isRouter')
+      userInfo.setIsRouterError(false)
     })
     checkNewVersion()
 

+ 9 - 1
src/store/modules/users.ts

@@ -12,6 +12,7 @@ export interface IUserState {
   info: any;
   imUserInfo: any;
   noReadCount: number;
+  isRouteError: boolean;
 }
 
 export const useUserStore = defineStore('user-store', {
@@ -22,7 +23,8 @@ export const useUserStore = defineStore('user-store', {
     avatar: '',
     noReadCount: 0, // 未读数量
     info: storage.get(CURRENT_USER, {}),
-    imUserInfo: {} // IM
+    imUserInfo: {}, // IM
+    isRouteError: false
   }),
   getters: {
     getNoReadCount(): number {
@@ -45,6 +47,9 @@ export const useUserStore = defineStore('user-store', {
     },
     getImUserInfo(): any {
       return this.imUserInfo;
+    },
+    getIsRouteError(): any {
+      return this.isRouteError;
     }
   },
   actions: {
@@ -69,6 +74,9 @@ export const useUserStore = defineStore('user-store', {
     setImUserInfo(info: any) {
       this.imUserInfo = info;
     },
+    setIsRouterError(info: boolean) {
+      this.isRouteError = info;
+    },
     // 登录
     async login(userInfo: any) {
       try {