request.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import Axios from 'axios'
  2. // 创建axios
  3. const axios = Axios.create({
  4. headers: {
  5. 'Content-Type': 'application/json'
  6. },
  7. timeout: 600000, // 超时
  8. baseURL: 'http://192.168.0.166:5000' // 请求接口地址,这里使用本项目地址,因为我们是前后端分离,后面需要在vue.config.js里面配置代理,实际请求得地址不是这个。
  9. })
  10. // 请求拦截
  11. axios.interceptors.request.use(req => {
  12. if (req.method === 'get') {
  13. const url = req.url
  14. const t = new Date().getTime()
  15. if (url.indexOf('?') >= 0) {
  16. req.url = `${url}&t=${t}`
  17. } else {
  18. req.url = `${url}?t=${t}`
  19. }
  20. }
  21. return req
  22. })
  23. // 响应拦截
  24. axios.interceptors.response.use(
  25. response => {
  26. return response.data
  27. },
  28. error => {
  29. // 响应失败统一处理
  30. // const { response } = error
  31. // if (response) {
  32. // switch (response.status) {
  33. // case 400:
  34. // window.$vm.$message.error('请求无效')
  35. // break
  36. // case 401:
  37. // window.$vm.$message.error({ message: '尚未登录请重新登录' })
  38. // break
  39. // case 403:
  40. // window.$vm.$message.error('您没有权限这样做,请联系管理员')
  41. // break
  42. // case 404:
  43. // window.$vm.$message.error('请求未找到')
  44. // break
  45. // case 500:
  46. // window.$vm.$message.error('系统异常')
  47. // break
  48. // case 504:
  49. // window.$vm.$message.error('请求超时,请稍后再试')
  50. // break
  51. // default:
  52. // window.$vm.$message.error('系统异常')
  53. // break
  54. // }
  55. // }
  56. // return Promise.reject(error)
  57. console.log(error)
  58. }
  59. )
  60. export default axios