http.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import axios from 'axios'
  2. // import qs from 'qs'
  3. var isProduction = process.env.NODE_ENV === 'production'
  4. // 配置请求域名
  5. const serverName = isProduction ? '' : 'http://8.135.106.227:8009/'
  6. const serverLocation = isProduction ? '' : 'http://8.135.106.227:8009/'
  7. axios.defaults.baseURL = serverName
  8. axios.defaults.headers['X-Requested-with'] = 'XMLHttpRequest'
  9. axios.defaults.headers['token'] = window.localStorage.getItem('token')
  10. const expectUrls = ['/manage/file/upload']
  11. axios.interceptors.request.use(function (config) {
  12. for (let i = 0; i < expectUrls.length; i++) {
  13. const element = expectUrls[i];
  14. if(element == config.url){
  15. return config
  16. }
  17. }
  18. if (config.method === 'post') {
  19. config.data = {
  20. ...config.data,
  21. rnd: Math.random()
  22. }
  23. // config.data = qs.stringify(config.data)
  24. } else if (config.method === 'get') {
  25. config.params = {
  26. rnd: Math.random(),
  27. ...config.params
  28. }
  29. // config.params = qs.stringify(config.params)
  30. }
  31. return config
  32. }, function (error) {
  33. // 对请求错误做些什么
  34. return Promise.reject(error)
  35. })
  36. // 配置response拦截器
  37. axios.interceptors.response.use(
  38. response => {
  39. let data = response.data
  40. let code = Number(response.data.code)
  41. switch (code) {
  42. case -1:
  43. break
  44. case 4500:
  45. break
  46. case 5001:
  47. break
  48. case 5002:
  49. break
  50. case 500:
  51. break
  52. case 0:
  53. break
  54. }
  55. // tryHideFullScreenLoading()
  56. return data
  57. },
  58. error => {
  59. return Promise.reject(error)
  60. }
  61. )
  62. export { serverName, axios, serverLocation }