yeatszhang
11/22/2017 - 9:26 AM

axios http 实例

axios http 实例 #axios #http

import axios from 'axios'
const isDev = process.env.NODE_ENV === 'development'

export const http = axios.create({
  // baseURL: 'http://10.95.38.32:5200/mock/5a018acad26c9527830dd946/'
  baseURL: '/'
})

http.interceptors.response.use(function (response) {
  if (_.get(response, 'data.code') !== 10000) {
    isDev && console.error(response, '请求返回状态码不为10000')
    throw new Error('1')
  } else {
    return response.data.data
  }
}, function (error) {
  if (error.response) {
    if (isDev) {
      console.group('请求发生错误')
      console.log(error.response.data)
      console.log(error.response.status)
      console.log(error.response.headers)
      console.groupEnd()
    }
    throw new Error('2')
  } else if (error.request) {
    if (isDev) {
      console.group('请求发生错误')
      console.log(error.request)
      console.groupEnd()
    }
    throw new Error('3')
  } else {
    if (isDev) {
      console.group('请求发生错误')
      console.error('Error', error.message)
      console.groupEnd()
    }
    throw new Error('4')
  }
})