NewLife/NewLife.CubeVue

调用注销接口失败,也要移除token、用户信息、菜单
笑笑 authored at 2023-04-03 22:20:16 笑笑 committed at 2023-04-08 20:00:36
53fc4bc
Tree
1 Parent(s) 6bef96f
Summary: 1 changed files with 30 additions and 23 deletions.
Modified +30 -23
Modified +30 -23
diff --git a/src/api/user.ts b/src/api/user.ts
index 6193ef5..9e6d651 100644
--- a/src/api/user.ts
+++ b/src/api/user.ts
@@ -1,18 +1,18 @@
-import { removeMenu } from '@/utils/menu'
-import { removeToken } from '@/utils/token'
-import { removeUserInfo } from '@/utils/user'
-import ApiBase from './api-base'
+import { removeMenu } from '@/utils/menu';
+import { removeToken } from '@/utils/token';
+import { removeUserInfo } from '@/utils/user';
+import ApiBase from './api-base';
 
 export class ApiUser extends ApiBase {
   public login(loginForm: any) {
-    const request = this.request
+    const request = this.request;
 
     return request({
       url: '/Admin/User/Login',
       method: 'post',
-      data: loginForm
+      data: loginForm,
       // params: data,
-    })
+    });
   }
 
   /**
@@ -20,45 +20,52 @@ export class ApiUser extends ApiBase {
    * @returns
    */
   public logout() {
-    const request = this.request
+    const request = this.request;
 
     return request({
       url: '/Admin/User/Logout',
-      method: 'get'
-    }).then(() => {
-      // TODO 如果不放这里,则考虑在调用此方法的地方使用事件总线
-      removeToken()
-      removeUserInfo()
-      removeMenu()
+      method: 'get',
     })
+      .then(() => {
+        // TODO 如果不放这里,则考虑在调用此方法的地方使用事件总线
+        removeToken();
+        removeUserInfo();
+        removeMenu();
+      })
+      .catch(() => {
+        // 调用注销接口失败,也要移除token、用户信息、菜单
+        removeToken();
+        removeUserInfo();
+        removeMenu();
+      });
   }
 
   public getUserInfo() {
-    const request = this.request
+    const request = this.request;
 
     return request({
       url: '/Admin/User/Info/',
-      method: 'get'
-    })
+      method: 'get',
+    });
   }
 
   public updateUserInfo(userInfo: any) {
-    const request = this.request
+    const request = this.request;
 
     return request({
       url: '/Admin/User/Info/',
       method: 'post',
-      data: userInfo
-    })
+      data: userInfo,
+    });
   }
 
   public changePassword(data: any) {
-    const request = this.request
+    const request = this.request;
 
     return request({
       url: '/Admin/User/ChangePassword',
       method: 'post',
-      data
-    })
+      data,
+    });
   }
 }