node.js极简发送短信验证码实现
先说下思路,发送验证码的基本步骤为
用户点击发送短信——前端将用户填的手机号发给后端——后端生成随机码,保存随机码,调用短信平台接口,将随机码发给用户——前端将用户填写的随机码与后端保存的对比——告知前端是否正确。
通过node.js如何调用短信平台接口
平台选择,聚合没有试用次数,并且首充要1200元,阿里,腾讯都有免费次数,并且有支持node.js的文档,但验证签名过于麻烦。
所以最后选了云片,10次试用,首充50,虽然没有node的SDK,但文档还算丰富。
最主要的申请简单,企业申请只需营业执照和法人身份证就可以,十几分钟申请下来。
以下为实现基本功能的最简单代码,node运行以下就可以
var apikey = 'xxx'; var mobile = phone; var text = '【xxxx】您的验证码是1235。如非本人操作,请忽略本短信'; var sms_host = 'sms.yunpian.com'; send_sms_uri = '/v2/sms/single_send.json'; send_sms(send_sms_uri,apikey,mobile,text); function send_sms(uri,apikey,mobile,text){ var post_data = { 'apikey': apikey, 'mobile':mobile, 'text':text, }; var content = qs.stringify(post_data); post(uri,content,sms_host); } function post(uri,content,host){ var options = { hostname: host, port: 443, path: uri, method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } }; var req = https.request(options, function (res) { res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('BODY: ' + chunk); }); }); //console.log(content); req.write(content); req.end();
这篇文章只是证明了这个接口可以实现基础功能,具体功能可参考云片官网和这篇文章
https://www.jianshu.com/p/792ca074bbb3

浙公网安备 33010602011771号