diff --git a/src/services/index.tsx b/src/services/index.tsx index 3d3a308..8aca097 100644 --- a/src/services/index.tsx +++ b/src/services/index.tsx @@ -1,6 +1,6 @@ import axios, { type AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios' import jwtDecode, { JwtPayload } from 'jwt-decode' -import { clearLocalStorage, getToken, setToken } from '@/utils/common' +import { getToken, removeToken, setToken } from '@/utils/common' import { SYSTEM_ACCESS_DENIED, SYSTEM_TOKEN_HAS_EXPIRED, @@ -66,9 +66,19 @@ service.interceptors.response.use( (response: AxiosResponse<_Response>) => { switch (response.data.code) { case SYSTEM_UNAUTHORIZED: + removeToken() + void message.error( + <> + 未登录 + + ) + setTimeout(() => { + location.reload() + }, 1500) + throw response?.data case SYSTEM_TOKEN_ILLEGAL: case SYSTEM_TOKEN_HAS_EXPIRED: - clearLocalStorage() + removeToken() void message.error( <> 登录已过期 diff --git a/src/utils/auth.ts b/src/utils/auth.ts index aa3fc82..c2f3155 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -1,4 +1,4 @@ -import { getCaptcha, getLocalStorage, removeLocalStorage, setLocalStorage } from './common' +import { getCaptcha, getLocalStorage, removeToken, setLocalStorage } from './common' import { SYSTEM_OK, TOKEN_NAME } from '@/constants/Common.constants' import request from '@/services' @@ -13,8 +13,7 @@ export const login = async (username: string, password: string) => { export const logout = async () => { return request.post('/logout').finally(() => { - removeLocalStorage('userInfo') - removeLocalStorage(TOKEN_NAME) + removeToken() }) } diff --git a/src/utils/common.ts b/src/utils/common.ts index 04d1244..c74b23e 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -69,6 +69,7 @@ export const removeLocalStorage = (name: string) => { } export const removeToken = () => { + removeLocalStorage('userInfo') removeLocalStorage(TOKEN_NAME) }