knk-react
Version:
react components based on react
48 lines (43 loc) • 1.31 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
/**
* api
*/
// import fetch from 'isomorphic-fetch';
// import fetchJsonp from 'fetch-jsonp';
import axios from 'axios';
import { isObjEmpty } from './tool';
import STATUS_CODE from './status_code';
var URLS = {
'chance-type': '/chance-type',
'user-list': '/user-list'
};
var customHeader = {
Accept: 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/json;charset=UTF-8'
};
/**
* axios请求
* @param {String} path 请求路径
* @param {Object} data 请求参数
* @param {String} method 请求类型
* @param {Object} opts 请求选项
* @return {Object} Promise对象
*/
function axiosPost(action, data, method, opts) {
var path = URLS[action];
if (!path) return Promise.reject(new Error('无效的API地址'));
var option = {
method: method ? method.toLowerCase() : 'get',
credentials: 'include',
headers: customHeader
};
if (!isObjEmpty(data)) {
option.params = data;
}
return axios(path, _objectSpread(_objectSpread({}, option), opts)).then(function (res) {
if (res.status !== STATUS_CODE.SUCCESS) return Promise.reject(new Error(res.msg));
return Promise.resolve(res.data);
});
}
export { axiosPost as fetch };