瀏覽代碼

fix token

wenhongquan 3 年之前
父節點
當前提交
8d3428ec66
共有 2 個文件被更改,包括 12 次插入5 次删除
  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;
     window.location.href = BaseLoginUrl;
     return false;
     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);
     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();
   main.clearReqToken();
   return true;
   return true;

+ 7 - 3
src/store/useMainStore.ts

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