您的位置:首页 > Web前端 > Node.js

node短信接口开发

2016-05-10 15:38 691 查看
最近上新项目,要用到一个短信验证的功能,之前也没接触过这类东西,也搞了半天

基本的流程大概是这样:

前台页面做好输入框用户填写手机号 -> 后台生成验证用的数字code -> 调用短信接口下发code ->  用户填写code提交 -> 校验是否通过

前面两步也没什么好说的,做一个表单。 然后生成一段6位code

var code = Math.floor((Math.random()*999999)+111111);


接下来调用短信接口
公司这边给的是Luosimao的短信接口

文档地址luosimao.com/docs/api

自己先封装了一个简易版的module,后续考虑优化一下。

var https = require('https');
var querystring = require('querystring');

function luosimaosms(option){
this.protocol = 'https';
this.url = 'sms-api.luosimao.com';
this.path = '/v1/send.json';
this.username = 'api';
this.key = ‘key-231123132123123123123';
}

luosimaosms.prototype.sendMessage = function(mobile,code,callback){

var postData = {
mobile: mobile,
message:'您的验证码是:' + code
};

var content = querystring.stringify(postData);

var req = https.request({
host:this.url,
path:this.path,
method:'POST',
auth:  this.username + ':' + this.key,
agent:false,
rejectUnauthorized : false,
headers:{
'Content-Type' : 'application/x-www-form-urlencoded',
'Content-Length' : content.length
}
}, function(res){
res.setEncoding('utf8');
res.on('data', function (chunk) {
callback(JSON.parse(chunk));
});
});

req.write(content);
req.end();

};

module.exports = luosimaosms;


调用

var luosimaosms = require('luosimao-sms-node');
var client = new luosimaosms();
client.sendMessage(‘13700000000',’1234’,function(data){
console.log(data);
});


这家用的是basic auth 的验证方式,之前没接触过,搞了好久。。。索性短信速度还可以,就大功告成了。

最后就是校验一下用户提交的code是否符合生成值,存数据库。

这里记录一下此类接口的调用方式,后面再优化一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  短信 接口 node