token过期优化
This commit is contained in:
parent
37daa40c5b
commit
881298cce9
|
|
@ -11,4 +11,9 @@ export const PostLogin = (data: any) =>
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data,
|
data,
|
||||||
})
|
})
|
||||||
|
export const PostRefresh = (refreshToken: string) =>
|
||||||
|
request({
|
||||||
|
url: `auth/refresh?refreshToken=${refreshToken}`,
|
||||||
|
method: 'post',
|
||||||
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
import axios, { AxiosInstance, AxiosResponse } from 'axios'
|
import axios, { AxiosInstance, AxiosResponse } from 'axios'
|
||||||
import { RequestConfig, RequestInterceptors } from './types'
|
import { RequestConfig, RequestInterceptors } from './types'
|
||||||
import { storage } from '@/utils'
|
import { request, storage } from '@/utils'
|
||||||
import { constant } from '@/config'
|
import { constant } from '@/config'
|
||||||
import { message } from 'antd';
|
import { message } from 'antd';
|
||||||
|
import { PostRefresh } from '@/api/Login';
|
||||||
class Request {
|
class Request {
|
||||||
// axios实例
|
// axios实例
|
||||||
instance: AxiosInstance
|
instance: AxiosInstance
|
||||||
|
|
@ -61,13 +62,22 @@ class Request {
|
||||||
},
|
},
|
||||||
(err: any) => {
|
(err: any) => {
|
||||||
function toLogin() {
|
function toLogin() {
|
||||||
|
let user = JSON.parse(storage.getItem('user') as string);
|
||||||
|
if (user) {
|
||||||
|
PostRefresh(user.refresh_token).then(res => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
storage.setItem('user', JSON.stringify(res.data))
|
||||||
|
location.reload()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
storage.removeItem('user')
|
storage.removeItem('user')
|
||||||
location.href = location.origin + '/#/login'
|
location.href = location.origin + '/#/login'
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// 根据自己业务/接口返回做相应调整
|
// 根据自己业务/接口返回做相应调整
|
||||||
if (err.response) {
|
if (err.response) {
|
||||||
const { status } = err.response
|
const { status } = err.response
|
||||||
message.error(err.message)
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case 401:
|
case 401:
|
||||||
toLogin()
|
toLogin()
|
||||||
|
|
@ -75,6 +85,9 @@ class Request {
|
||||||
case 403:
|
case 403:
|
||||||
toLogin()
|
toLogin()
|
||||||
break
|
break
|
||||||
|
default:
|
||||||
|
message.error(err.message)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
message.error(err.message)
|
message.error(err.message)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue