parent
9f034092a9
commit
51c2c354ba
4 changed files with 118 additions and 4 deletions
@ -0,0 +1,71 @@ |
|||||||
|
import Cookie from 'js-cookie' |
||||||
|
// 401拦截
|
||||||
|
const resp401 = { |
||||||
|
/** |
||||||
|
* 响应数据之前做点什么 |
||||||
|
* @param response 响应对象 |
||||||
|
* @param options 应用配置 包含: {router, i18n, store, message} |
||||||
|
* @returns {*} |
||||||
|
*/ |
||||||
|
onFulfilled(response, options) { |
||||||
|
const {message} = options |
||||||
|
if (response.status === 401) { |
||||||
|
message.error('无此接口权限') |
||||||
|
} |
||||||
|
return response |
||||||
|
}, |
||||||
|
/** |
||||||
|
* 响应出错时执行 |
||||||
|
* @param error 错误对象 |
||||||
|
* @param options 应用配置 包含: {router, i18n, store, message} |
||||||
|
* @returns {Promise<never>} |
||||||
|
*/ |
||||||
|
onRejected(error, options) { |
||||||
|
const {message} = options |
||||||
|
message.error(error.message) |
||||||
|
return Promise.reject(error) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
const resp403 = { |
||||||
|
onFulfilled(response, options) { |
||||||
|
const {message} = options |
||||||
|
if (response.status === 403) { |
||||||
|
message.error(`请求被拒绝`) |
||||||
|
} |
||||||
|
return response |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
const reqCommon = { |
||||||
|
/** |
||||||
|
* 发送请求之前做些什么 |
||||||
|
* @param config axios config |
||||||
|
* @param options 应用配置 包含: {router, i18n, store, message} |
||||||
|
* @returns {*} |
||||||
|
*/ |
||||||
|
onFulfilled(config, options) { |
||||||
|
const {message} = options |
||||||
|
const {url, xsrfCookieName} = config |
||||||
|
if (url.indexOf('login') === -1 && xsrfCookieName && !Cookie.get(xsrfCookieName)) { |
||||||
|
message.warning('认证 token 已过期,请重新登录') |
||||||
|
} |
||||||
|
return config |
||||||
|
}, |
||||||
|
/** |
||||||
|
* 请求出错时做点什么 |
||||||
|
* @param error 错误对象 |
||||||
|
* @param options 应用配置 包含: {router, i18n, store, message} |
||||||
|
* @returns {Promise<never>} |
||||||
|
*/ |
||||||
|
onRejected(error, options) { |
||||||
|
const {message} = options |
||||||
|
message.error(error.message) |
||||||
|
return Promise.reject(error) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
request: [reqCommon], // 请求拦截
|
||||||
|
response: [resp401, resp403] // 响应拦截
|
||||||
|
} |
Loading…
Reference in new issue