@tnwx/commons
Version:
TTNWX 微信系开发脚手架之公共模块
125 lines • 6.1 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 accesstoken_1 = require("@tnwx/accesstoken");
const kits_1 = require("@tnwx/kits");
/**
* @author Javen
* @copyright javendev@126.com
* @description 订阅通知接口
*/
class ComSubscribeMsgApi {
/**
* 组合模板并添加至帐号下的个人模板库
* @param tid 模板标题 id
* @param kidList 开发者自行组合好的模板关键词列表,最多支持5个,最少2个关键词组合
* @param sceneDesc 服务场景描述,15个字以内
*/
static addTemplate(tid, kidList, sceneDesc) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
let url = util.format(this.addTemplateUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
tid: tid,
kidList: kidList,
sceneDesc: sceneDesc
}));
});
}
/**
* 删除帐号下的个人模板
* @param priTmplId 要删除的模板id
*/
static delTemplate(priTmplId) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
let url = util.format(this.delTemplateUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
priTmplId: priTmplId
}));
});
}
/**
* 获取公众号类目
*/
static getCategory() {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
let url = util.format(this.getCategoryUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 获取模板中的关键词
* @param tid 模板标题 id
*/
static getPubTemplateKeyWords(tid) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
let url = util.format(this.getPubTemplateKeyWordsUrl, accessToken.getAccessToken, tid);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 获取类目下的公共模板
* @param ids 类目 id
* @param start 用于分页,表示从 start 开始。从 0 开始计数。
* @param limit 用于分页,表示拉取 limit 条记录。最大为 30。
*/
static getPubTemplateTitles(ids, start = 0, limit = 30) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
let url = util.format(this.getPubTemplateTitlesUrl, accessToken.getAccessToken, ids.join(','), start, limit);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 获取私有模板列表
*/
static getTemplate() {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
let url = util.format(this.getTemplateUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 发送订阅通知
* @param touser 接收者(用户)的 openid
* @param templateId 所需下发的订阅模板id
* @param data 模板内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }
* @param page 点击模板卡片后的跳转页面
* @param miniprogram 跳转小程序时填写,格式如{ "appid": "pagepath": { "value": any } }
*/
static sendSubMessage(touser, templateId, data, page, miniprogram) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
let url = util.format(this.sendMessageUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
touser: touser,
template_id: templateId,
page: page,
data: data,
miniprogram: miniprogram
}));
});
}
}
exports.ComSubscribeMsgApi = ComSubscribeMsgApi;
ComSubscribeMsgApi.addTemplateUrl = 'https://api.weixin.qq.com/wxaapi/newtmpl/addtemplate?access_token=%s';
ComSubscribeMsgApi.delTemplateUrl = 'https://api.weixin.qq.com/wxaapi/newtmpl/deltemplate?access_token=%s';
ComSubscribeMsgApi.getCategoryUrl = 'https://api.weixin.qq.com/wxaapi/newtmpl/getcategory?access_token=%s';
ComSubscribeMsgApi.getPubTemplateKeyWordsUrl = 'https://api.weixin.qq.com/wxaapi/newtmpl/getpubtemplatekeywords?access_token=%s&tid=%s';
ComSubscribeMsgApi.getPubTemplateTitlesUrl = 'https://api.weixin.qq.com/wxaapi/newtmpl/getpubtemplatetitles?access_token=%s&ids=%s&start=%s&limit=%s';
ComSubscribeMsgApi.getTemplateUrl = 'https://api.weixin.qq.com/wxaapi/newtmpl/gettemplate?access_token=%s';
ComSubscribeMsgApi.sendMessageUrl = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/bizsend?access_token=%s';
//# sourceMappingURL=ComSubscribeMsgApi.js.map