token过期优化
This commit is contained in:
parent
37daa40c5b
commit
881298cce9
|
|
@ -11,4 +11,9 @@ export const PostLogin = (data: any) =>
|
|||
method: 'post',
|
||||
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 { RequestConfig, RequestInterceptors } from './types'
|
||||
import { storage } from '@/utils'
|
||||
import { request, storage } from '@/utils'
|
||||
import { constant } from '@/config'
|
||||
import { message } from 'antd';
|
||||
import { PostRefresh } from '@/api/Login';
|
||||
class Request {
|
||||
// axios实例
|
||||
instance: AxiosInstance
|
||||
|
|
@ -61,13 +62,22 @@ class Request {
|
|||
},
|
||||
(err: any) => {
|
||||
function toLogin() {
|
||||
storage.removeItem('user')
|
||||
location.href = location.origin + '/#/login'
|
||||
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')
|
||||
location.href = location.origin + '/#/login'
|
||||
}
|
||||
}
|
||||
// 根据自己业务/接口返回做相应调整
|
||||
if (err.response) {
|
||||
const { status } = err.response
|
||||
message.error(err.message)
|
||||
switch (status) {
|
||||
case 401:
|
||||
toLogin()
|
||||
|
|
@ -75,6 +85,9 @@ class Request {
|
|||
case 403:
|
||||
toLogin()
|
||||
break
|
||||
default:
|
||||
message.error(err.message)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
message.error(err.message)
|
||||
|
|
|
|||
Loading…
Reference in New Issue