UNPKG

knk-react

Version:

react components based on react

58 lines (48 loc) 1.62 kB
"use strict"; 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); }); }