import axios from 'axios';
import store from '@/store';

let local = window.location.origin;
if (local.indexOf('localhost') != -1) {
  local = 'http://www.gicdev.com';
}

// 创建axios 实例
const service = axios.create({
  baseURL: local, // api的base_url
  timeout: 20000 // 请求超时时间
})

// request 拦截器
service.interceptors.request.use(
  config => {
    // 这里可以自定义一些config 配置

    // loading + 1
    store.dispatch('SetLoading', true);

    return config;
  },
  error => {
    //  这里处理一些请求出错的情况

    // loading 清 0
    setTimeout(function() {
      store.dispatch('SetLoading', 0);
    }, 300)

    console.log(error)
    Promise.reject(error);
  }
)

// response 拦截器
service.interceptors.response.use(
  response => {
    const res = response.data
      // 这里处理一些response 正常放回时的逻辑

    // loading - 1
    store.dispatch('SetLoading', false)

    return res
  },
  error => {
    // 这里处理一些response 出错时的逻辑

    // loading - 1
    store.dispatch('SetLoading', false)

    return Promise.reject(error)
  }
)

export default service