http.js 2.13 KB
/**axios封装
 * 请求拦截、相应拦截、错误统一处理
 */
import axios from 'axios';
import QS from 'qs';
import store from '../store/index'
// 环境的切换

// var baseURL  ="http://10.0.0.2" 
var baseURL  ="http://51adas.com/" 
if (process.env.NODE_ENV == 'development') {    
    axios.defaults.baseURL = baseURL;
} else if (process.env.NODE_ENV == 'debug') {    
    axios.defaults.baseURL = '';
} else if (process.env.NODE_ENV == 'production') {    
    axios.defaults.baseURL = baseURL;
}
 
// 请求超时时间
axios.defaults.timeout = 10000;
 
// post请求头
axios.defaults.headers.post['Content-Type'] = "application/x-www-form-urlencoded";

// 请求拦截器
axios.interceptors.request.use(    
    config => {        
        config.headers.token = localStorage.getItem("token");        
        return config;    
    },    
    error => {        
        return Promise.error(error);    
});
 
// 响应拦截器
axios.interceptors.response.use(    
    response => {        
        if (response.status === 200) {            
            return Promise.resolve(response);        
        } else {            
            return Promise.reject(response);        
        }    
    },
    // 服务器状态码不是200的情况    
    error => {        
        if (error.response.status) {            
                        
            return Promise.reject(error.response);        
        }       
    }
);


/**
 * get方法,对应get请求
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */

export function get(api, params){    
    return new Promise((resolve, reject) =>{        
        axios.get(api, {            
            params: params        
        }).then(res => {
            resolve(res.data);
        }).catch(err =>{
            reject(err.data)        
    })    
  });
}

export function post(api, params) {
    return new Promise((resolve, reject) => {
         axios.post(api, QS.stringify({data:JSON.stringify(params)}))
        .then(res => {
            resolve(res.data);
        })
        .catch(err =>{
            reject(err.data)
        })
    });
 }