zhanghua
2025-07-16 7c20fd15b7fbc2bd5756b39d5ab655cc849ffcc3
src/utils/request.js
@@ -1,30 +1,58 @@
import axios from 'axios';
const service = axios.create({
    baseURL: 'http://42.193.1.25:8082/', // 请求的公共地址部分
import router from '@/router'
// 引入elementUI
import tip from 'element-ui';
const api = axios.create({
  baseURL: '/', // 请求的公共地址部分
  timeout: 15000
})
// 拦截器
// 请求
service.interceptors.request.use(
  // 请求之前的回调函数
  function (config) {
    const token = localStorage.getItem('token');
    if(token){
      config.headers.authentication = token;
    }
    return config;
  },
  function (error) {
    // Do something with request error
    return Promise.reject(error);
api.interceptors.request.use((config) => {
  const token = sessionStorage.getItem('token');
  const tokenHead = sessionStorage.getItem('tokenHead');
  if (token && tokenHead) {
    config.headers.Authorization = tokenHead + token;
  }
);
  return config;
}, (err) => {
}
)
// 响应
service.interceptors.response.use(
  function (response) {
    return response.data;
api.interceptors.response.use(
  (response) => {
    let result = response.data;
    if (response.headers['content-disposition']) {
         result = {
            contentDisposition: response.headers['content-disposition'],
            data: response.data
        }
    }
    if (response.status === 200 && result.code === 200) {
      return result;
    } else if (response.status === 200 && result.code === 500) {
      return result;
    } else if (response.status === 200 && result.code === 401) {
      tip.Message({
        type: 'warning',
        message: '登录身份已过期',
      })
      router.push('/login');
    } else {
      return result;
    }
  },
  function (error) {
    return Promise.reject(error);
  }
);
export default service;
  (error) => {
    let msg =''
    if (error.code === 'ERR_NETWORK') {
        msg = '网络请求超时'
    }else{
      msg = '网络错误'
    }
    tip.Message({
      type: 'error',
      message: msg
    })
  },
)
export default api;