node-easysms
Version:
EasySMS is an SMS sender for Node.js
41 lines (40 loc) • 1.85 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 });
exports.JuheGateway = void 0;
const GatewayErrorException_1 = require("../Core/Exceptions/GatewayErrorException");
const Gateway_1 = require("../Core/Gateway");
/**
* 聚合数据短信服务
* @see https://www.juhe.cn/docs/api/id/54
*/
class JuheGateway extends Gateway_1.Gateway {
send(to, message) {
return __awaiter(this, void 0, void 0, function* () {
let template = yield message.getTemplate(this);
let data = yield message.getData(this);
let params = {
key: this.config['app_key'],
mobile: to.getNumber(),
tpl_id: template,
vars: JSON.stringify(data),
dtype: 'json',
};
let result = yield this.postJson(JuheGateway.ENDPOINT_URL, params);
if (result['error_code']) {
throw new GatewayErrorException_1.GatewayErrorException(result['reason'], result);
}
return result;
});
}
}
exports.JuheGateway = JuheGateway;
JuheGateway.ENDPOINT_URL = 'http://v.juhe.cn/sms/send';