request.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // import axios from "axios";
  2. import store from "../store";
  3. import router from "../router";
  4. import qs from "qs"
  5. // 创建axios实例
  6. const service = axios.create({
  7. baseURL: "/api",//process.env.VUE_APP_URL, // api 的 VUE_APP_URL
  8. timeout: 30000 // 请求超时时间
  9. });
  10. // request拦截器,在请求之前做一些处理
  11. service.interceptors.request.use(
  12. config => {
  13. if(config.url != "/report/editReport" && config.url != "/project/editProject") {
  14. config.data = qs.stringify(config.data);
  15. config.headers["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
  16. } else {
  17. config.dataType = "json";
  18. // config.headers["dataType"] = "json";
  19. config.processData= false;
  20. config.contentType= false;
  21. }
  22. if (localStorage.userInfo) {
  23. config.headers["Token"] = JSON.parse(localStorage.userInfo).id;
  24. }
  25. return config;
  26. },
  27. error => {
  28. return Promise.reject(error);
  29. }
  30. );
  31. // response 拦截器,数据返回后进行一些处理
  32. service.interceptors.response.use(
  33. response => {
  34. if(response.status == 200) {
  35. const res = response.data;
  36. return res;
  37. } else {
  38. return Promise.reject("网络异常");
  39. }
  40. // if (res.code == "666") {
  41. // return res;
  42. // } else if (res.code == "603") {
  43. // // code为603代表token已经失效,
  44. // // 提示用户,然后跳转到登陆页面
  45. // router.push("/login");
  46. // } else {
  47. // Promise.reject(res);
  48. // }
  49. },
  50. error => {
  51. return Promise.reject("网络异常");
  52. }
  53. );
  54. export default service;