fix(interceptor):修复登录账密错误时无限跳转的问题

This commit is contained in:
nanxu 2025-06-23 20:21:52 +08:00
parent ebb32a8cf0
commit f9486c8706
3 changed files with 8 additions and 4 deletions

View File

@ -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

View File

@ -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)

View File

@ -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