@aecworks/bimbox-bimserver-sdk-js
Version:
AECWorks BIMBox 产品线 BIMServer 的 sdk 的 JavaScript 实现,采用Typescript语言
124 lines • 4.92 kB
JavaScript
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