UNPKG

@aecworks/bimbox-bimserver-sdk-js

Version:

AECWorks BIMBox 产品线 BIMServer 的 sdk 的 JavaScript 实现,采用Typescript语言

124 lines 4.92 kB
import Axios from 'axios'; import { interceptors } from './proxy'; var ServiceBase = /** @class */ (function () { function ServiceBase(serviceContext) { var _this = this; this.getRequestConfigWithAuth = function (options) { options.params = options.params || {}; options.headers = options.headers || {}; var userInfo = _this.serviceContext(); options.headers['Authorization'] = userInfo ? 'Bearer ' + (userInfo.access_token || userInfo.accessToken) : ''; // AxiosRequestConfig var result = { params: options.params, headers: options.headers, timeout: options.timeout ? options.timeout * 1000 : _this.requestTimeout, onUploadProgress: options.onUploadProgress, }; if (options.cancelToken) { result.cancelToken = new Axios.CancelToken(options.cancelToken); } return result; }; this.axios = Axios.create({ baseURL: serviceContext.serviceEndpoint, timeout: serviceContext.requestTimeout, withCredentials: typeof serviceContext.withCredentials === 'undefined' ? true : serviceContext.withCredentials, }); this.requestTimeout = serviceContext.requestTimeout; this.serviceContext = serviceContext.info; interceptors(this.axios, serviceContext.isResponseDetail); } ServiceBase.prototype.get = function (options) { // logger.log({ // log: 'get: ' + url, // params: {...params}, // headers: {...headers} // }) var config = this.getRequestConfigWithAuth(options); return this.axios.get(options.url, config); }; ServiceBase.prototype.getWithoutToken = function (options) { var config = { params: options.params, headers: options.headers, timeout: options.timeout || this.requestTimeout, }; if (options.cancelToken) { config.cancelToken = new Axios.CancelToken(function (c) { options.cancelToken = c; }); } return this.axios.get(options.url, config); }; ServiceBase.prototype.postWithoutToken = function (options) { var config = { params: options.params, headers: options.headers, timeout: options.timeout || this.requestTimeout, }; if (options.cancelToken) { config.cancelToken = new Axios.CancelToken(function (c) { options.cancelToken = c; }); } // let config = this.getRequestConfigWithAuth(params, headers); return this.axios.post(options.url, options.data, config); }; ServiceBase.prototype.putWithoutToken = function (options) { var config = { params: options.params, headers: options.headers, timeout: options.timeout || this.requestTimeout, }; if (options.cancelToken) { config.cancelToken = new Axios.CancelToken(function (c) { options.cancelToken = c; }); } return this.axios.put(options.url, options.data, config); }; ServiceBase.prototype.post = function (options) { // logger.log({ // log: 'post: ' + url, // data: {...data}, // params: {...params}, // headers: {...headers} // }) var config = this.getRequestConfigWithAuth(options); return this.axios.post(options.url, options.data, config); }; ServiceBase.prototype.put = function (options) { // logger.log({ // log: 'put: ' + url, // data: {...data}, // params: {...params}, // headers: {...headers} // }) var config = this.getRequestConfigWithAuth(options); return this.axios.put(options.url, options.data, config); }; ServiceBase.prototype.delete = function (options) { // logger.log({ // log: 'put: ' + url, // params: {...params}, // headers: {...headers} // }) var config = this.getRequestConfigWithAuth(options); config.data = options.data; return this.axios.delete(options.url, config); }; ServiceBase.prototype.patch = function (options) { // logger.log({ // log: 'patch: ' + url, // data: {...data}, // params: {...params}, // headers: {...headers} // }) var config = this.getRequestConfigWithAuth(options); return this.axios.patch(options.url, options.data, config); }; return ServiceBase; }()); export default ServiceBase; //# sourceMappingURL=base.js.map