shopee-openapi-v2
Version:
shopee open api sdk
42 lines • 3.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Post = exports.Get = exports.createApiByMethod = exports.axios_service = void 0;
/*
* @Author: Monve
* @Date: 2021-09-26 18:11:06
* @LastEditors: Monve
* @LastEditTime: 2022-06-15 16:35:42
* @FilePath: /shopee-openapi-v2/src/utils/request.ts
*/
const sleep_1 = require("@monvechen/sleep");
const axios_1 = require("axios");
const const_1 = require("./const");
exports.axios_service = axios_1.default.create();
function createApiByMethod(method) {
return function (args, request = exports.axios_service) {
return function (target, name) {
target.constructor.prototype[name] = function (data = {}, option) {
async function req(dic, idx = 0) {
const result = await request(dic);
if (result.data.error === 'system_busy') {
if (idx < const_1.api_config.retries) {
idx++;
await (0, sleep_1.sleep)(const_1.api_config.retryDelay(idx));
return req(dic, idx);
}
}
return result;
}
const dic = { method, ...args, ...option };
method === 'get' ? dic.params = data : dic.data = data;
const result = req(dic);
return result;
};
return target;
};
};
}
exports.createApiByMethod = createApiByMethod;
exports.Get = createApiByMethod('get');
exports.Post = createApiByMethod('post');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7R0FNRztBQUNILDRDQUF5QztBQUN6QyxpQ0FBeUU7QUFDekUsbUNBQXFDO0FBRXhCLFFBQUEsYUFBYSxHQUFHLGVBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQTtBQWUzQyxTQUFnQixpQkFBaUIsQ0FBQyxNQUFjO0lBQzlDLE9BQU8sVUFDTCxJQUF3QixFQUN4QixPQUFPLEdBQUcscUJBQWE7UUFFdkIsT0FBTyxVQUFVLE1BQU0sRUFBRSxJQUFJO1lBQzNCLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQWMsQ0FBQyxHQUFHLFVBQzdDLE9BQU8sRUFBUyxFQUNoQixNQUFnQztnQkFFaEMsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFRLEVBQUUsR0FBRyxHQUFHLENBQUM7b0JBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUNqQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLGFBQWEsRUFBRTt3QkFDdkMsSUFBSSxHQUFHLEdBQUcsa0JBQVUsQ0FBQyxPQUFPLEVBQUU7NEJBQzVCLEdBQUcsRUFBRSxDQUFBOzRCQUNMLE1BQU0sSUFBQSxhQUFLLEVBQUMsa0JBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTs0QkFDdkMsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO3lCQUNyQjtxQkFDRjtvQkFDRCxPQUFPLE1BQU0sQ0FBQTtnQkFDZixDQUFDO2dCQUNELE1BQU0sR0FBRyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUE7Z0JBQzFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtnQkFDdEQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUN2QixPQUFPLE1BQU0sQ0FBQTtZQUNmLENBQUMsQ0FBQTtZQUNELE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQTdCRCw4Q0E2QkM7QUFFWSxRQUFBLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUM5QixRQUFBLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQSJ9