若是你購買了阿里雲的短信服務,能夠經過短信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