豫ICP备2024044691号-1
powered by emlog
阿里云短信 node SDK
Mins 2024-07-03 nodejs

安装SDK

npm install @alicloud/sms-sdk --save

创建 client

// smsService.js
import SMSClient from '@alicloud/sms-sdk';

class SmsService {
    constructor(accessKeyId, secretAccessKey) {
        this.client = new SMSClient({ accessKeyId, secretAccessKey });
    }

    send(phoneNumbers, templateCode, signName, templateParam) {
        if (!Array.isArray(phoneNumbers)) {
            phoneNumbers = [phoneNumbers];
        }

        const promises = phoneNumbers.map(phoneNumber => {
            return this.client.sendSMS({
                PhoneNumbers: phoneNumber,
                SignName: signName,
                TemplateCode: templateCode,
                TemplateParam: JSON.stringify(templateParam)
            });
        });

        return new Promise(async (resolve, reject) => {
            try {
                const results = await Promise.all(promises);
                resolve(results);
            } catch (error) {
                reject(error.message);
            }
        })
    }
}

export default SmsService;

使用 client

import SmsService from 'SmsService.js';

const accessKeyId = '';
const accessKeySecret = '';
const smsService = new SmsService(accessKeyId, accessKeySecret);
const phoneNumbers = [];
const templateCode = '';
const signName = '';
const templateParam = {};

smsService.send(phoneNumbers, templateCode, signName, templateParam).then(res => {
    resolve(true);
}).catch(err => {
    console.log(err);
    resolve(false);
})