作为一个刚入行的java开发工程师,必须时刻学习新知识巩固已掌握的技能,才能迎难而上,在IT界生存下去,下面是之前做的一个项目,做了短信验证码的功能,使用的是中国网建提供的API,来跟大家分享一下这个流程,如果有什么需要更正或者做错的地方,请大家多多指教啦.

首先直接上图,发送短信验证码肯定是使用AJAX异步请求,这是前端页面,主要是所需要发送的手机号这一参数

为什么发送验证码要用redis 发送验证码类短信需求_验证码


这是所发起的AJAX异步请求,这里进行了一些校验,因为需要防止重复点击而重复发送验证码,进行了判断,当按钮点击之后立马禁用按钮,使用计时器来完成按钮的还原可点击状态,讲多了哈,主要还是发送验证码这一个功能

为什么发送验证码要用redis 发送验证码类短信需求_验证码_02


接下来是我们的控制器,当然只是作为一个接口,具体业务还是交给我们的业务层service来处理业务

为什么发送验证码要用redis 发送验证码类短信需求_验证码_03


接下来的话,由于验证码需要一些信息,我将这个验证码的信息封装成一个实体类,验证码信息是不需要保存的,所以数据库不需要建表,下面是我封装的验证码信息,很简单的三个信息,发送验证码所需要的手机号码,和验证码(后面我是用4位数的UUID来实现),还有发送时间

为什么发送验证码要用redis 发送验证码类短信需求_验证码_04


接下来是我们的业务层处理验证码的发送,主要是跟中国网建提供的API进行数据交互,传入所需要的参数

为什么发送验证码要用redis 发送验证码类短信需求_验证码_05


下面就是我们的验证码相关信息的操作,由于需要对上一次验证码的信息进行判断,我们将验证码信息放在session里面,并从session里取出判断当验证码不空时,或者当上一次发送的验证码是否与现在的时间不超过多少秒(一般是60秒)时,则可以进行发送验证码,并进行验证码信息的编辑和保存.下面是实际的验证码发送操作,直接上图

为什么发送验证码要用redis 发送验证码类短信需求_短信验证码_06


为什么发送验证码要用redis 发送验证码类短信需求_AJAX_07


为什么发送验证码要用redis 发送验证码类短信需求_验证码_08

总结一下:短信验证码的发送,还是不难的,主要还是与短信验证码的提供商进行一些数据的交互