IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 【Node.js】 调用阿里云短信验证码服务 -> 正文阅读

[JavaScript知识库]【Node.js】 调用阿里云短信验证码服务

1、获取必备的参数

需要获取的参数有:AccessKey、签名名称和短信模板 code

其中 AccessKey 包括 AccessKey ID 和 AccessKey Secret。

AccessKey ID:用于标识用户。

AccessKey Secret:用于验证用户的密钥。AccessKey Secret必须保密。

签名名称:接收验证码内容时,【】里的文字。

短信模板code:相当于短信内容的 id。

举个例子,短信内容如下:

【阿里云短信测试】您正在使用阿里云短信测试服务,体验验证码是:937553,如非本人操作,请忽略本短信!

其中,阿里云短信测试就是签名名称;而短信模板就是签名名称后面的文字内容。

① 获取 AccessKey

可点击查看官网文档,得到详细步骤。首先点击头像,选择AccessKey 管理。
在这里插入图片描述

创建 AccessKey 后,可以得到 AccessKey ID 和 AccessKey Secret。

② 获取签名名称和短信模板 code

可在短信服务控制台进行申请,勾选开通协议,单击开通服务。再进行申请签名和申请模版。
在这里插入图片描述

查看国内文本短信,点击签名管理,得到签名名称。点击模板管理,得到模板CODE。
在这里插入图片描述

在这里插入图片描述

2、写代码

① 调用sdk

安装:

$ npm install @alicloud/sms-sdk --save

在这里插入图片描述

打开 nodejs 项目,在 node_modules 文件夹里,使用 npm 引入 sms-sdk。其中 node_modules 文件夹是用来存放外部sdk文件的文件夹,只需写代码时,能正常引入,文件名不用在意。
在这里插入图片描述

  global.require = require;
    // 调用sdk
  const SMSClient = require('@alicloud/sms-sdk');

② 生成六位数验证码

// 生成六位随机验证码

let smsCode = Math.random().toString().slice(-6);

③ 拿到前端传过来的手机号,调用 API 发送短信

    // 设置值
    let accessKeyId = "LTAI5tKAwfQVNM7nBM28XW9f";// AccessKey ID
    let secretAccessKey = "zyg78UkQxWqboS04oNTaja4Gzkr8Jn";// AccessKey Secret
    let signName = "阿里云短信测试"; // 签名名称
    let templateCode = "SMS_154950909";// 短信模板code
?
    // 初始化sms_client
    const smsClient = new SMSClient({accessKeyId, secretAccessKey})
?
    let phoneNum = tel_number;//手机号
    // 生成六位随机验证码
    let smsCode = Math.random().toString().slice(-6);
    console.log("smsCode:", smsCode);
?
    // 开始发送短信
    smsClient.sendSMS({
        PhoneNumbers: phoneNum,
        SignName: signName, //签名名称 前面提到要准备的
        TemplateCode: templateCode, //模版CODE  前面提到要准备的
        // TemplateParam: `{"code":'${str}'}`, // 短信模板变量对应的实际值,JSON格式
        TemplateParam: `{"code":'${smsCode}'}`, // 短信模板变量对应的实际值,JSON格式
    }).then(result => {
        console.log("result:", result)
        let {Code} = result;
        if (Code == 'OK') {
            res.json({
                code: 0,
                msg: 'success',
                sms: smsCode
            })
            console.log("result:", result);
        }
    }).catch(err => {
        console.log("报错:", err);
        res.json({
            code: 1,
            msg: 'fail: ' + err.data.Message
        })
    })
?

④ 将手机号和验证码保存进数据库

在这里插入图片描述

将手机号和验证码存入数据,用于判断前端在填写验证码后,传给的验证码是否准确。

⑤ 判断验证码是否正确,修改数据库里表的数据

从数据库获取手机号和验证码,判断点击登录后验证码是否一样。若一样就登录,将数据存入表里,若不一样,就传给前端提示验证码不一致。

完毕~

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:14:27  更:2022-04-09 18:17:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:15:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码