oak-external-sdk/lib/service/ali/Sms.js

68 lines
2.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"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;