diff --git a/src/api/login/index.ts b/src/api/login/index.ts index 6a0ce4e..dc56b90 100644 --- a/src/api/login/index.ts +++ b/src/api/login/index.ts @@ -17,3 +17,13 @@ export function login(data: LoginFormData): AxiosPromise { data }) } + +/** + * 注销 + */ +export function logout(): AxiosPromise { + return request({ + url: 'admin/logout', + method: 'post' + }) +} diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 6ec67b6..2310e32 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -4,7 +4,7 @@ import { UserState } from '@/types/store/user'; import { ElMessage } from 'element-plus'; import { localStorage } from '@/utils/storage'; -import { login } from '@/api/login'; +import { login, logout } from '@/api/login'; import { getUserInfo } from '@/api/system/user'; import { resetRouter } from '@/router'; import {CODES, CONFIG_DATA} from "@/utils/code"; @@ -89,12 +89,23 @@ const useUserStore = defineStore({ */ logout() { return new Promise((resolve, reject) => { - localStorage.remove(CONFIG_DATA.autoKey); - localStorage.remove(CONFIG_DATA.autoRefreshKey); - localStorage.remove(CONFIG_DATA.authKey); - this.RESET_STATE(); - resetRouter(); - resolve(null); + logout() + .then(() => { + localStorage.remove(CONFIG_DATA.autoKey); + localStorage.remove(CONFIG_DATA.autoRefreshKey); + localStorage.remove(CONFIG_DATA.authKey); + this.RESET_STATE(); + resetRouter(); + resolve(null); + }) + .catch((error) => { + localStorage.remove(CONFIG_DATA.autoKey); + localStorage.remove(CONFIG_DATA.autoRefreshKey); + localStorage.remove(CONFIG_DATA.authKey); + this.RESET_STATE(); + resetRouter(); + resolve(null); + }); }); },