UNPKG

tsp-component

Version:

提供多端和react版本的UI组件

81 lines (80 loc) 3.21 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); import WebApi from '../ajax/webapi'; import Exception from '../exception'; var Request = (function (_super) { __extends(Request, _super); function Request(config) { var _this = _super.call(this, config.apiHost, { dbName: config.dbName, tableName: config.tableName || 'api' }) || this; _this.config = config; _this.timeoutStr = config.timeoutStr || '网络请求超时'; _this.send = _this.send.bind(_this); return _this; } Request.prototype.ajaxUrlFormat = function (params) { var apiUrl; if (params.api.indexOf('://') >= 0) { apiUrl = params.api; } else { apiUrl = this.config.apiHost + params.api; } return apiUrl; }; Request.prototype.timeoutCallback = function (e, params, defaultCallbackEnable) { if (defaultCallbackEnable === void 0) { defaultCallbackEnable = true; } var timeoutStr = params.timeoutStr ? params.timeoutStr : this.timeoutStr; if (timeoutStr !== 'none' && defaultCallbackEnable && this.config.timeoutCallback) { this.config.timeoutCallback(timeoutStr); } if (params.timeoutCallback) { params.timeoutCallback(); Exception.send({ errorType: 3, details: JSON.stringify(params.params), url: this.ajaxUrlFormat(params), content: "type: " + (params.type || 'POST') }); } }; Request.prototype.successCallback = function (result, status, params) { try { if (params.success) { params.success(result, status); } } catch (e) { Exception.catchSend(e); } }; Request.prototype.send = function (params) { var _this = this; this.post({ api: params.api, type: params.type, timeout: params.timeout ? params.timeout : 0, params: params.params ? params.params : {}, contentType: params.contentType, customHeader: params.customHeader || this.config.customHeader, timeoutCallback: function (e) { if (_this.timeoutCallback) { _this.timeoutCallback(e, params); } }, success: function (result, status) { return _this.successCallback(result, status, params); }, complete: params.complete, isCache: params.isCache, cacheReadSuccess: params.cacheReadSuccess }); }; return Request; }(WebApi)); export default Request;