最近公司需要些一个登陆验证和修改密码验证,需要用到验证码,我用Node.js写了一个给手机发验证码的代码,下面实现的功能有:生产验证码,(计时器)验证码失效时间,给手机发送短信。

首先看官方文档,在给手机发送验证码前需要做哪些准备,分别是:1.添加应用 2.创建签名(这个需要提交一些认证资料)3. 短信模板 上述三个步骤成功后再把对应的信息写入代码对应的参数位置。

这是准备阶段具体怎么做的官方资料: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/3772

腾讯云的短信服务每个月有100条免费体验,另外如果需要1000条起购,1000条50块钱

下面是我写的具体实例:

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需要提供三个参数。

其他的在官方文档中基本写得很详细了,这里就不说了,有问题请留言。

编译后结果如下:

手机上收到的信息如下: 【谁来剪月光】是我的短息签名内容,短信签名内容需要审核,内容需要跟你提交的资料信息一致,我提交的是我之前认证的一个网站,网站名称是谁来剪月光

腾讯云短信服务+Node.js给手机发送验证码的更多相关文章

  1. 使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题

    springboot集成腾讯云短信服务: (1)导入依赖 <dependency> <groupId>org.springframework.boot</groupId& ...

  2. 轻松集成腾讯云短信服务实现短信发送(Java实现)

    不论是阿里云还是腾讯云,要想在网站上实现短信发送功能,首先得保证你的网站域名是通过备案的,因为短信签名是需要用到备案过的域名截图,所以域名通过了,申请很快就会审批成功了. (说点题外话,备案的话,需要 ...

  3. Python使用腾讯云-短信服务发送手机短信

    目前[腾讯云短信]为客户提供[国内短信].[国内语音]和[海外短信]三大服务,腾讯云短信SDK支持以下操作: 国内短信 国内短信支持操作: • 指定模板单发短信 • 指定模板群发短信 • 拉取短信回执 ...

  4. 移动端获取短信验证码java实现——阿里云短信服务

    需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...

  5. 浏览器端获取短信验证码java实现——阿里云短信服务

    需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...

  6. 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习

    反射实现Model修改前后的内容对比   在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...

  7. 腾讯云短信 nodejs 接入, 通过验证码修改手机示例

    腾讯云短信 nodejs 接入, 通过验证码修改手机示例 参考:腾讯云短信文档国内短信快速入门qcloudsms Node.js SDK文档中心>短信>错误码 nodejs sdk 使用示 ...

  8. ThinkPHP3.2.3框架下接入阿里云短信服务接口实现:注册登录

    首先介绍下短信注册登录流程: 注册页面点击获取手机号验证码按钮,用jquery的click事件POST或GET方法把手机号发送到后台控制器: 后台控制器创建函数,收到手机号后生成随机码,例如:6位的随 ...

  9. php腾讯云短信验证码

    腾讯云短信控制台:https://console.cloud.tencent.com/sms 腾讯云短信 PHP SDK:https://github.com/qcloudsms/qcloudsms_ ...

随机推荐

  1. LG4516/LOJ2546 「JSOI2018」潜入行动 树上背包

    问题描述 LG4516 LOJ2546 题解 好一个毒瘤题. hkk:JSOI的签到题 设\(opt[i][j][0/1][0/1]\)代表结点\(i\)的子树,放置\(j\)个,\(i\)放不放,\ ...

  2. 【python爬虫】初识爬虫

    一.爬虫的定义 爬虫定义:程序或者脚本——自动的爬取万维网的数据的程序或者脚本. 二.爬虫可以解决的问题 1.解决冷启动问题. 2.搜索引擎的根基——通用爬虫. 3.帮助机器学习建立知识图谱. 4.制 ...

  3. mongodb重点知识总结

    Mongodb总结 一.NoSQL型数据库介绍 NoSQL,泛指非关系型的数据库.NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题.NoSQL(NoSQL ...

  4. windows10安装最新的redis

    官方给的redis的windows版本最新为3,而linux版本是5 这里通过win10子系统安装,win10子系统的配置见另一篇博客https://www.cnblogs.com/MC-Curry/ ...

  5. ASP.NET 表单验证

    静态脚本 oncilentClick() 静态使用方法 也可以$获取ID动态添加脚本 1.Response.Write(); 2.通过Register方式 3.Attribus方式根据控件ID进行添加 ...

  6. 什么是SFP光模块?

    什么是光模块? 光模块(optical module)由光电子器件.功能电路和光接口等组成,光电子器件包括发射和接收两部分.简单的说,光模块的作用就是光电转换,发送端把电信号转换成光信号,通过光纤传送 ...

  7. RaiseException函数逆向

    书中内容: 代码逆向: 存在一个疑问:为什么在ExceptionAddress本来是错误产生代码的地址,但这里给存入一个_RaiseException的偏移地址. 答案在下个函数中:rtlRaiseE ...

  8. Python中文件操作2——shutil模块

    1 文件操作 文件有很多的操作,之前的文件操作中介绍了内建函数对文件的打开.读取以及写入,这三种操作是对文件基本的使用.文件还有复制.删除.移动.改变文件的属主属组等操作.下面主要看os模块和shut ...

  9. JavaFx出现错误Caused by: java.lang.NullPointerException: Location is required的解决方法

    问题截图: "C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-javaagent:I:\IntelliJ IDEA ...

  10. 敏捷软件开发_实例1<二>

    敏捷软件开发_实例1 这本书的实例非常好,给了我非常多的启发.主要讲了两个实例,咖啡机和薪水支付实例,咖啡机实例比较简单并没有用什么设计模式,薪水支付实例用了很多设计模式,包括后面的打包等. 咖啡机实 ...