若是你购买了阿里云的短信服务,能够经过短信API实现验证码、推广短信、通知短信的发送、群发功能。后端
这里以验证码为例,介绍一下短信的发送功能。api
进入快速学习页面(dysms.console.aliyun.com/dysms.htm#/…)bash
直接点击查看API Demo 你在左侧输入参数,选择不一样的后端语言,它会自动帮你生成Demo代码,而且还能够去CloudShell在线调试。 async
PhoneNumbers 接收短信的手机号码 SignName 签名名称,在控制台国内消息签名管理一列添加、查看 TemplateCode 模板ID,在控制台国内消息模板管理一列添加、查看 TemplateParam 模板变量对应的实际值,注意必定要是JSON格式。单元测试
签名能够设置你的网站名、公司名 模板能够选择验证码、短信通知、推广短信(升级为企业后启用),设置你的短信内容,同时支持变量替换,如个人网站的验证码短信模板内容为:学习
您的验证码为:${code},该验证码5分钟内有效,请勿泄漏于他人。
复制代码
TemplateParam能够设置code变量,发送你须要的内容测试
"TemplateParam": JSON.stringify({
"code": 2
}),
复制代码
根据API Demo的整理,咱们写出本身的短信客户端代码网站
const Core = require('@alicloud/pop-core');
const config = require('../config');
const requestOption = {
method: 'POST',
};
class SmsClient {
constructor() {
if (!SmsClient.instance) {
this.client = new Core({
accessKeyId: config.sms.accessKeyId,
accessKeySecret: config.sms.accessKeySecret,
endpoint: config.sms.endpoint,
apiVersion: config.sms.apiVersion,
});
SmsClient.instance = this.client;
}
}
sendSms(params) {
this.client.request('SendSms', params, requestOption).then((result) => {
console.log(JSON.stringify(result));
}, (ex) => {
console.log(ex);
})
}
}
module.exports = new SmsClient();
复制代码
编写单元测试ui
const smsClient = require('../../common/sms-client.js');
describe('smsClient',async function() {
it('sendSms', async function() {
const params = {
"PhoneNumbers": "手机号码",
"SignName": "签名",
"RegionId": "cn-hangzhou",
"TemplateCode": "模板ID",
"TemplateParam": JSON.stringify({
"code": 2
}),
}
smsClient.sendSms(params);
});
});
复制代码
执行后,手机上成功收到了短信。 this