@discuzq/sdk
Version:
discuz dsk
91 lines (75 loc) • 3.25 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _request = _interopRequireDefault(require("../request"));
var _validator = require("../request/validator");
var _qs = _interopRequireDefault(require("qs"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
/**
* 请求的 API 基类
* 目前主要是用于初始化
*/
var RequestAPI = /*#__PURE__*/function () {
/**
* 请求api的构造函数
* @param {axios config} options axios 的配置
*/
function RequestAPI(options) {
(0, _classCallCheck2.default)(this, RequestAPI);
this.axiosConfig = _objectSpread(_objectSpread({}, options), {}, {
timeoutErrorMessage: ''
});
this.createHttp();
}
/**
* 初始化默认请求实例
*/
(0, _createClass2.default)(RequestAPI, [{
key: "createHttp",
value: function createHttp() {
this.http = _request.default.create(_objectSpread({
isValidate: true,
withCredentials: true,
timeout: 1000,
paramsSerializer: function paramsSerializer(params) {
// https://www.npmjs.com/package/qs
return _qs.default.stringify(params, {
arrayFormat: 'indices',
encode: false
});
}
}, this.axiosConfig));
this.setHttpRequestInterceptors();
this.setHttpResponseInterceptors();
}
/**
* 设置默认的请求拦截器
*/
}, {
key: "setHttpRequestInterceptors",
value: function setHttpRequestInterceptors() {
// 校验参数处理
this.http.interceptors.request.use(_validator.validateParameter, function (e) {
return e;
}, {
synchronous: true
});
}
/**
* 设置默认的响应实例
*/
}, {
key: "setHttpResponseInterceptors",
value: function setHttpResponseInterceptors() {// 请求响应处理,可以写多个请求响应的拦截处理
}
}]);
return RequestAPI;
}();
exports.default = RequestAPI;