@666666/messagejs
Version:
A message sending util
43 lines (42 loc) • 1.36 kB
JavaScript
import Dysmsapi, * as $Dysmsapi from '@alicloud/dysmsapi20170525';
import * as $OpenApi from '@alicloud/openapi-client';
/**
* 阿里sms
*/
export default class Alisms {
accessKeyId;
accessKeySecret;
constructor({ accessKeyId, accessKeySecret }) {
this.accessKeyId = accessKeyId;
this.accessKeySecret = accessKeySecret;
}
static createClient(accessKeyId, accessKeySecret) {
const config = new $OpenApi.Config({
accessKeyId,
accessKeySecret
});
config.endpoint = "dysmsapi.aliyuncs.com";
return new Dysmsapi.default(config);
}
/**
* 发送短信
*/
async sendSms(sendParams) {
const { phoneNumbers, signName, templateCode, templateParam } = sendParams;
const client = Alisms.createClient(this.accessKeyId, this.accessKeySecret);
const sendReq = new $Dysmsapi.SendSmsRequest({
phoneNumbers,
signName,
templateCode,
templateParam,
});
const sendResp = await client.sendSms(sendReq);
if (sendResp.body.code === 'OK') {
console.log('sms send ok: %s', sendResp.body.requestId);
return Promise.resolve(sendResp);
}
else {
return Promise.reject(sendResp.body.message || 'sms error');
}
}
}