import axios from "axios";
import { Toast } from 'vant'; 

const baseURL = 'http://192.168.0.41:8080'

axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
axios.defaults.headers['Access-Control-Allow-Origin'] = '*'
// 创建axios实例
const service = axios.create({
  // axios中请求配置有baseURL选项，表示请求URL公共部分
  baseURL: baseURL,
  // 超时
  timeout: 10000
})
//这一步的目的是判断出当前是开发环W境还是生成环境，方法不止一种，达到目的就行
// if(process.env.NODE_ENV=="development"){
//   baseURL=''
// }else{
//   baseURL=''
// }

/* 请求之后的操作 */
service.interceptors.response.use(
    res => {
      //在这里关闭请求时的loading动画效果
      //这里用于处理返回的结果，比如如果是返回401无权限，可能会是跳回到登录页的操作，结合自己的业务逻辑写
      if (res.data.code === 401 ) {
          Toast("无权限操作")
      }
      if (res.data.code === 400 ) {
          Toast("请求网络失败")
      }
      if (res.data.code === 404 ) {
         Toast("请求网络失败")
      }
      return res;
    },
    err => {
      if (err) {
        //在这里关闭请求时的loading动画效果
          Toast("请求网络失败")
      }
      return Promise.reject(err);
    }
  );

//封装post,get方法
const http = {
  get(url='',params={}){
    return new Promise((resolve, reject) => {
      _axios({
        url,
        params,
        headers:{'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
        'Access-Control-Allow-Origin': '*'},
        method: 'GET'
      }).then(res => {
        resolve(res.data)
        return res
      }).catch(error => {
        reject(error)
      })
    })
  },
  post(url='',params={}){
    return new Promise((resolve, reject) => {
      _axios({
        url,
        data:params,
        headers:{'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
        'Access-Control-Allow-Origin': '*'},
        method: 'POST'
      }).then(res => {
        resolve(res.data)
        return res
      }).catch(error => {
        reject(error)
      })
    })
  }
}

export default axios
