Node:短信验证码接口

环境准备:

  • Node
  • 聚合数据API
  • VSCode
  • POSTman(调试接口)

1.聚合数据API:

https://www.juhe.cn/?

注册登录

提交审核:

等待审核完成后就可以正常使用模板id了。

当然,官网提供了购买短信:

扫描二维码关注公众号,回复: 8956317 查看本文章

https://www.juhe.cn/docs/api/id/54

2.搭建服务环境:[以node为例,python,java都可以]

安装如下模块:

https://www.npmjs.com/ 这个官网可以查看模块具体的使用方法。

cnpm install express body-parser request querystring --save
cnpm install nodemon -g //这个可以帮助我们实时的去检测代码的改变。
或者用live-server:cnpm install live-server -g

在index.js中,

const express = require('express');
// 这个是接收前端传递过来的数据的,koa2也用它做中间件
const bodyParser = require('body-parser');
const request = require('request');//后端也要请求接口
const querystring = require('querystring');

const app = express();

//要拿到body-parser的东西(中间件)
// parse application/json
app.use(bodyParser.json());

app.get("/",(req,res)=>{
    res.send('hello world');
});

//设置端口:如果环境设置了端口就用自己环境设置的,否则就用3000端口
const port = process.env.PORT || 3000;

app.listen(port,()=>{
    console.log(`服务器正在运行在${port}端口`);
});

然后在终端输入nodemon,如果没装nodemon就输入node index.js。

基本的服务器环境就部署好了。

3.获取短信验证码:

把聚合网的代码粘过来,修改一下在上面的基础上:

这3个字段的值是前端postman传递过来的。

然后send一下:

可以看出,打印出json。而不是走的“出现异常”.说明我们的key有问题,之前说过,key必须要审核。【审核时间说不定】

假设打印的是成功的json,会给你的手机发送一条短信[包含随机码]

//服务端代码:
const express = require('express');
// 这个是接收前端传递过来的数据的,koa2也用它做中间件
const bodyParser = require('body-parser');
const request = require('request');//后端也要请求接口
const querystring = require('querystring');

const app = express();

//要拿到body-parser的东西(中间件)
// parse application/json
app.use(bodyParser.json());

app.post("/sms_send",(req,res)=>{
    //这个phone还没有,用postman传递过来
    // console.log(req.body.phone);
    let random_code = (('000000'+Math.floor(Math.random()*999999)).slice(-6));//随机码6位
    var queryData = querystring.stringify({
        "mobile": req.body.phone,  // 接受短信的用户手机号码
        "tpl_id": req.body.tpl_id,  // 您申请的短信模板ID,根据实际情况修改
        "tpl_value": `#code#=${random_code}`,  // 您设置的模板变量,根据实际情况修改
        "key": req.body.key,  // 应用APPKEY(应用详细页查询)
    });
    
    var queryUrl = 'http://v.juhe.cn/sms/send?'+queryData;
    
    request(queryUrl, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body) // 打印接口返回内容
            
            var jsonObj = JSON.parse(body); // 解析接口返回的JSON内容
            // console.log(jsonObj)
            res.json(jsonObj);//将json返回过去。使用调试工具获取到对应的内容。
        } else {
            console.log('请求异常');
        }
    }) 
});

//设置端口:如果环境设置了端口就用自己环境设置的,否则就用3000端口
const port = process.env.PORT || 3000;

app.listen(port,()=>{
    console.log(`服务器正在运行在${port}端口`);
});

这下可以开心的测试了,也可以通过官网的在线测试工具进行测试

发布了288 篇原创文章 · 获赞 40 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_39969226/article/details/101155363
今日推荐