knk
Version:
react components based on react
69 lines (68 loc) • 1.99 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
/**
* api
*/
// import fetch from 'isomorphic-fetch'
import axios from 'axios';
import { isObjEmpty } from './tool';
import STATUS_CODE from './status_code';
var URLS = {
'chance-type': '/chance-type',
'user-list': '/user-list',
'tree-list': '/tree-list',
'rms/resource/getDownloadParam': '/rms/resource/getDownloadParam',
'common-organize-list': '/common-organize-list',
'common-manager-list': '/common-manager-list',
'chance-type-group-list': '/chance-type-group-list',
'chance-type-list': '/chance-type-list',
'search-input-list': '/search-input-list',
'get-tip-popover-list': '/get-tip-popover-list'
};
var customHeader = {
Accept: 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/json;charset=UTF-8'
};
var MthodEnum = {
get: 'GET',
delete: 'DELETE',
head: 'HEAD',
options: 'OPTIONS',
post: 'POST',
put: 'PUT',
patch: 'PATCH',
purge: 'PURGE',
link: 'LINK',
unlink: 'UNLINK'
};
/**
* axios请求
* @param {String} path 请求路径
* @param {Object} data 请求参数
* @param {String} method 请求类型
* @param {Object} opts 请求选项
* @return {Object} Promise对象
*/
function axiosPost(apiPath, apiData, apiMethod, opts) {
var path = apiPath;
if (!path) return Promise.reject(new Error('无效的API地址'));
var option = {
method: null,
credentials: 'include',
headers: customHeader,
params: {}
};
var method = MthodEnum[apiMethod ? apiMethod.toLowerCase() : 'get'];
option.method = method;
if (!isObjEmpty(apiData)) {
option.params = apiData;
}
return axios(path, _objectSpread(_objectSpread({}, option), opts)).then(function (res) {
var data = res.data;
if (res.status !== STATUS_CODE.SUCCESS) {
return Promise.reject(new Error(data.msg));
}
return Promise.resolve(data);
});
}
export { axiosPost as fetch, URLS };