【node】开通阿里云短信验证服务,代码演示 超级详细 您所在的位置:网站首页 阿里云群发短信服务在哪找 【node】开通阿里云短信验证服务,代码演示 超级详细

【node】开通阿里云短信验证服务,代码演示 超级详细

2024-06-29 03:38| 来源: 网络整理| 查看: 265

阿里云官网步骤:Node.js SDK (aliyun.com)

首先先搭建一个node项目:app.js

const express = require('express'); // 引入 Express 框架 const app = express(); app.use(express.json()); // 解析请求中的 JSON 数据 const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

安装阿里云SDK核心库

npm install @alicloud/pop-core -S

编辑app.js

const express = require('express'); // 引入 Express 框架 const Core = require('@alicloud/pop-core'); // 引入阿里云 SDK const app = express(); app.use(express.json()); // 解析请求中的 JSON 数据 const client = new Core({ // 创建 Client 对象 accessKeyId: 'your xxxxxx', // 替换成自己的 AccessKey ID accessKeySecret: 'your xxxxxx', // 替换成自己的 AccessKey Secret endpoint: 'https://dysmsapi.aliyuncs.com', // API 访问入口,根据实际情况修改 apiVersion: '2017-05-25' // API 版本号,根据实际情况修改 }); // 生成随机验证码 function generateCode() { const code = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000; return code.toString(); } // 发送短信验证码 app.post('/sendCode', (req, res) => { const phoneNumber = req.body.phoneNumber; // 获取手机号码 const code = generateCode(); // 生成验证码 const params = { "RegionId": "cn-hangzhou", // 短信服务所在区域,可以参考阿里云文档 "PhoneNumbers": phoneNumber, // 目标手机号码 "SignName": "your xxxxxx", // 短信签名名称,需先在阿里云控制台中申请审核通过 "TemplateCode": "your xxxxxx", // 短信模板 CODE,需先在阿里云控制台中申请审核通过 "TemplateParam": JSON.stringify({ // 短信模板参数,为 JSON 字符串格式 "code": code // 模板中的变量名和对应的值 }) }; const requestOption = { // 设置请求超时时间等选项 method: 'POST', timeout: 5000 }; // 调用 SendSms 方法发送短信 client.request('SendSms', params, requestOption).then((result) => { console.log(result); // 打印发送结果 res.status(200).json({ // 返回状态码和生成的验证码 message: '验证码已发送,请注意查收!', code: code }); }, (ex) => { console.log(ex); // 打印异常信息 res.status(500).json({ // 返回错误状态码和错误信息 message: '短信发送失败,请稍后重试!' }); }); }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

 accessKeyId与accessKeySecret如何获取:

没有就创建一个,有就点击操作中的:查看 Secret

 endpoint与apiVersion到底是什么?

endpoint 参数指定了短信服务的 API 网关地址,即阿里云短信服务的接入点;而 apiVersion 参数指定了该 API 请求要使用的版本号

附上连接:短信服务_云产品主页-阿里云OpenAPI开发者门户 (aliyun.com)

SignName与TemplateCode哪里获取?

这两个都需要自己申请,阿里云中搜索短信服务就可以看到图下的操作页面,然后进行申请就好:

 通过之后点击图下的测试:

进去就可以看到了:

 然后用postman进行测试:如果余额不足就需要买个短信套餐

 在app.js中添加验证码校验请求:

const express = require('express'); // 引入 Express 框架 const Core = require('@alicloud/pop-core'); // 引入阿里云 SDK const app = express(); app.use(express.json()); // 解析请求中的 JSON 数据 xxxxxxxxxxxxxxxxxxxxxxxxxx同上 // 验证短信验证码 app.post('/login', (req, res) => { const phoneNumber = req.body.phoneNumber; // 获取手机号码 const inputCode = req.body.code; // 获取用户输入的验证码 const generatedCode = req.body.generatedCode; // 获取之前生成的验证码 console.log(inputCode) console.log(generatedCode) if (inputCode === generatedCode) { // 验证码一致,登录成功 res.status(200).json({ message: '登录成功!' }); } else { // 验证码不一致,登录失败 res.status(401).json({ message: '验证码错误,请重新输入!' }); } }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

 用postman再进行测试:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有