vue前端接口注意事项

api:

import axios from 'axios'
import qs from 'qs'

//post请求头
axios.defaults.baseURL = 'http://192.168.30.193:8080'; //本地写法
//axios.defaults.baseURL = ''; //线上写法
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';

// http response 拦截器,非登录状态就跳转到登录页面
axios.interceptors.response.use(
    response => {
      let link = window.location.href;
      let l = link.substring(link.indexOf('#'), link.length);
      switch(response.data.code){
        case 200:
            return response;
        case 900:
            location.href = `/?redirect=/selfstation${l}`;
            return;
      }
    },
    error => {
      if (error.response) {
        switch (error.response.data.code) {
          case 0:
            this.$toast.center('获取数据失败');
        }
      }
    return Promise.reject(error.response.data);
});

get方式传递参数:

export const getFuc = (n, name) => {
    return axios.get(`${axios.defaults.baseURL}/plus/tovisit/getFilterSettingsList?risk_id=${n}&name=$(name}`);
};

post方式传递参数:

export const postStatisticsDataList = (params) => {
    return axios.post(`${axios.defaults.baseURL}/plus/tovisit/getStatisticsDataList`, qs.stringify(params));
};
//接口组装json串
export const postStatisticsDataList = (id, d) => {
    let param = new URLSearchParams();
    param.append('id', id);
    param.append('json', JSON.stringify(d));
    return axios.post(`${axios.defaults.baseURL}/plus/tovisit/getStatisticsDataList`, qs.stringify(params));
};

post导出:

export const postExportCustomerList = (data) => {
    let param = new URLSearchParams();
    //传递数组
    param.append('selected', data);
    //传递json串(先转换成字符串方式再传递)
    param.append('condition', JSON.stringify(data));
    return axios.post(`${axios.defaults.baseURL}/plus/Customermanage/exportCustomerList`, param, { responseType: 'blob' });
}

猜你喜欢

转载自www.cnblogs.com/shirliey/p/12334946.html