knk-react
Version:
react components based on react
58 lines (48 loc) • 1.62 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.fetch = axiosPost;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _axios = _interopRequireDefault(require("axios"));
var _tool = require("./tool");
var _status_code = _interopRequireDefault(require("./status_code"));
/**
* api
*/
// import fetch from 'isomorphic-fetch';
// import fetchJsonp from 'fetch-jsonp';
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 (!(0, _tool.isObjEmpty)(data)) {
option.params = data;
}
return (0, _axios.default)(path, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, option), opts)).then(function (res) {
if (res.status !== _status_code.default.SUCCESS) return Promise.reject(new Error(res.msg));
return Promise.resolve(res.data);
});
}