Browse Source

fix token

wenhongquan 3 years ago
parent
commit
8d3428ec66
2 changed files with 12 additions and 5 deletions
  1. 5 2
      src/router/index.ts
  2. 7 3
      src/store/useMainStore.ts

+ 5 - 2
src/router/index.ts

@@ -67,10 +67,13 @@ router.beforeEach(async (to, from) => {
     window.location.href = BaseLoginUrl;
     return false;
   }
-
-  if (to.query.ticket && !window.localStorage.getItem('Authorization')) {
+  if (to.query.ticket) { 
+    main.removeToken();
     return await main.getUserInfo(to.query.ticket as string);
   }
+  if (to.query.ticket && !window.localStorage.getItem('Authorization')) {
+      return await main.getUserInfo(to.query.ticket as string);
+  }
 
   main.clearReqToken();
   return true;

+ 7 - 3
src/store/useMainStore.ts

@@ -18,6 +18,7 @@ export interface MainStateType {
 export interface MainActionsType {
   pushReqToken(cancelToken: Canceler): void;
   clearReqToken(): void;
+  removeToken(): void;
   getUserInfo(ticket: string): Promise<true | undefined>;
   getMessage(params: NoticeInfoParams): Promise<NoticeInfo[] | undefined>;
   setEventListshow(isshow:boolean):void;
@@ -59,10 +60,13 @@ export default defineStore<'main', MainStateType, {}, MainActionsType>('main', {
     pushReqToken(cancelToken) {
       this.cancelReqToken.push(cancelToken);
     },
+    removeToken() { 
+       window.localStorage.removeItem('Authorization');
+    },
     clearReqToken() {
-      this.cancelReqToken.forEach((cancel) => {
-        cancel('axios cancel by router change');
-      });
+        this.cancelReqToken.forEach((cancel) => {
+         cancel('axios cancel by router change');
+       });
       this.cancelReqToken = [];
     },
   },