request.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import axios from 'axios'; // 引入axios
  2. import { Message } from 'element-ui';
  3. import { store } from '@/store/index'
  4. const service = axios.create({
  5. baseURL: process.env.VUE_APP_BASE_API,
  6. timeout: 5000
  7. })
  8. //http request 拦截器
  9. service.interceptors.request.use(
  10. config => {
  11. const token = store.getters['user/token']
  12. config.data = JSON.stringify(config.data);
  13. config.headers = {
  14. 'Content-Type': 'application/json',
  15. 'x-token': token
  16. }
  17. return config;
  18. },
  19. error => {
  20. Message({
  21. showClose: true,
  22. message: error,
  23. type: 'error'
  24. })
  25. return Promise.reject(error);
  26. }
  27. );
  28. //http response 拦截器
  29. service.interceptors.response.use(
  30. response => {
  31. if (response.data.success) {
  32. return response.data
  33. } else {
  34. Message({
  35. showClose: true,
  36. message: response.data.msg,
  37. type: 'error'
  38. })
  39. return Promise.reject(response.data.msg)
  40. }
  41. },
  42. error => {
  43. Message({
  44. showClose: true,
  45. message: error,
  46. type: 'error'
  47. })
  48. return Promise.reject(error)
  49. }
  50. )
  51. export default service