Complete main UI #37
@@ -1,6 +1,6 @@
|
|||||||
import axios, { type AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'
|
import axios, { type AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'
|
||||||
import jwtDecode, { JwtPayload } from 'jwt-decode'
|
import jwtDecode, { JwtPayload } from 'jwt-decode'
|
||||||
import { clearLocalStorage, getToken, setToken } from '@/utils/common'
|
import { getToken, removeToken, setToken } from '@/utils/common'
|
||||||
import {
|
import {
|
||||||
SYSTEM_ACCESS_DENIED,
|
SYSTEM_ACCESS_DENIED,
|
||||||
SYSTEM_TOKEN_HAS_EXPIRED,
|
SYSTEM_TOKEN_HAS_EXPIRED,
|
||||||
@@ -66,9 +66,19 @@ service.interceptors.response.use(
|
|||||||
(response: AxiosResponse<_Response<never>>) => {
|
(response: AxiosResponse<_Response<never>>) => {
|
||||||
switch (response.data.code) {
|
switch (response.data.code) {
|
||||||
case SYSTEM_UNAUTHORIZED:
|
case SYSTEM_UNAUTHORIZED:
|
||||||
|
removeToken()
|
||||||
|
void message.error(
|
||||||
|
<>
|
||||||
|
<strong>未登录</strong>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
setTimeout(() => {
|
||||||
|
location.reload()
|
||||||
|
}, 1500)
|
||||||
|
throw response?.data
|
||||||
case SYSTEM_TOKEN_ILLEGAL:
|
case SYSTEM_TOKEN_ILLEGAL:
|
||||||
case SYSTEM_TOKEN_HAS_EXPIRED:
|
case SYSTEM_TOKEN_HAS_EXPIRED:
|
||||||
clearLocalStorage()
|
removeToken()
|
||||||
void message.error(
|
void message.error(
|
||||||
<>
|
<>
|
||||||
<strong>登录已过期</strong>
|
<strong>登录已过期</strong>
|
||||||
|
|||||||
@@ -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 { SYSTEM_OK, TOKEN_NAME } from '@/constants/Common.constants'
|
||||||
import request from '@/services'
|
import request from '@/services'
|
||||||
|
|
||||||
@@ -13,8 +13,7 @@ export const login = async (username: string, password: string) => {
|
|||||||
|
|
||||||
export const logout = async () => {
|
export const logout = async () => {
|
||||||
return request.post('/logout').finally(() => {
|
return request.post('/logout').finally(() => {
|
||||||
removeLocalStorage('userInfo')
|
removeToken()
|
||||||
removeLocalStorage(TOKEN_NAME)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ export const removeLocalStorage = (name: string) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const removeToken = () => {
|
export const removeToken = () => {
|
||||||
|
removeLocalStorage('userInfo')
|
||||||
removeLocalStorage(TOKEN_NAME)
|
removeLocalStorage(TOKEN_NAME)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user