fix(api): 完善401错误处理逻辑
统一处理登录态过期场景,清除token并跳转登录页
This commit is contained in:
@@ -5,6 +5,7 @@ import { get, isEmpty, merge } from 'lodash'
|
|||||||
import qs from 'qs'
|
import qs from 'qs'
|
||||||
import util from '@/libs/util'
|
import util from '@/libs/util'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
|
import router from '@/router'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 记录和显示错误
|
* @description 记录和显示错误
|
||||||
@@ -84,7 +85,8 @@ function createService () {
|
|||||||
switch (response.data.code) {
|
switch (response.data.code) {
|
||||||
case 0: return response.data.data
|
case 0: return response.data.data
|
||||||
case 401:
|
case 401:
|
||||||
errorMessage = '请重新登录'
|
util.cookies.remove('token')
|
||||||
|
router.replace({ name: 'login' })
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
errorMessage = response.data.msg || '请求失败'
|
errorMessage = response.data.msg || '请求失败'
|
||||||
@@ -98,7 +100,11 @@ function createService () {
|
|||||||
const status = get(error, 'response.status')
|
const status = get(error, 'response.status')
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case 400: error.message = '请求错误'; break
|
case 400: error.message = '请求错误'; break
|
||||||
case 401: error.message = '未授权,请登录'; break
|
case 401:
|
||||||
|
util.cookies.remove('token')
|
||||||
|
router.replace({ name: 'login' })
|
||||||
|
error.message = '未授权,请登录'
|
||||||
|
break
|
||||||
case 403: error.message = '拒绝访问'; break
|
case 403: error.message = '拒绝访问'; break
|
||||||
case 404: error.message = `请求地址出错: ${error.response.config.url}`; break
|
case 404: error.message = `请求地址出错: ${error.response.config.url}`; break
|
||||||
case 408: error.message = '请求超时'; break
|
case 408: error.message = '请求超时'; break
|
||||||
|
|||||||
Reference in New Issue
Block a user