text: import axios from 'axios'
  import { Message, MessageBox } from 'element-ui'
  import store from '../store'
  import { getToken } from '@/utils/auth'
  
  // 创建axios实例
  const service = axios.create({
      baseURL: process.env.BASE_API, // api的base_url
      timeout: 15000 // 请求超时时间
  })
  
  // request拦截器
  service.interceptors.request.use(config => {
      if (store.getters.token) {
          config.headers['X-Token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
      }
      return config
  }, error => {
      // Do something with request error
      console.log(error) // for debug
      Promise.reject(error)
  })
  
  // respone拦截器
  service.interceptors.response.use(
      response => {
          const res = response.data
          if (res.status !== 1) {
              Message({
                  message: res.msg,
                  type: 'error',
                  duration: 5 * 1000
              })
              if (location.href.indexOf('/login') === -1) {
                  //不在登录界面就报错
                  if (res.status == 404 || res.status == 304) { //被挤掉线
                      MessageBox.confirm('你已被登出，可以取消继续留在该页面，或者重新登录', '确定登出', {
                          confirmButtonText: '重新登录',
                          cancelButtonText: '取消',
                          type: 'warning'
                      }).then(() => {
                          store.dispatch('FedLogOut').then(() => {
                              location.reload() // 为了重新实例化vue-router对象 避免bug
                          })
                      })
                  }
              } else {
                  //如果在登录界面就不报错
                  // return response.data
              }
              if (res.status == 500) { //被挤掉线
                  MessageBox.confirm('服务器正在维护', '确定登出', {
                      confirmButtonText: '重新登录',
                      cancelButtonText: '取消',
                      type: 'warning'
                  }).then(() => {
                      store.dispatch('FedLogOut').then(() => {
                          location.reload() // 为了重新实例化vue-router对象 避免bug
                      })
                  })
              }
              return Promise.reject('error')
          } else {
              return response.data
          }
      },
      error => {
          console.log('err' + error) // for debug
          Message({
              message: error.message,
              type: 'error',
              duration: 5 * 1000
          })
          return Promise.reject(error)
      }
  )
  
  export default service