requestMock.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import axios from 'axios'
  2. import { MessageBox, Message } from 'element-ui'
  3. import store from '@/store'
  4. import { getToken } from '@/utils/auth'
  5. import URL from '@/utils/baseUrl';
  6. // create an axios instance
  7. const service = axios.create({
  8. //千万不能在这里使用绝对地址,这会导致webpack的devserve不生效
  9. //baseURL: URL.testUrl, //老刘服务器
  10. // baseURL: URL.baseUrl, //测试服务器
  11. baseURL: "http://127.0.0.1:4523/m1/4987755-4646495-default/", //冯蕊服务器
  12. //baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
  13. //withCredentials: true, // send cookies when cross-domain requests
  14. timeout: 50000 // request timeout
  15. })
  16. // request interceptor
  17. service.interceptors.request.use(
  18. config => {
  19. // do something before request is sent
  20. if (store.getters.token) {
  21. // let each request carry token
  22. // ['X-Token'] is a custom headers key
  23. // please modify it according to the actual situation
  24. config.headers['token'] = getToken()
  25. }
  26. return config
  27. },
  28. error => {
  29. // do something with request error
  30. console.log(error) // for debug
  31. return Promise.reject(error)
  32. }
  33. )
  34. // response interceptor
  35. service.interceptors.response.use(
  36. /**
  37. * If you want to get http information such as headers or status
  38. * Please return response => response
  39. */
  40. /**
  41. * Determine the request status by custom code
  42. * Here is just an example
  43. * You can also judge the status by HTTP Status Code
  44. */
  45. response => {
  46. const res = response.data
  47. return res
  48. // if the custom code is not 20000, it is judged as an error.
  49. // if (res.code !== 20000) {
  50. // Message({
  51. // message: res.message || 'Error',
  52. // type: 'error',
  53. // duration: 5 * 1000
  54. // })
  55. // // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
  56. // if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
  57. // // to re-login
  58. // MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', {
  59. // confirmButtonText: 'Re-Login',
  60. // cancelButtonText: 'Cancel',
  61. // type: 'warning'
  62. // }).then(() => {
  63. // store.dispatch('user/resetToken').then(() => {
  64. // location.reload()
  65. // })
  66. // })
  67. // }
  68. // return Promise.reject(new Error(res.message || 'Error'))
  69. // } else {
  70. // return res
  71. // }
  72. },
  73. error => {
  74. console.log('err' + error) // for debug
  75. Message({
  76. message: error.message,
  77. type: 'error',
  78. duration: 5 * 10000
  79. })
  80. return Promise.reject(error)
  81. }
  82. )
  83. export default service