fsl-js-sdk
Version:
sdk for web
46 lines (45 loc) • 1.6 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.initRequestQuery = exports.request = void 0;
var axios_1 = __importDefault(require("axios"));
exports.request = axios_1.default.create({ withCredentials: true, timeout: 10000 });
exports.request.interceptors.response.use(function (response) {
var data = response.data;
if (data.redirectURL) {
return data;
}
if (data.code !== 0) {
return Promise.reject(data);
}
if (data.code === 0 &&
data.data &&
data.data.error &&
data.data.error.length) {
return Promise.reject(data);
}
return data.data;
}, Promise.reject);
var once = function () {
var lock = null;
var tokenStr = '';
return function (token) {
tokenStr = token;
if (lock) {
return;
}
lock = Promise.resolve().then(function () {
exports.request.interceptors.request.use(function (request) {
var _a;
var _b = ((_a = request.url) === null || _a === void 0 ? void 0 : _a.split('?')) || [], url = _b[0], search = _b[1];
var urlSearchParams = new URLSearchParams(search);
urlSearchParams.set('token', tokenStr);
request.url = "".concat(url, "?").concat(urlSearchParams.toString());
return request;
}, Promise.reject);
});
};
};
exports.initRequestQuery = once();