axios

2019-04-13  本文已影响0人  Clover园
import axios from "axios";
import { Message } from "iview";

axios.defaults.timeout = 30000;
// axios.defaults.baseURL =
//   process.env.NODE_ENV === "development"
//     ? config.baseUrl.dev
//     : config.baseUrl.pro;
//添加请求拦截器
axios.interceptors.request.use(
  function(configs) {
    /* eslint-disable no-undef */
    configs.headers["X-Lang-Id"] =
      uac.cookie.getCookie("DPGSSOLanguage") ||
      uac.cookie.getCookie("PORTALSSOLanguage");
    configs.headers["X-Emp-No"] =
      uac.cookie.getCookie("DPGSSOUser") ||
      uac.cookie.getCookie("PORTALSSOUser");
    configs.headers["X-Auth-Value"] =
      uac.cookie.getCookie("DPGSSOCookie") ||
      uac.cookie.getCookie("PORTALSSOCookie");
    configs.headers["apm_biz_key"] = JSON.stringify({
      "X-Emp-No":
        uac.cookie.getCookie("DPGSSOUser") ||
        uac.cookie.getCookie("PORTALSSOUser")
    });
    return configs;
  },
  function(error) {
    return Promise.reject(error);
  }
);
//添加响应拦截器
axios.interceptors.response.use(
  function(response) {
    const headers = response.headers;
    if (headers['content-type'] === 'application/octet-stream;charset=UTF-8') {
      return response.data;
    }
    const res = response.data;
    if (res.code.code !== "0000") {
      if (res.code.code === "0004") {
        Message.info({
          content: res.bo,
          duration: 10,
          closable: true
        });
      }
      // return Promise.reject(res);
    } else {
      //isok = 0;
    }
    return response;
  },
  function(error) {
    console.log("err" + error);
    return Promise.reject(error);
  }
);

export default {
  //get请求
  get(url, params) {
    //const st = new Date().getTime();
    return new Promise((resolve, reject) => {
      axios
        .get(url, {
          params: params
        })
        .then(response => {
          resolve(response.data);
        })
        .catch(err => {
          reject(err);
        });
    });
  },
  //post请求
  post(url, data, config) {
    //const st = new Date().getTime();
    return new Promise((resolve, reject) => {
      axios
        .post(url, data, config)
        .then(response => {
          resolve(response.data);
        })
        .catch(err => {
          reject(err);
        });
    });
  }
};

上一篇下一篇

猜你喜欢

热点阅读