UNPKG

@tnwx/wxmp

Version:

TNWX 微信系开发脚手架之极速开发微信公众号

64 lines 2.79 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const util = require("util"); const urlencode = require("urlencode"); const accesstoken_1 = require("@tnwx/accesstoken"); const kits_1 = require("@tnwx/kits"); /** * @author Javen * @copyright javendev@126.com * @description 一次性订阅消息 */ class SubscribeMsgApi { /** * 获取授权URL * @param scene 0-10000 场景值 * @param templateId 订阅消息模板ID * @param redirectUrl * @param reserved 可以填写a-zA-Z0-9的参数值 */ static getAuthorizeURL(scene, templateId, redirectUrl, reserved) { let url = util.format(this.authorizeUrl, accesstoken_1.ApiConfigKit.getApiConfig.getAppId, scene, templateId, urlencode(redirectUrl)); if (reserved) { url = url + '&reserved=' + urlencode(reserved); } return url + '#wechat_redirect'; } /** * 推送订阅模板消息给到授权微信用户 * @param subscribeMsg * @param accessToken */ static send(subscribeMsg, accessToken) { return __awaiter(this, void 0, void 0, function* () { return this.sendMsg(JSON.stringify(subscribeMsg), accessToken); }); } /** * 推送订阅模板消息给到授权微信用户 * @param json * @param accessToken */ static sendMsg(json, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.subscribeUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, json); }); } } exports.SubscribeMsgApi = SubscribeMsgApi; SubscribeMsgApi.authorizeUrl = 'https://mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid=%s&scene=%d&template_id=%s&redirect_url=%s'; SubscribeMsgApi.subscribeUrl = 'https://api.weixin.qq.com/cgi-bin/message/template/subscribe?access_token=%s'; //# sourceMappingURL=SubscribeMsgApi.js.map