西虹市网
标题:
新闻速览别卷了!三分钟教你开发短信验证码发送功能,提效12倍
[打印本页]
作者:
liukai
时间:
2023-10-12 17:29
标题:
新闻速览别卷了!三分钟教你开发短信验证码发送功能,提效12倍
验证码短信在用户注册、用户登录、身份验证等诸多场景运用广泛,我们在输入手机号码后就会接收到平台/商家发送的验证码短信,那么短信验证码发送功能是如何实现的?
获取短信验证码
一直是行业的佼佼者,在业内好评如潮,备受大众所青睐!
你还在用传统的方法花费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/
飞算数智科技(深圳)有限公司(简称“飞算科技”)是一家自主创新型的科技公司,公司以互联网科技、大数据、人工智能等技术为基础,基于团队在相关领域多年的实践经验,将技术与应用深度融合,推出一系列技术领先且应用层面稳定成熟的产品,致力于为民生产业、中小企业、金融企业等不同类型客户提供科技支持与服务,助力客户实现科技化、数字化、智能化转型升级。
举报/反馈
作者:
前途无量
时间:
2023-11-2 21:30
相当不错,感谢楼主无私分享精神!
作者:
斯柯法
时间:
2023-12-14 11:30
才发现昌平也有网络平台,挺好 支持了。
作者:
唐吉柯德
时间:
2023-12-14 11:44
没事我就来看看,哈哈!
作者:
新起点在线
时间:
2023-12-14 11:46
有道理。。。
作者:
我亦疯狂
时间:
2023-12-14 11:56
我抢、我抢、我抢沙发~
作者:
添妻欲抱
时间:
2023-12-14 12:13
找到好贴不容易,我顶你了,谢了
欢迎光临 西虹市网 (http://bbs.xihong021.cn/)
Powered by Discuz! X3