UNPKG

node-easywechat

Version:

EasyWechat SDK for Node.js (NOT OFFICIAL)

65 lines (64 loc) 2.06 kB
'use strict'; const PrivateKey_1 = require("../Core/Support/PrivateKey"); const PublicKey_1 = require("../Core/Support/PublicKey"); class Merchant { constructor(mchId, privateKey, certificate, secretKey, v2SecretKey = null, platformCerts = []) { this.mchId = mchId; this.secretKey = secretKey; this.v2SecretKey = v2SecretKey; this.platformCerts = {}; if (!(privateKey instanceof PrivateKey_1.PrivateKey)) { this.privateKey = new PrivateKey_1.PrivateKey(privateKey); } else { this.privateKey = privateKey; } if (!(certificate instanceof PublicKey_1.PublicKey)) { this.certificate = new PublicKey_1.PublicKey(certificate); } else { this.certificate = certificate; } this.platformCerts = this.normalizePlatformCerts(platformCerts); } /** * 统一规范化平台证书 * @param platformCerts 平台证书列表 * @returns */ normalizePlatformCerts(platformCerts) { let certs = {}; let isArray = Array.isArray(platformCerts); for (let key in platformCerts) { let publicKey = platformCerts[key]; if (typeof publicKey === 'string') { publicKey = new PublicKey_1.PublicKey(publicKey); } if (!(publicKey instanceof PublicKey_1.PublicKey)) { throw new Error('Invalid platform certficate.'); } certs[isArray ? publicKey.getSerialNo() : key] = publicKey; } return certs; } getMerchantId() { return this.mchId; } getPrivateKey() { return this.privateKey; } getSecretKey() { return this.secretKey; } getV2SecretKey() { return this.v2SecretKey; } getCertificate() { return this.certificate; } getPlatformCert(serial) { var _a; return (_a = this.platformCerts[serial]) !== null && _a !== void 0 ? _a : null; } } module.exports = Merchant;