68 lines
2.6 KiB
JavaScript
68 lines
2.6 KiB
JavaScript
"use strict";
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
exports.AliSmsInstance = void 0;
|
||
const tslib_1 = require("tslib");
|
||
const dysmsapi20170525_1 = tslib_1.__importStar(require("@alicloud/dysmsapi20170525")), $Dysmsapi20170525 = dysmsapi20170525_1;
|
||
const $OpenApi = tslib_1.__importStar(require("@alicloud/openapi-client"));
|
||
const $Util = tslib_1.__importStar(require("@alicloud/tea-util"));
|
||
class AliSmsInstance {
|
||
accessKeyId;
|
||
accessKeySecret;
|
||
endpoint;
|
||
client;
|
||
constructor(accessKeyId, accessKeySecret, endpoint) {
|
||
this.accessKeyId = accessKeyId;
|
||
this.accessKeySecret = accessKeySecret;
|
||
this.endpoint = endpoint || 'dysmsapi.aliyuncs.com'; // 目前国内终端域名相同
|
||
let config = new $OpenApi.Config({
|
||
// 必填,您的 AccessKey ID
|
||
accessKeyId: accessKeyId,
|
||
// 必填,您的 AccessKey Secret
|
||
accessKeySecret: accessKeySecret,
|
||
endpoint: this.endpoint,
|
||
});
|
||
this.client = new dysmsapi20170525_1.default(config);
|
||
}
|
||
async sendSms(params) {
|
||
const { phoneNumbers, templateParam = {}, templateCode, signName, } = params;
|
||
let sendSmsRequest = new $Dysmsapi20170525.SendSmsRequest({
|
||
phoneNumbers: phoneNumbers instanceof Array
|
||
? phoneNumbers.join(',')
|
||
: phoneNumbers,
|
||
templateParam: JSON.stringify(templateParam),
|
||
templateCode: templateCode,
|
||
signName: signName,
|
||
});
|
||
try {
|
||
const data = await this.client.sendSmsWithOptions(sendSmsRequest, new $Util.RuntimeOptions({}));
|
||
const { statusCode, body } = data;
|
||
if (statusCode != 200) {
|
||
throw new Error(`sendSms接口返回状态码错误,为${statusCode}`);
|
||
}
|
||
return body;
|
||
}
|
||
catch (error) {
|
||
throw error;
|
||
}
|
||
}
|
||
async syncTemplate(params) {
|
||
const { pageIndex, pageSize } = params;
|
||
try {
|
||
let querySmsTemplateListRequest = new $Dysmsapi20170525.QuerySmsTemplateListRequest({
|
||
pageIndex,
|
||
pageSize,
|
||
});
|
||
const result = await this.client.querySmsTemplateListWithOptions(querySmsTemplateListRequest, new $Util.RuntimeOptions({}));
|
||
const { statusCode, body } = result;
|
||
if (statusCode != 200) {
|
||
throw new Error(`syncTemplate接口返回状态码错误,为${statusCode}`);
|
||
}
|
||
return body;
|
||
}
|
||
catch (err) {
|
||
throw err;
|
||
}
|
||
}
|
||
}
|
||
exports.AliSmsInstance = AliSmsInstance;
|