UNPKG

@discuzq/sdk

Version:

discuz dsk

91 lines (75 loc) 3.25 kB
"use strict"; 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;