@lark-project/cli
Version:
飞书项目插件开发工具
75 lines (74 loc) • 3.64 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.request = void 0;
const axios_1 = __importStar(require("axios"));
const env_1 = require("../utils/env");
const logger_1 = require("../utils/logger");
const codeMsgMap = {
1000050272: 'No permission',
1000051991: 'The directory structure of the compressed package is faulty', // 压缩包目录结构报错
1000051990: 'An error occurs when opening the compressed package', // 打开压缩包报错
1000051989: 'The plug-in file version already exists', // 插件文件版本已存在
1000051988: 'Plug-in file not supported (file type or size)', // 插件文件不支持(文件类型或大小)
1000052041: 'Plug-in current version is less than or equal to the latest version, please change version before release',
};
async function request(url, config = {}) {
var _a;
logger_1.logger.debug('request', config.method, url, 'with', env_1.env.ttEnv);
config.headers = Object.assign(Object.assign({}, (config.headers || {})), { 'x-lark-gw': 1 });
// for debug env
if (env_1.env.ttEnv) {
config.headers['x-tt-env'] = env_1.env.ttEnv;
if (env_1.env.ttEnv.startsWith('ppe')) {
config.headers['x-use-ppe'] = 1;
}
if (env_1.env.ttEnv.startsWith('boe')) {
config.headers['x-use-boe'] = 1;
}
}
const response = await (0, axios_1.default)(url, config).catch(e => {
var _a, _b, _c;
if ((0, axios_1.isAxiosError)(e)) {
logger_1.logger.debug('response', (_a = e.response) === null || _a === void 0 ? void 0 : _a.status, (_b = e.response) === null || _b === void 0 ? void 0 : _b.headers['x-tt-logid'], (_c = e.response) === null || _c === void 0 ? void 0 : _c.data);
}
throw e;
});
logger_1.logger.debug('response', response.status, response.headers['x-tt-logid']);
// 符合后端接口结构的请求直接按 code 解析
if (typeof response.data === 'object' && 'code' in response.data) {
const { code, error, data, msg } = response.data;
if (code !== 0) {
const errMsg = ((_a = error.localizedMessage) === null || _a === void 0 ? void 0 : _a.message) || msg || codeMsgMap[response.data.error.id];
logger_1.logger.debug('response error code', code, errMsg);
throw Error(errMsg);
}
logger_1.logger.debug('response data', JSON.stringify(data, null, 0));
return data;
}
logger_1.logger.debug('response data', response.data);
return response.data;
}
exports.request = request;