仿boss直聘,输入手机号发送验证码

获取手机短信验证码,需要购买相关的服务,腾讯,百度,阿里都有相关的服务,首次可以免费试用100条的,这里用的是腾讯的短信服务,通过创建短信模板等操作完成后,在官网可以看到相关的文档。
首先npm相关的包

npm install qcloudsms_js --save

创建config.json文件

{
     
    "appid":"******",
    "appkey":"**************",
    "smssign":"*****"
}

三个参数在腾讯云控制台都可以找到,最后一个参数是公众号的名称
创建sms.js文件,封装方法

//数据读取json
var config = require('./config');
//短信发送工具类
module.exports = function (phoneNumber,templateId,params){
     
    var QcloudSms = require("qcloudsms_js");
    // 实例化QcloudSms
    var qcloudsms = QcloudSms(config.appid, config.appkey);
    var smsType = 0; 
    var ssender = qcloudsms.SmsSingleSender();
    return new Promise(function(resolve,reject){
     
        console.log('短信接受号码:'+phoneNumber);
        console.log('模版ID:'+templateId);
        console.log('模版变量:'+params);
        ssender.sendWithParam(86, phoneNumber.split(','), templateId,params, config.smssign, "", "", function(err,res,resData){
     
            if (err) {
     
                reject();//发送失败
            } else {
     
                //所有短信全部认定发送成功
                console.log(resData);
                resolve(true);
            }
        });
    });
}

在js文件中的引用如下,当客户端请求到url+’/sms’时,调用该方法,接收到电话号码,以及模板id(控制台中有),以及验证码,可以随机或者自定义

 app.post('/sms',function(req,res,next){
     
     //1.提供模版ID
     var phone = req.body.phone,templateId = req.body.templateId,params = req.body.params.split('_');
     sms(phone,templateId,params).then(function(){
     
         res.json({
     success : true,msg : '成功'})
     }).catch(function(err){
     
         res.json({
     success : false,msg : '失败'})
     })
 })

仿boss直聘,输入手机号发送验证码_第1张图片

你可能感兴趣的:(vue,nodejs,腾讯,js)