fix(interceptor):修复登录账密错误时无限跳转的问题
This commit is contained in:
parent
ebb32a8cf0
commit
f9486c8706
@ -16,12 +16,12 @@ request.interceptors.request.use(attachAccessToken,authRequestError)
|
|||||||
|
|
||||||
request.interceptors.response.use(
|
request.interceptors.response.use(
|
||||||
handlerefresherror,
|
handlerefresherror,
|
||||||
undefined
|
err => err
|
||||||
)
|
)
|
||||||
|
|
||||||
request.interceptors.response.use(res=>{
|
request.interceptors.response.use(res=>{
|
||||||
return res.data
|
return res.data
|
||||||
},undefined
|
},err => err
|
||||||
)
|
)
|
||||||
|
|
||||||
export default request
|
export default request
|
||||||
@ -6,6 +6,9 @@ let isrefreshing = false
|
|||||||
//待刷新token任务列表
|
//待刷新token任务列表
|
||||||
let queue = []
|
let queue = []
|
||||||
|
|
||||||
|
//不刷新Token白名单
|
||||||
|
let urls = ['/api/auth/refresh','/api/auth/login','/api/auth/register']
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 运行任务队列
|
* 运行任务队列
|
||||||
* @param {*} token
|
* @param {*} token
|
||||||
@ -22,7 +25,7 @@ function runqueque(token) {
|
|||||||
*/
|
*/
|
||||||
export function handlerefresherror(response) {
|
export function handlerefresherror(response) {
|
||||||
const { config, data, status } = response
|
const { config, data, status } = response
|
||||||
if ((data.code == 2009 || status == 401 && config.url != "/api/auth/refresh") && !config._retry) {
|
if ((data.code == 2009 || status == 401 && !urls.includes(config.url)) && !config._retry) {
|
||||||
config._retry = true
|
config._retry = true
|
||||||
if (!isrefreshing) {
|
if (!isrefreshing) {
|
||||||
isrefreshing = true
|
isrefreshing = true
|
||||||
@ -33,7 +36,7 @@ export function handlerefresherror(response) {
|
|||||||
.then(r => {
|
.then(r => {
|
||||||
if (r.code != 1000) {
|
if (r.code != 1000) {
|
||||||
window.location.href = '/auth/login'
|
window.location.href = '/auth/login'
|
||||||
return Promise.reject(r.data)
|
return Promise.reject(r)
|
||||||
}
|
}
|
||||||
const { token, refreshToken } = r.data
|
const { token, refreshToken } = r.data
|
||||||
auth.setAccessToken(token)
|
auth.setAccessToken(token)
|
||||||
|
|||||||
@ -72,6 +72,7 @@ export default {
|
|||||||
const res = await this.$api.login(this.formdata)
|
const res = await this.$api.login(this.formdata)
|
||||||
let msg = ''
|
let msg = ''
|
||||||
let type = 'danger'
|
let type = 'danger'
|
||||||
|
console.log(res)
|
||||||
switch (res.code) {
|
switch (res.code) {
|
||||||
case 2000: msg = '登录成功'; break
|
case 2000: msg = '登录成功'; break
|
||||||
case 2001: msg = '用户名或密码错误'; break
|
case 2001: msg = '用户名或密码错误'; break
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user