请选择 进入手机版 | 继续访问电脑版

nodejs express接入阿里云短信服务实现短信发送功能

[复制链接]
孤单 发表于 2021-1-1 18:30:58 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
本文将实现阿里云中短信服务的【短信验证码功能】

  第一步先要到阿里云平台去申请短信签名和模版(如果已完成可以忽略这一步)。


  • 首选需要有阿里云账号,进入阿里云【短信服务控制台】,可以在搜索栏搜索短信服务

  • 进入短信服务控制台后,点击 国内消息 >> 模版签名 >> 添加签名,按照提示去添加即可,蒹添加后就等候审核通过

  • 添加短信模版, 点击 模版管理 >> 添加模版,根据提示添加,这次测试就用系统送的模版。

  • 注意:因为后续开辟要用到的是数据是【签名名称】【模版CODE】【accessKeyId】【secretAccessKey】,所以要做好准备。 accessKeyId 和 secretAccessKey 在右上角用户头像点击可以看到【AccessKey管理】,点击进去内里可以获取,注意,这id和key比较重要,千万不要暴暴露去。

  短信模版的信息都准备好了之后,下面就可以开辟步伐了


  • 首先需要确定是否安装express,如果已安装可以忽略这一步
  1. cnpm install -g express-generator
复制代码

  • 然后用express创建一个项目
  1. express sms_projects
复制代码

  • 进入sms_projects目次
  1. cd sms_projects
复制代码

  • 初始化项目
  1. cnpm install
复制代码

  • 安装阿里云短信服务模块
  1. cnpm i @alicloud/sms-sdk --save
复制代码

  • 在app.js里修改代码,将短信接口模块单独出来

  • 在routes文件夹下添加api.js文件
  1. var express = require(&#39;express&#39;);var router = express.Router();//引入阿里云短信服务模块const SMSClient = require(&#39;@alicloud/sms-sdk&#39;);// 产生6位随机数(用来生成短信验证码的)function getCode() {        let str = "";        for (let i = 0; i < 6; i++) {                str += parseInt(Math.random() * 10)        }        return str;}/ **  *这里写post请求接口,前端调用 http://localhost:3000/api/get_sms *默认端口是3000,也可以在./bin/www内里修改 */router.post(&#39;/get_sms&#39;, function(req, res, next) {        let phoneNum = req.body.phone;  //获取前端参数phone        console.log("手机号码", phoneNum);                //初始化sms_client        let smsClient = new SMSClient({                accessKeyId: &#39;LTAI4G**************&#39;,  //accessKeyId 前面提到要准备的                secretAccessKey: &#39;C2w************&#39;  //secretAccessKey 前面提到要准备的        });                6位随机数        let str = getCode();        // 开始发送短信        smsClient.sendSMS({                PhoneNumbers: phoneNum,                SignName: "sign****", //签名名称 前面提到要准备的                TemplateCode: "SMS_**********", //模版CODE  前面提到要准备的                TemplateParam: `{"code":&#39;${str}&#39;}`, // 短信模板变量对应的实际值,JSON格式        }).then(result => {                console.log("result", result)                let {Code} = result;                if (Code == &#39;OK&#39;) {                        res.json({                                code: 0,                                 msg: &#39;success&#39;,                                sms: str                        })                        console.log(result)                }        }).catch(err => {                console.log(err);                res.json({                        code: 1,                         msg: &#39;fail: &#39; + err.data.Message                })        })});module.exports = router;
复制代码

  • 这里写完之后,生存,在终端执行下令npm start之后,既可以运行了。这里只是简朴实现了接入阿里云短信服务的短信功能,并没有做其他验证。可以相对改变一下,比如做注册短信验证,可以把生成的6位随机数也传给注册接口举行验证。这里就不多写了,自由发挥!!!!
  学无止境,加油骚年


来源:https://blog.csdn.net/weixin_39644462/article/details/111959108
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )