request.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { message } from "antd";
  2. import axios from "axios";
  3. const axiosInstance = axios.create({
  4. baseURL: process.env.REACT_APP_BASE_URL,
  5. timeout: 1200000,
  6. headers: {
  7. 'Content-Type': 'application/json;charset=UTF-8',
  8. Accept: 'application/json',
  9. }
  10. })
  11. // 请求拦截器
  12. axiosInstance.interceptors.request.use((config) => {
  13. config.headers['user-token'] = sessionStorage.getItem('user_token')
  14. config.headers['item-token'] = sessionStorage.getItem('project_token')
  15. return config
  16. })
  17. //响应拦截器
  18. axiosInstance.interceptors.response.use(
  19. response => {
  20. if (response.status === 200) {
  21. return Promise.resolve(response)
  22. } else {
  23. return Promise.reject(response);
  24. }
  25. },
  26. error => {
  27. if (error.response.status) {
  28. switch (error.response.status) {
  29. case 401:
  30. window.location.pathname = "/login"
  31. break
  32. default:
  33. error.response.data = {
  34. code: 404,
  35. msg: '请选择项目'
  36. }
  37. break
  38. }
  39. return Promise.resolve(error.response);
  40. }
  41. }
  42. )
  43. export default axiosInstance