UNPKG

easy-api-client

Version:

开源项目服务端api框架easy-spring-boot-api的typescript客户端api对接工具包

126 lines (125 loc) 4.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApiSysParamSetPreHandler = exports.ApiSignPreHandler = exports.ApiEncryptPreHandler = void 0; var ApiClient_1 = require("../ApiClient"); var EncryptUtil_1 = require("../../utils/EncryptUtil"); var ApiEncryptPreHandler = /** @class */ (function () { function ApiEncryptPreHandler() { } ApiEncryptPreHandler.newInstance = function () { return new ApiEncryptPreHandler(); }; ApiEncryptPreHandler.prototype.handle = function (api, options, data) { if (!api.encryptRequest) { return data; } api.encryptParams && api.encryptParams.forEach(function (paramKey) { var value = data[paramKey]; if (typeof value === "string") { //字符串类型才可以加密 try { var content = EncryptUtil_1.EncryptUtil.encrypt(value, options.secret); data[paramKey] = content; } catch (e) { console.warn("\u53C2\u6570[".concat(value, "]\u52A0\u5BC6\u5931\u8D25!")); } } }); return data; }; ApiEncryptPreHandler.prototype.order = function () { return -1; //在加签处理器执行后执行 }; return ApiEncryptPreHandler; }()); exports.ApiEncryptPreHandler = ApiEncryptPreHandler; var ApiSignPreHandler = /** @class */ (function () { function ApiSignPreHandler() { } ApiSignPreHandler.newInstance = function () { return new ApiSignPreHandler(); }; ApiSignPreHandler.prototype.convertToSignParams = function (signParams, ignoreSignParams, key, value) { var _this = this; if (value instanceof Array) { //数组 if (ignoreSignParams.has("".concat(key))) { return; } var arr = value; arr.forEach(function (v, i) { _this.convertToSignParams(signParams, ignoreSignParams, "".concat(key, "[").concat(i, "]"), v); }); } else if (typeof value === 'object' && value != null) { Object.keys(value).filter(function (subKey) { return !ignoreSignParams.has("".concat(key, ".").concat(subKey)); }).forEach(function (subKey) { _this.convertToSignParams(signParams, ignoreSignParams, "".concat(key, ".").concat(subKey), value[subKey]); }); } else { signParams[key] = value; } }; ApiSignPreHandler.prototype.handle = function (api, options, data) { var _this = this; if (!api.needSign) { return data; } data = data || {}; if (!api.ignoreSignParams) { api.ignoreSignParams = []; } api.ignoreSignParams.push('parameters'); var ignoreSignParams = new Set(api.ignoreSignParams); var signParams = {}; Object.keys(data).filter(function (key) { return !ignoreSignParams.has(key); }).forEach(function (key) { var value = data[key]; _this.convertToSignParams(signParams, ignoreSignParams, key, value); }); data.parameters && Object.keys(data.parameters).filter(function (key) { return !ignoreSignParams.has(key); }).forEach(function (key) { var value = data.parameters[key]; _this.convertToSignParams(signParams, ignoreSignParams, key, value); }); var timestamp = Date.now(); data.sign = EncryptUtil_1.EncryptUtil.signSHA1Hex(signParams, timestamp, options.secret); data.timestamp = timestamp; return data; }; ApiSignPreHandler.prototype.order = function () { //最先执行加签 return -2; }; return ApiSignPreHandler; }()); exports.ApiSignPreHandler = ApiSignPreHandler; var ApiSysParamSetPreHandler = /** @class */ (function () { function ApiSysParamSetPreHandler() { } ApiSysParamSetPreHandler.newInstance = function () { return new ApiSysParamSetPreHandler(); }; ApiSysParamSetPreHandler.prototype.handle = function (api, options, data) { data.appId = options.appId; if (options.locale == null) { // 默认不传 } else if (typeof options.locale == 'string') { data.locale = options.locale; } else { data.locale = options.locale(); } if (ApiClient_1.CurrentLoginUserInfo.online) { data.sessionId = ApiClient_1.CurrentLoginUserInfo.sessionId; } data.clientId = ApiClient_1.CurrentLoginUserInfo.deviceId; data.versionCode = options.versionCode; return data; }; ApiSysParamSetPreHandler.prototype.order = function () { return 999; //最后执行 }; return ApiSysParamSetPreHandler; }()); exports.ApiSysParamSetPreHandler = ApiSysParamSetPreHandler;