腾讯云短信服务+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

相关文章
相关标签/搜索