Axios.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import axios from 'axios'
  2. import qs from 'qs'
  3. import '../encrypt/rsa'
  4. import '../encrypt/aes'
  5. let fetch = axios.create({
  6. baseURL: "http://api.ignatz.xyz/", // 这里是本地express启动的服务地址
  7. // timeout: 5000 // request timeout
  8. })
  9. // fetch.defaults.withCredentials = true
  10. fetch.interceptors.request.use(config => {
  11. config.headers['X-Requested-With'] = 'XMLHttpRequest'
  12. // let regex = /.*csrftoken=([^;.]*).*$/
  13. // config.headers['X-CSRFToken'] = document.cookie.match(regex) === null ? null : document.cookie.match(regex)[1]
  14. if (config.method === 'post' || config.method === 'put' || config.method === 'delete') {
  15. if (typeof (config.data) !== 'string' && config.headers['Content-Type'] !== 'multipart/form-data') {
  16. config.data = qs.stringify(config.data)
  17. }
  18. }
  19. return config
  20. }, error => {
  21. Promise.reject(error)
  22. })
  23. fetch.interceptors.response.use(async data => {
  24. return data
  25. }, error => {
  26. if (error.response) {
  27. if (error.response.status === 500) {
  28. console.log('服务器错误,请联系管理员处理')
  29. }
  30. console.log('1服务器错误,请联系管理员处理')
  31. return Promise.reject(error.response.data)
  32. } else {
  33. console.log('2服务器错误,请联系管理员处理')
  34. return Promise.reject(error)
  35. }
  36. })
  37. export default fetch