request.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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 qs from 'qs'
  6. // create an axios instance
  7. const service = axios.create({
  8. baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
  9. // withCredentials: true, // send cookies when cross-domain requests
  10. timeout: 30000 // request timeout
  11. })
  12. // request interceptor
  13. service.interceptors.request.use(
  14. config => {
  15. // do something before request is sent
  16. // console.log("config1",config);
  17. if(store.getters.token){
  18. // config.headers['token']=store.getters.token;
  19. config.data = {
  20. ...config.data,
  21. token: store.getters.token
  22. }
  23. // config.headers={
  24. // ...{
  25. // 'Accept':'application/json, text/plain, */*',
  26. // 'Content-Type':'application/x-www-form-urlencoded',
  27. // 'token':store.getters.token
  28. // }
  29. // }
  30. }
  31. // console.log("config2",config);
  32. config.data = qs.stringify(config.data);
  33. // console.log("config2",config);
  34. // config.headers={
  35. // 'Content-Type': 'multipart/form-data',
  36. // 'token':store.getters.token,
  37. // }
  38. return config
  39. },
  40. error => {
  41. return Promise.reject(error)
  42. }
  43. )
  44. // response interceptor
  45. service.interceptors.response.use(
  46. /**
  47. * If you want to get http information such as headers or status
  48. * Please return response => response
  49. */
  50. /**
  51. * Determine the request status by custom code
  52. * Here is just an example
  53. * You can also judge the status by HTTP Status Code
  54. */
  55. response => {
  56. const res = response.data
  57. // if the custom code is not 20000, it is judged as an error.
  58. if (Number(res.status) !== 200) {
  59. Message({
  60. message: res.errMsg ||res.message,// 'Error'||
  61. type: 'error',
  62. duration: 5 * 1000
  63. })
  64. } else {
  65. return res
  66. }
  67. },
  68. error => {
  69. // console.log('err' + error) // for debug
  70. // Message({
  71. // message: error.message,
  72. // type: 'error',
  73. // duration: 5 * 1000
  74. // })
  75. return Promise.reject(error)
  76. }
  77. )
  78. export default service