短信验证码组件
问题传统软件开发方式一般是在后端将手机号码对应的最新的验证码保存到数据库,校验时查询数据结合时间范围和内容进行比对。但是这种方式并不适用于轻量型分布式低代码开发平台。
平台对功能和业务逻辑做了切割,平台只实现短信发送的功能,数据校验的业务逻辑交给应用软件,平台本身不必替用户存储数据。最简单高效的方式是全部在前端处理,但是前端的安全性比较弱,由此便需要设计一套严谨的安全实现机制。

1、基本配置
验证码组件基本信息
短信的发送功能是由平台对接短信平台实现。短信平台都有内容管控,只允许发送模板短信。因此,在短信验证码组件中需要设置一些必须的属性:1、短信平台账号id,2、模板id,3、模板中短信验证码内容的参数名称,4、模板中其它参数对应的内容。此外,还需有后台管理功能可以配置多个短信平台账号,密码在后台设置,不在前端传送。
2、发送控制
设置短信验证码数字位数,默认6位,还要防止用户过于频繁的点击。短信发送完有可能会有到达手机时不确定的延迟,或者对接短信平台失败、或状态成功实际手机没有收到。设计控制逻辑:点击发送后锁住不可点击,服务器返回状态成功后开始倒计时,直到倒计时完成才可以重新发送;如果发送返回失败,提示原因,可直接重新点击发送。
3、复杂业务逻辑开发
特殊业务编程开发
一般直接使用组件默认功能即可,如果有特殊业务逻辑需要处理,可由用户自行功能开发。支持三种事件:短信发送前,如返回false可阻止短信发送;发送成功,成功后可自行处理数据后端记录、前端提示等;发送失败,同理。
事件编程示例
4、安全校验
验证码比对的工作前置需要从服务器获取上次发送的验证码数据,发送成功之后即可返回。需要注意的是不能使用明文,防止被截获网络数据。也不能使用容易可逆的对称加密,必须使用非对称编码方式。