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(
|
||||
handlerefresherror,
|
||||
undefined
|
||||
err => err
|
||||
)
|
||||
|
||||
request.interceptors.response.use(res=>{
|
||||
return res.data
|
||||
},undefined
|
||||
},err => err
|
||||
)
|
||||
|
||||
export default request
|
||||
@ -6,6 +6,9 @@ let isrefreshing = false
|
||||
//待刷新token任务列表
|
||||
let queue = []
|
||||
|
||||
//不刷新Token白名单
|
||||
let urls = ['/api/auth/refresh','/api/auth/login','/api/auth/register']
|
||||
|
||||
/**
|
||||
* 运行任务队列
|
||||
* @param {*} token
|
||||
@ -22,7 +25,7 @@ function runqueque(token) {
|
||||
*/
|
||||
export function handlerefresherror(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
|
||||
if (!isrefreshing) {
|
||||
isrefreshing = true
|
||||
@ -33,7 +36,7 @@ export function handlerefresherror(response) {
|
||||
.then(r => {
|
||||
if (r.code != 1000) {
|
||||
window.location.href = '/auth/login'
|
||||
return Promise.reject(r.data)
|
||||
return Promise.reject(r)
|
||||
}
|
||||
const { token, refreshToken } = r.data
|
||||
auth.setAccessToken(token)
|
||||
|
||||
@ -72,6 +72,7 @@ export default {
|
||||
const res = await this.$api.login(this.formdata)
|
||||
let msg = ''
|
||||
let type = 'danger'
|
||||
console.log(res)
|
||||
switch (res.code) {
|
||||
case 2000: msg = '登录成功'; break
|
||||
case 2001: msg = '用户名或密码错误'; break
|
||||
|
||||
Loading…
Reference in New Issue
Block a user