axios.js 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. import axios from 'axios'
  2. import mock from '@/api/mock'
  3. console.log('[debug]当前环境:', process.env)
  4. const service = axios.create({
  5. baseURL: process.env.VUE_APP_BASE_API
  6. })
  7. service.interceptors.request.use(config => {
  8. // 在请求发送之前做一些事
  9. return config
  10. }, function (error) {
  11. // 当出现请求错误是做一些事
  12. console.log('--请求超时--', error)
  13. return Promise.reject(error)
  14. })
  15. // 添加一个返回拦截器
  16. service.interceptors.response.use(response => {
  17. // 此处添加响应拦截
  18. if (process.env.NODE_ENV === 'production' && response.config && !response.config.noIntercept && !window.$noIntercept) {
  19. const noPermissionText = ['未登录', '需要登录', '需要登录!']
  20. const noPermission = noPermissionText.includes(response.data.error_msg)
  21. if (noPermission) {
  22. location.href = '/notin/page'
  23. }
  24. }
  25. return response.data
  26. })
  27. const useMock = process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK === 'true'
  28. export default useMock ? mock : service