@tnwx/wxmp
Version:
TNWX 微信系开发脚手架之极速开发微信公众号
64 lines • 2.79 kB
JavaScript
;
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