node短信接口开发
2016-05-10 15:38
791 查看
最近上新项目,要用到一个短信验证的功能,之前也没接触过这类东西,也搞了半天
基本的流程大概是这样:
前台页面做好输入框用户填写手机号 -> 后台生成验证用的数字code -> 调用短信接口下发code -> 用户填写code提交 -> 校验是否通过
前面两步也没什么好说的,做一个表单。 然后生成一段6位code
接下来调用短信接口
公司这边给的是Luosimao的短信接口
文档地址luosimao.com/docs/api
自己先封装了一个简易版的module,后续考虑优化一下。
调用
这家用的是basic auth 的验证方式,之前没接触过,搞了好久。。。索性短信速度还可以,就大功告成了。
最后就是校验一下用户提交的code是否符合生成值,存数据库。
这里记录一下此类接口的调用方式,后面再优化一下。
基本的流程大概是这样:
前台页面做好输入框用户填写手机号 -> 后台生成验证用的数字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是否符合生成值,存数据库。
这里记录一下此类接口的调用方式,后面再优化一下。
相关文章推荐
- fastjson处理接口时的一个问题
- 局域网与广域网接口标准
- RJ-45接口信号定义
- DVI 视频接口图文解析
- 如何设置域名接口
- 通过C#实现自动售货机接口
- C#中IEnumerable接口用法实例分析
- C#中实现判断某个类是否实现了某个接口
- C#隐式/显示实现接口方法详解
- C#实现两接口中同名方法实例分析
- 详解C#中的接口属性以及属性访问器的访问限制
- 快速掌握Node.js环境的安装与运行方法
- Windows系统下Node.js的简单入门教程
- 在Node.js应用中使用Redis的方法简介
- 在Ubuntu系统上安装Ghost博客平台的教程
- Node.js编程中客户端Session的使用详解
- 使用Raygun对Node.js应用进行错误处理的方法
- 在Mac OS下使用Node.js的简单教程
- C#中的ICustomFormatter及IFormatProvider接口用法揭秘