当程序员5年才知道,这个功能只需要10分钟就能实现

日常生活中,我们常常遇到短信验证码无法验证的情况,导致平台/ 站无法正常登入;用户体验感不好,进而导致用户的流失率大大增加,所以,对企业来说,保证用户的验证码短信能够验证成功是非常重要的。

你们公司还在用传统方法花费大半天的时间来完成验证短信验证码功能吗?

现在!使用飞算soflu全自动开发平台实现验证短信验证码的功能,只需10分钟即可完成!

实例介绍

本应用实例在《结合腾讯云实现发送验证码功能》基础上进行,您需要做好发送短信验证码功能的准备工作并实现其功能后,再进行验证短信验证码的功能实现及测试。验证短信验证码的实现也是主要用到平台中的单函数组件、单SQL组件、互斥条件组件,通过流程图,您可以清晰地看出组件间的逻辑关系。

效果展示

验证短信验证码效果:通过调用验证短信验证码接口,传入接收到的验证码及对应手机 后,即输出相关验证信息。

本实例设置的验证码有效时长为2分钟,若超过2分钟,则输出验证码失效信息;若根本未发送过该验证码,则输出验证失败信息;否则输出验证成功信息,如下图所示:

验证码失效:

验证失败:

验证成功:

流程图设计概览

逻辑描述:

1.根据接口入参【手机 】【验证码】在短信表查询对应短信记录。

2.判断短信表中是否有对应短信记录,若没有对应短信记录,则输出验证失败结果;若存在对应短信记录,则继续以下流程。

3.构建查询参数【paramId】。

4.根据【paramId】的值查询参数表。

5.获取超时时间,即【当前短信记录的创建时间】累加【验证码有效时长】后的时间。

6.获取【当前系统时间】与【超时时间】的间隔时长。

7.根据间隔时长判断验证码是否失效,若间隔时长大于0,说明验证码已超时,输出验证码失效结果;若间隔时长小于等于0,说明验证码未超时,输出验证成功结果。

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

4.1 新增验证短信验证码接口

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

4.1.1 配置接口的入口参数

此处需配置两个String类型的参数verifyCode(验证码)、receiverMobile(对应手机 ),用于之后的查询操作。

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

(1)使用单SQL组件在短信表查询对应短信记录,具体SQL内容如下,需传入接口参数。

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

(2)使用互斥条件组件判断短信表中是否有对应短信记录,若没有对应短信记录,则输出验证失败结果;若存在对应短信记录,则继续以下流程。

短信表中没有对应短信记录的流转条件:

输出验证失败结果:

短信表中存在对应短信记录的流转条件:

(3)使用单函数组件调用函数newMapInit(Object[] keyAndValue)构建查询参数【paramId】,用于后续查询验证码有效时长的值。

说明:函数newMapInit(Object[] keyAndValue)用于新建Map,需传入参数paramId及对应的参数值verificationCodeDuration,该参数值在参数表中表示验证码有效时长。

(4)使用单SQL组件根据【paramId】的值查询参数表,具体SQL内容如下,需传入上一步【paramId】的参数值verificationCodeDuration,用于获取参数表中验证码有效时长的参数记录。

(5)使用单函数组件调用函数addMinute(Date sourceDate,int addValue)获取超时时间,即【当前短信记录的创建时间】累加【验证码有效时长】后的时间。

说明:函数addMinute(Date sourceDate,int addValue)用于对日期值进行累加,第一个需传入的参数为日期值,即第1步中查询到的对应短信记录的创建时间createTime;第二个需传入的参数为增加日期值,即第4步中获取到的验证码有效时长参数记录的paramValue,由于需传入整型参数,而参数表中param_value的数据类型为字符型,故此处需使用函数strToInt(String)对paramValue进行类型转换。

(6)使用单函数组件调用函数secondsDiff(Date startDate,Date endDate)获取【当前系统时间】与【超时时间】的间隔时长。

说明:函数secondsDiff(Date startDate,Date endDate)用于取2个日期相隔秒钟,需传入两个日期,第一个日期为开始日期,即上一步获取到的超时时间;第二个日期为结束日期,即当前系统时间。

(7)使用互斥条件组件根据间隔时长判断验证码是否失效,若间隔时长大于0,说明验证码已超时,输出验证码失效结果;若间隔时长小于等于0,说明验证码未超时,输出验证成功结果。

验证码失效流转条件及输出结果:

验证成功流转条件及输出结果:

4.1.4 退出窗体视图

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

4.1.5 提交并发布接口

4.1.6 测试用例

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

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

(3)通过测试用例响应内容查看接口的执行结果。

验证成功:

验证码失效:

验证失败:

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

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

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月10日
下一篇 2021年11月10日

相关推荐