|
- /*
- * @Author: linwl
- * @Date: 2020-04-13 14:47:59
- * @LastEditTime: 2023-06-15 10:32:04
- * @LastEditors: JinxChen
- * @Description: axios请求配置
- * @FilePath: \ParentWeb\src\config\request.js
- */
- import axios from 'axios';
- import router from '@/router';
- import { baseApi } from '@/config';
- import prefix from '@/store/prefix';
- const httpProxyPrefix = baseApi;
-
- // create an axios instance axios.create创建一个实例
- const service = axios.create({
- // baseURL: process.env.VUE_APP_BASE_API,
- baseURL: httpProxyPrefix
- // timeout: 5000 // request timeout
- });
-
- const errorHandler = error => {
- // const status = get(error, 'response.status');
- const status = error.response.status;
- console.log(status);
- switch (status) {
- case 400:
- error.message = '请求错误';
- break;
- case 401:
- error.message = '未授权,请登录';
- break;
- case 403:
- error.message = '拒绝访问';
- break;
- case 404:
- error.message = '请求地址出错';
- break;
- case 408:
- error.message = '请求超时';
- break;
- case 500:
- error.message = '服务器内部错误';
- break;
- case 501:
- error.message = '服务未实现';
- break;
- case 502:
- error.message = '网关错误';
- break;
- case 503:
- error.message = '服务器不可用';
- break;
- case 504:
- error.message = '网关超时';
- break;
- case 505:
- error.message = 'HTTP版本不受支持';
- break;
- default:
- break;
- }
- this.$notify({ message: `您的网络异常(${error.message})`, type: 'warning' });
- return Promise.reject(error);
- };
-
- // 请求拦截器,增加 token interceptors拦截
- service.interceptors.request.use(request => {
- if (localStorage.getItem(prefix + 'authToken')) {
- request.headers.AuthToken = localStorage.getItem(prefix + 'authToken');
- } else if (
- window.location.href.indexOf('login') < 0 &&
- window.location.href.indexOf('forgetPassword') < 0 &&
- window.location.href.indexOf('verifyInfos') < 0 &&
- window.location.href.indexOf('register') < 0 &&
- window.location.href.indexOf('verificationLogin') < 0 &&
- window.location.href.indexOf('changePassword') < 0
- ) {
- router.push({ name: 'login' });
- return request;
- }
- // 全局请求统一增加一个 sourcetype: 1的参数跟区分新旧接口
- if (request.method == 'get') {
- request.params = {
- ...request.params,
- sourcetype: 1
- };
- } else if (request.method == 'post') {
- request.data = {
- ...request.data,
- sourcetype: 1
- };
- }
-
- return request;
- }, errorHandler);
-
- export default service;
|