@xw-tech/jdtbk-sdk
Version:
封装京东开放平台sdk
71 lines (70 loc) • 2.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getApiResponseName = exports.sign = exports.YYYYMMDDHHmmss = exports.md5 = void 0;
const crypto_1 = __importDefault(require("crypto"));
const md5 = function md5(s) {
return crypto_1.default.createHash('md5').update(s).digest('hex');
};
exports.md5 = md5;
const YYYYMMDDHHmmss = function (iptDate, options = {
dateSep: '-',
timeSep: ':',
}) {
const { dateSep, timeSep } = options;
iptDate = iptDate || new Date();
if (!(iptDate instanceof Date)) {
iptDate = new Date(iptDate);
}
let date = iptDate.getDate();
if (date < 10) {
date = '0' + date;
}
let month = iptDate.getMonth() + 1;
if (month < 10) {
month = '0' + month;
}
let hours = iptDate.getHours();
if (hours < 10) {
hours = '0' + hours;
}
let minutes = iptDate.getMinutes();
if (minutes < 10) {
minutes = '0' + minutes;
}
let seconds = iptDate.getSeconds();
if (seconds < 10) {
seconds = '0' + seconds;
}
return (iptDate.getFullYear() +
dateSep +
month +
dateSep +
date +
' ' +
hours +
timeSep +
minutes +
timeSep +
seconds);
};
exports.YYYYMMDDHHmmss = YYYYMMDDHHmmss;
const sign = (params, secret) => {
const sorted = Object.keys(params).sort();
let baseString = secret;
for (let i = 0, l = sorted.length; i < l; i++) {
const k = sorted[i];
baseString += k + params[k];
}
baseString += secret;
console.log(baseString);
return md5(baseString).toUpperCase();
};
exports.sign = sign;
const getApiResponseName = function (apiName) {
const field = `${apiName.replace(/\./g, '_')}_responce`;
return field;
};
exports.getApiResponseName = getApiResponseName;