service.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import axios from 'axios'
  2. import NProgress from 'nprogress'
  3. import 'nprogress/nprogress.css'
  4. import {Message} from 'element-ui'
  5. const service = axios.create({
  6. timeout: 60000,
  7. // withCredentials: true
  8. });
  9. service.interceptors.request.use(
  10. config => {
  11. if (!config.mute) {
  12. NProgress.start()
  13. }
  14. return config
  15. },
  16. error => {
  17. NProgress.remove();
  18. Message.error('服务异常');
  19. return Promise.reject(error)
  20. }
  21. );
  22. service.interceptors.response.use(
  23. response => {
  24. NProgress.done();
  25. if (response.data.res_info) {
  26. if (response.data.res_info.response_code !== '00000') {
  27. Message.error(response.data.res_info.response_msg)
  28. }
  29. return response.data.body
  30. } else {
  31. if (response.data.code !== 200) {
  32. Message.error(response.data.msg)
  33. }
  34. return response.data.data
  35. }
  36. },
  37. error => {
  38. Message.error('服务异常');
  39. NProgress.done();
  40. if (axios.isCancel(error)) {
  41. return Promise.reject(error)
  42. }
  43. return Promise.reject(error)
  44. }
  45. );
  46. export default service