阿里雲部署 4.短信服務

短信服務

若是你購買了阿里雲的短信服務,能夠經過短信API實現驗證碼、推廣短信、通知短信的發送、羣發功能。後端

這裏以驗證碼爲例,介紹一下短信的發送功能。api

快速學習

進入快速學習頁面(https://dysms.console.aliyun....async

直接點擊查看API Demo
你在左側輸入參數,選擇不一樣的後端語言,它會自動幫你生成Demo代碼,而且還能夠去CloudShell在線調試。
avatar單元測試

參數說明

PhoneNumbers 接收短信的手機號碼
SignName 簽名名稱,在控制檯國內消息簽名管理一列添加、查看
TemplateCode 模板ID,在控制檯國內消息模板管理一列添加、查看
TemplateParam 模板變量對應的實際值,注意必定要是JSON格式。學習

簽名能夠設置你的網站名、公司名
模板能夠選擇驗證碼、短信通知、推廣短信(升級爲企業後啓用),設置你的短信內容,同時支持變量替換,如個人網站的驗證碼短信模板內容爲:測試

您的驗證碼爲:${code},該驗證碼5分鐘內有效,請勿泄漏於他人。

TemplateParam能夠設置code變量,發送你須要的內容網站

"TemplateParam": JSON.stringify({
  "code": 2
}),

短信發送客戶端

根據API Demo的整理,咱們寫出本身的短信客戶端代碼ui

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();

編寫單元測試this

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);
  });
});

執行後,手機上成功收到了短信。
阿里雲

相關文章
相關標籤/搜索