佛性SEO

 找回密码
立即注册
查看: 118|回复: 0

叙述:别卷了!三分钟教你开发短信验证码发送功能,提效12倍

[复制链接]

21万

主题

21万

帖子

655

积分

积分
655
发表于 2023-9-12 10:47:35 | 显示全部楼层 |阅读模式

  验证码短信在用户注册、用户登录、身份验证等诸多场景运用广泛,我们在输入手机号码后就会接收到平台/商家发送的验证码短信,那么短信验证码发送功能是如何实现的?验证码短信的相关资讯可以到我们网站了解一下,从专业角度出发为您解答相关问题,给您优质的服务!


  你还在用传统的方法花费3个小时来开发短信验证码发送功能吗?使用飞算SoFlu全自动软件工程平台15分钟即可搞定!提效12倍!一起来看看吧~

  01

  实例介绍

  本节实例是结合腾讯云实现发送短信验证码的功能,全自动开发平台不仅可以在平台内部实现功能开发,还可以与外部工具联用以实现用户各种各样的功能需求,体现了全自动开发平台灵活包容、便捷好用的功能特点。实例主要用到了平台的单函数组件、单SQL组件、互斥条件组件,这三种组件的结合也是一种经典搭配,可以适用于多种不同的案例场景,同时通过调用平台中的系统函数或自定义函数来实现特定功能。

  02

  效果展示

  发送短信验证码效果:通过调用发送短信验证码接口,传入接收短信验证码的手机号,即可实现对指定手机号发送短信验证码的功能,如下图所示。

  03

  准备工作

  1.提前准备一个开通了短信服务的腾讯云账号,关于如何注册腾讯云账号及开通短信服务可参见文档https://cloud.tencent.com/document/product/382/37745(文档中心 > 短信 > 国内短信 > 国内短信快速入门)。

  2.提前准备功能实现过程中需要使用到的两张数据表:参数表sy_params(用来配置获取验证码次数上限和验证码有效时长的参数信息)、短信表user_note(用来存储用户手机号、发送短信次数、发送短信时间及短信验证码等信息),表结构设计如下图所示。

  说明:参数表中的配置信息可自行设置,本案例主要配置了verificationCodeDuration 【验证码有效时长(分钟)】和todayVerification【当天获取验证码次数上限】。

  说明:短信表中的数据在调用接口后自动生成。

  3.需进入腾讯云短信控制台拿到相关短信参数,放入全自动开发平台配置组管理中,具体如下图所示。

  说明:此处的参数字段分别为secretId(腾讯云密钥secretId)、secretKey(腾讯云密钥secretId)、smsSdkAppId(腾讯云密钥AppId)、sign(签名)、templateID(短信模板Id),其参数值均可以在腾讯云短信控制台拿到。因本案例需与腾讯云结合使用,具体的参数值均需要用户自行创建密钥、签名及短信正文模板后获取,创建方式可参见文档https://cloud.tencent.com/document/product/382/37745(文档中心 > 短信 > 国内短信 > 国内短信快速入门)。

  注意:若对于如何新增配置组不清晰,可参见飞算云智官网文档中心https://www.feisuanyz.com/support/helpCenter(全自动开发平台 / 操作指南 / 14配置组管理 / 新增配置组)

  04

  流程图设计概览

  逻辑描述:

  (1)在【参数表】查询【当天获取验证码次数上限】。

  (2)在【短信表】查询当前手机号当天获取验证码的次数。(3)判断当前手机号【当天获取验证码次数】的值是否为空,若为空,则进行新增操作,新增一条发送短信记录;若不为空,继续以下流程。

  (4)再次查询【短信表】,获取【当前手机号当天获取验证码的次数】

  (5)判断【当前手机号当天获取验证码的次数】是否小于【当天获取验证码次数上限】,若大于等于,说明今日已超过验证码发送次数限制,将输出发送失败信息;若小于,则继续以下流程

  (6)生成短信验证码。

  (7)为当前手机号加上中国大陆地区手机标识【+86】。(因为本案例仅针对国内手机号验证码发送)

  (8)给指定手机号发送验证码信息。

  (9)更新当前手机号短信表中的内容,即当前手机号验证码发送次数、验证码发送时间、当前发送的验证码信息。

  (10)输出验证码发送成功信息。

  05

  全自动开发平台具体操作过程

  1.新增发送短信验证码接口

  进入全自动开发平台“接口管理”功能模块,新增接口模块并新增一个接口,填写接口的基本信息。

  2.配置接口的入口参数

  此处需配置一个String类型的参数receiverMobile作为接收验证码的手机号。

  3.模型编辑

  通过拖拽左侧组件列表中所需的组件进行模型编辑(即流程图编辑)。

  4.组件的具体配置(按逻辑描述展示)

  (1)在【参数表】查询【当天获取验证码次数上限】

  ①使用单函数组件调用函数newMapInit(Object[] keyAndValue)构造查询参数【paramId】,需传入参数值todayVerification,在参数表中表示【当天获取验证码次数上限】。

  ②使用单SQL组件在【参数表】查询【当天获取验证码次数上限】,具体SQL内容如下,需传入上一步构建的查询参数【paramId】。

  注意:若对于如何新增SQL语句不清晰,可参见飞算云智官网文档中心https://www.feisuanyz.com/support/helpCenter(全自动开发平台 / 快速入门 / 5新增SQL)

  (2)在【短信表】查询当前手机号当天获取验证码的次数。

  ①使用单函数组件调用函数getCurrDate()获取当前日期。

  ②使用单函数组件调用函数newMapInit(Object[] keyAndValue)构造查询参数【手机号】【当前日期】,需传入参数receiverMobile(接收验证码的手机号)以及上一步获取到的createTime(当前日期)。

  ③使用单SQL组件根据手机号及当前日期在【短信表】查询【当天获取验证码次数】,具体的SQL内容如下,需传入上一步构建的查询参数【手机号】及【当前日期】。

  (3)判断当前手机号【当天获取验证码次数】的值是否为空,若为空,则进行新增操作,新增一条发送短信记录;若不为空,继续以下流程。

  ①使用单函数组件调用函数getCurrDateTime获取当前系统时间,用于后续新增发送短信记录。

  ②使用互斥条件组件来判断【当天获取验证码次数】的值是否为空,若为空,则使用单函数组件调用newMapInit(Object[] keyAndValue)构造新增参数mobileSmsId(短信记录Id,根据函数getUuid获取)、receiverMobile(接收验证码的手机号)、createTime(当前系统时间)。

  ③使用单SQL组件在【短信表】新增发送短信记录,具体SQL内容如下,需传入上一步构建的新增参数。

  ④若不为空,则使用单函数组件调用函数strToInt(String sourceValue)将参数表中【param_value】转为整型,即将参数表中【当天获取验证码次数上限】的参数类型由字符型转为整型,便于后续修改短信表中增加获取验证码次数的操作。

  (4)再次使用单SQL组件,根据当前手机号及当前时间查询【短信表】获取【当前手机号当天获取验证码的次数】,具体SQL信息如下。(此处再次查询短信表是由于新增操作后短信表有更新)

  (5)使用互斥条件组件判断【当前手机号当天获取验证码的次数】是否小于【当天获取验证码次数上限】,若大于等于,说明今日已超过验证码发送次数限制,将输出发送失败信息;若小于,则继续以下流程。

  【当前手机号当天获取验证码的次数】大于等于【当天获取验证码次数上限】时:

  【当前手机号当天获取验证码的次数】小于【当天获取验证码次数上限】时:

  (6)使用单函数组件生成短信验证码,此处使用的函数为获取范围内随机数函数

  getRandomByRange(Long rangeBegin,Long rangeEnd),传入参数1000、10000用于获取四位数短信验证码。

  (7)使用单函数组件为当前手机号加上中国大陆地区手机标识【+86】,使用的函数拼接字符串函数concatStrs(String[] strs),需传入字符串“+86”以及接口入参“receiverMobile”(因为本案例仅针对国内手机号验证码发送,故需要进行该操作)。

  (8)给指定手机号发送验证码信息。

  ①使用单函数组件构建发送验证码信息请求参数,此处需用到配置组的参数信息secretId、secretKey、templateID、smsSdkAppid、sign,以及加上中国大陆标识的手机号phoneNumberSet和验证码templateParamSet。

  ②使用单函数组件调用函数sendMessage(Map params)发送短信息,需传入上一步构造的请求参数。

  (9)更新当前手机号短信表中的内容,即当前手机号验证码发送次数、验证码发送时间、当前发送的验证码信息。

  ①使用单函数组件调用函数newMapInit(Object[] keyAndValue)构建修改短信表的请求参数,需传入参数receiverMobile(接收验证码手机号)、verifyCode(验证码)、createTime(当前系统时间)以及createTime1(当前日期)。

  ②使用单SQL组件进行修改短信表操作,具体SQL内容如下,需传入上一步构建的请求参数。修改后的结果为当天获取验证码次数+1,验证码及验证码发送时间根据当前信息进行替换

  (10)使用输出结果组件输出验证码发送成功信息。

  5.退出窗体视图

  流程图设计完成后,保存并退出窗体视图。

  6.提交并发布接口

  7.测试用例

  (1)对接口进行测试用例,检验接口实现的功能是否可以达到预期。

  (2)填写接收验证码的手机号,并启用可视化日志(便于查看接口流程中的数据流转),再单击执行即可。

  (3)通过测试用例响应内容查看接口的执行结果,同时查看填写的接收验证码的手机号是否接收到验证码信息。

  (4)若测试用例的结果出现错误或没收到验证码信息,可通过可视化日志双击查看各个组件的节点数据进行接口的调试。

  30天免费试用地址:https://feisuanyz.com/

  飞算数智科技(深圳)有限公司(简称“飞算科技”)是一家自主创新型的科技公司,公司以互联网科技、大数据、人工智能等技术为基础,基于团队在相关领域多年的实践经验,将技术与应用深度融合,推出一系列技术领先且应用层面稳定成熟的产品,致力于为民生产业、中小企业、金融企业等不同类型客户提供科技支持与服务,助力客户实现科技化、数字化、智能化转型升级。

  举报/反馈
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

  • 外链吧 | 雨住水巷 | 五金修配网 | 免费优化 | 全能百科 | 万能社区 | 链接购买
  • 在线咨询

  • 外链吧正规seo交流2群

    QQ|手机版|小黑屋|佛性SEO |网站地图|网站地图

    GMT+8, 2024-11-2 14:30 , Processed in 0.079578 second(s), 23 queries .

    快速回复 返回顶部 返回列表