UNPKG

typed-wx-api

Version:
86 lines 3.32 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WxMpJs = void 0; const mp_base_1 = require("./mp_base"); const crypto_1 = require("../../../crypto"); const crypto_2 = __importDefault(require("crypto")); /** * @internal */ class WxMpJs extends mp_base_1.WxMpBase { /** * 获取微信JS SDK Config的所需参数 * @param param * @group JS_SDK */ getJsConfig(param) { return __awaiter(this, void 0, void 0, function* () { const ticket = yield this.ensureTicket('jsapi'); const nonceStr = crypto_1.WxJsCrypto.createNonceStr(); const timestamp = crypto_1.WxJsCrypto.createTimestamp(); const signature = crypto_1.WxJsCrypto.sign({ jsapi_ticket: ticket.ticket, nonceStr: nonceStr, timestamp: timestamp, url: param.url.split('#')[0] }); return { debug: param.debug, appId: this.appid, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: param.jsApiList, openTagList: param.openTagList || [] }; }); } /** * 获取微信JS SDK Config的所需参数 * @param param * @group JS_SDK */ getCardExtConfig(param) { return __awaiter(this, void 0, void 0, function* () { const apiTicket = yield this.ensureTicket('wx_card'); const timestamp = crypto_1.WxJsCrypto.createTimestamp(); //signCardExt const signature = (function () { const values = [ apiTicket.ticket, param.card_id, timestamp, param.code || '', param.openid || '', param.balance || '' ]; values.sort(); const string = values.join(''); const shaSum = crypto_2.default.createHash('sha1'); shaSum.update(string); return shaSum.digest('hex'); })(); return { timestamp: timestamp, signature: signature, code: param.code || '', openid: param.openid || '', balance: param.balance }; }); } } exports.WxMpJs = WxMpJs; //# sourceMappingURL=mp_js.js.map