騰訊雲短信服務+Node.js給手機發送驗證碼

最近公司須要些一個登錄驗證和修改密碼驗證,須要用到驗證碼,我用Node.js寫了一個給手機發驗證碼的代碼,下面實現的功能有:生產驗證碼,(計時器)驗證碼失效時間,給手機發送短信。app

首先看官方文檔,在給手機發送驗證碼前須要作哪些準備,分別是:1.添加應用 2.建立簽名(這個須要提交一些認證資料)3. 短信模板 上述三個步驟成功後再把對應的信息寫入代碼對應的參數位置。dom

這是準備階段具體怎麼作的官方資料:https://cloud.tencent.com/document/product/382/18061#.E5.88.9B.E5.BB.BA.E7.AD.BE.E5.90.8D網站

這是用Node.js給手機發短信的SDK 和教程 官方資料:https://cloud.tencent.com/document/product/382/3772ui

 騰訊雲的短信服務每一個月有100條免費體驗,另外若是須要1000條起購,1000條50塊錢blog

下面是我寫的具體實例:教程

var QcloudSms = require("qcloudsms_js");

// 短信應用SDK AppID
var appid = 填寫你的AppID;  // SDK AppID是1400開頭

// 短信應用SDK AppKey
var appkey = "填寫你對應的信息";

// 須要發送短信的手機號碼
var phoneNumbers = ["填寫手機號"];

// 短信模板ID,須要在短信應用中申請
var templateId = 242762;  // NOTE: 這裏的模板ID`242762`只是一個示例,真實的模板ID須要在短信控制檯中申請

// 簽名
var SmsSign = "誰來剪月光";  // NOTE: 這裏的簽名只是示例,請使用真實的已申請的簽名, 簽名參數使用的是`簽名內容`,而不是`簽名ID`

// 實例化QcloudSms
var qcloudsms = QcloudSms(appid, appkey);

// 設置請求回調處理, 這裏只是演示,用戶須要自定義相應處理回調
function callback(err, res, resData) {
    if (err) {
        console.log("err: ", err);
    } else {
        console.log("request data: ", res.req);
        console.log("response data: ", resData);
    }
}
//生成5位驗證碼 function RndNum(n){ var rnd=""; for(var i=0;i<n;i++) rnd+=Math.floor(Math.random()*10); return rnd; } var VerificationCode=RndNum(5); console.log(VerificationCode); //設置按期器 const countDown = (second) => { const s = second % 60; const m = Math.floor(second / 60); return `${`00${m}`.slice(-2)} : ${`00${s}`.slice(-2)}`; }; let time = 5 * 60; const timer = setInterval(() => { const show = countDown(time--); //console.log(show); if(time < 0) { console.log('倒計時結束!'); VerificationCode=-1; console.log(VerificationCode); clearInterval(timer); } }, 1000); var ssender = qcloudsms.SmsSingleSender(); var params = [VerificationCode,"5","156221848"]; ssender.sendWithParam(86, phoneNumbers[0], templateId,params, SmsSign,"","",callback); // 簽名參數未提供或者爲空時,會使用默認簽名發送短信

  

  個人短信模板有三個參數,因此上面的params須要提供三個參數。文檔

 

 其餘的在官方文檔中基本寫得很詳細了,這裏就不說了,有問題請留言。get

 編譯後結果以下:it

 

手機上收到的信息以下: 【誰來剪月光】是個人短息簽名內容,短信簽名內容須要審覈,內容須要跟你提交的資料信息一致,我提交的是我以前認證的一個網站,網站名稱是誰來剪月光io

相關文章
相關標籤/搜索