46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
import { getToken, toLogin } from '@/utils'
|
|
import { resolveResError } from './helpers'
|
|
|
|
export function reqResolve(config) {
|
|
// 处理不需要token的请求
|
|
if (config.noNeedToken) {
|
|
return config
|
|
}
|
|
|
|
const token = getToken()
|
|
if (!token) {
|
|
// * 未登录或者token过期的情况下,跳转登录页重新登录
|
|
toLogin()
|
|
return Promise.reject({ code: '-1', message: '未登录' })
|
|
}
|
|
|
|
/**
|
|
* * 加上 token
|
|
* ! 认证方案: JWT Bearer
|
|
*/
|
|
config.headers.Authorization = config.headers.Authorization || 'Bearer ' + token
|
|
|
|
return config
|
|
}
|
|
|
|
export function reqReject(error) {
|
|
return Promise.reject(error)
|
|
}
|
|
|
|
export function repResolve(response) {
|
|
const { noNeedTip } = response.config
|
|
if (response.data?.code !== 0) {
|
|
const { code, message } = resolveResError(response?.data)
|
|
!noNeedTip && $message.error(message)
|
|
return Promise.reject({ code, message, error: response?.data })
|
|
}
|
|
return Promise.resolve(response?.data)
|
|
}
|
|
|
|
export function repReject(error) {
|
|
const { noNeedTip } = error.response?.config || error.config
|
|
const { code, message } = resolveResError(error.response?.data)
|
|
!noNeedTip && $message.error(message)
|
|
return Promise.reject({ code, message, error })
|
|
}
|