UNPKG

shopee-openapi-v2

Version:
143 lines 12.3 kB
"use strict"; /* * @Author: Monve * @Date: 2022-03-10 11:46:01 * @LastEditors: Monve * @LastEditTime: 2022-07-12 16:02:44 * @FilePath: /shopee-openapi-v2/src/index.ts */ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const const_1 = require("./utils/const"); const request_1 = require("./utils/request"); const sign_1 = require("./utils/sign"); const queryString = require("query-string"); const chat_1 = require("./chat"); const shop_1 = require("./shop"); const voucher_1 = require("./voucher"); const product_1 = require("./product"); const order_1 = require("./order"); const logistics_1 = require("./logistics"); const payment_1 = require("./payment"); const returns_1 = require("./returns"); const public_1 = require("./public"); const push_1 = require("./push"); const axios_1 = require("axios"); class ShopeeOpenApi { constructor() { this.product = new product_1.ProductApi(); this.shop = new shop_1.ShopApi(); this.order = new order_1.OrderApi(); this.logistics = new logistics_1.LogisticsApi(); this.payment = new payment_1.PaymentApi(); this.returns = new returns_1.ReturnsApi(); this.public = new public_1.PublicApi(); this.push = new push_1.PushApi(); this.chat = new chat_1.ChatApi(); this.vocher = new voucher_1.VoucherApi(); this.setAppConfig = ({ partner_id, partner_key, is_dev, redirect, retries = 0, retryDelay = (retryCount) => Math.pow(retryCount, 2) * 1000 }) => { this.partner_id = Number(partner_id); this.partner_key = partner_key; this.is_dev = is_dev; this.redirect = redirect; const_1.api_config.retries = retries; const_1.api_config.retryDelay = retryDelay; }; const results = [(res) => res, (error) => { if (error.response && error.response.data) { return error.response; } throw error; }]; function tsS() { return Math.round(new Date().getTime() / 1000); } this.chat.uploadImage = ({ shop_id, access_token, file }) => { const url = this.generateParamsString('/api/v2/sellerchat/upload_image', tsS(), access_token, shop_id); return axios_1.default.post(url, file, { baseURL: this.is_dev ? const_1.BASE_URL.test : const_1.BASE_URL.live, headers: { ...file.getHeaders() } }).then(...results); }; request_1.axios_service.interceptors.request.use((config) => { if (!config.headers) { config.headers = {}; } config.headers['Content-Type'] = "application/json"; config.baseURL = this.is_dev ? const_1.BASE_URL.test : const_1.BASE_URL.live; const system_params = { partner_id: this.partner_id, timestamp: tsS() }; const data = { ...(config.method === 'get' ? config.params : config.data) }; const { timestamp } = system_params; const { access_token, shop_id } = data; if (config.params) { delete config.params.access_token; delete config.params.shop_id; Object.keys(config.params).map((key) => { if (Array.isArray(config.params[key])) { config.params[key] = config.params[key].join(','); } }); } config.data = toJson(config.data); config.url = this.generateParamsString(config.url || '', timestamp, access_token, shop_id); return config; }, error => { console.log(error); Promise.reject(error); }); request_1.axios_service.interceptors.response.use(...results); } generateParamsString(path, timestamp, access_token, shop_id) { const params = [ this.partner_id.toString(), path, timestamp.toString() ]; if (access_token && shop_id) { params.push(access_token, shop_id.toString()); } const sign = (0, sign_1.signRequest)(this.partner_key, params); let json = { partner_id: this.partner_id, timestamp, sign }; if (shop_id && access_token) { json = { ...json, shop_id, access_token }; } return `${path}?${queryString.stringify(json)}`; } generateLink(path) { const origin = this.is_dev ? const_1.BASE_URL.test : const_1.BASE_URL.live; const timestamp = Math.round(new Date().getTime() / 1000); const url = this.generateParamsString(path, timestamp); return `${origin}${url}&redirect=${this.redirect}`; } getAuthLink() { return this.generateLink('/api/v2/shop/auth_partner'); } getUnAuthLink() { return this.generateLink('/api/v2/shop/cancel_auth_partner'); } } tslib_1.__decorate([ (0, request_1.Post)({ url: '/api/v2/auth/token/get' }), tslib_1.__metadata("design:type", Function) ], ShopeeOpenApi.prototype, "getAccesstoken", void 0); tslib_1.__decorate([ (0, request_1.Post)({ url: '/api/v2/auth/access_token/get' }), tslib_1.__metadata("design:type", Function) ], ShopeeOpenApi.prototype, "refreshAccessToken", void 0); function toJson(data) { if (data !== undefined) { return JSON.stringify(data, (_, v) => typeof v === 'bigint' ? `${v}n` : v) .replace(/"(-?\d+)n"/g, (_, a) => a); } return data; } exports.default = new ShopeeOpenApi(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgseUNBQW9EO0FBQ3BELDZDQUFnRTtBQUNoRSx1Q0FBMEM7QUFDMUMsNENBQTJDO0FBQzNDLGlDQUFnQztBQUNoQyxpQ0FBZ0M7QUFDaEMsdUNBQXNDO0FBQ3RDLHVDQUFzQztBQUN0QyxtQ0FBa0M7QUFDbEMsMkNBQTBDO0FBQzFDLHVDQUFzQztBQUN0Qyx1Q0FBc0M7QUFDdEMscUNBQW9DO0FBQ3BDLGlDQUFnQztBQUNoQyxpQ0FBNEM7QUFTNUMsTUFBTSxhQUFhO0lBZWpCO1FBVk8sWUFBTyxHQUFHLElBQUksb0JBQVUsRUFBRSxDQUFBO1FBQzFCLFNBQUksR0FBRyxJQUFJLGNBQU8sRUFBRSxDQUFBO1FBQ3BCLFVBQUssR0FBRyxJQUFJLGdCQUFRLEVBQUUsQ0FBQTtRQUN0QixjQUFTLEdBQUcsSUFBSSx3QkFBWSxFQUFFLENBQUE7UUFDOUIsWUFBTyxHQUFHLElBQUksb0JBQVUsRUFBRSxDQUFBO1FBQzFCLFlBQU8sR0FBRyxJQUFJLG9CQUFVLEVBQUUsQ0FBQTtRQUMxQixXQUFNLEdBQUcsSUFBSSxrQkFBUyxFQUFFLENBQUE7UUFDeEIsU0FBSSxHQUFHLElBQUksY0FBTyxFQUFFLENBQUE7UUFDcEIsU0FBSSxHQUFHLElBQUksY0FBTyxFQUFFLENBQUE7UUFDcEIsV0FBTSxHQUFHLElBQUksb0JBQVUsRUFBRSxDQUFBO1FBdURoQyxpQkFBWSxHQUFHLENBQUMsRUFDZCxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFDdEQsVUFBVSxHQUFHLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUM1RCxFQUFFLEVBQUU7WUFDWCxJQUFJ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