@tnwx/wxmp
Version:
TNWX 微信系开发脚手架之极速开发微信公众号
140 lines • 5.82 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 MessageApi {
/**
* 根据标签进行群发【订阅号与服务号认证后均可用】
* @param jsonStr
* @param accessToken
*/
static sendAll(jsonStr, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
}
let url = util.format(this.sendAllUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr);
});
}
/**
* 根据OpenID列表群发【订阅号不可用,服务号认证后可用】
* @param jsonStr
* @param accessToken
*/
static send(jsonStr, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
}
let url = util.format(this.sendUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr);
});
}
/**
* 删除群发【订阅号与服务号认证后均可用】
* @param jsonStr
* @param accessToken
*/
static delete(jsonStr, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
}
let url = util.format(this.deleteUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr);
});
}
/**
* 预览接口【订阅号与服务号认证后均可用】
* @param jsonStr
* @param accessToken
*/
static preview(jsonStr, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
}
let url = util.format(this.previewUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr);
});
}
/**
* 查询群发消息发送状态【订阅号与服务号认证后均可用】
* @param msgId 群发消息后返回的消息id
* @param accessToken
*/
static get(msgId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
}
let url = util.format(this.getUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
msg_id: msgId
}));
});
}
/**
* 获取群发速度
* @param accessToken
*/
static getSpeed(accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
}
let url = util.format(this.getSpeedUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 设置群发速度
* 0 80w/分钟
* 1 60w/分钟
* 2 45w/分钟
* 3 30w/分钟
* 4 10w/分钟
* @param speed 群发速度的级别,是一个0到4的整数,数字越大表示群发速度越慢
* @param accessToken
*/
static setSpeed(speed, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (speed > 4)
speed = 4;
if (speed < 0)
speed = 0;
if (!accessToken) {
accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken();
}
let url = util.format(this.setSpeedUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
speed: speed
}));
});
}
}
exports.MessageApi = MessageApi;
MessageApi.sendAllUrl = 'https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=%s';
MessageApi.sendUrl = 'https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=%s';
MessageApi.deleteUrl = 'https://api.weixin.qq.com/cgi-bin/message/mass/delete?access_token=%s';
MessageApi.previewUrl = 'https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=%s';
MessageApi.getUrl = 'https://api.weixin.qq.com/cgi-bin/message/mass/get?access_token=%s';
MessageApi.getSpeedUrl = 'https://api.weixin.qq.com/cgi-bin/message/mass/speed/get?access_token=%s';
MessageApi.setSpeedUrl = 'https://api.weixin.qq.com/cgi-bin/message/mass/speed/set?access_token=%s';
//# sourceMappingURL=MessageApi.js.map