发表于: 2017-09-25 23:42:25

1 802


今天完成的事情

1.理解短信验证码的逻辑

在注册页加上短信验证码,然后通过在注册页使用 $ajax 的异步传输实现局部刷新(点发送短信验证码按钮,不是整个jsp页面跳转,而是局转跳转去访问控制器内对应的请求映射的处理器方法 ),发送短信验证码到用户填入的手机号中。

假设【获取短信验证码】按钮对应的URL为“/sendSMS”,当点击这个按钮后,前端控制器就会去找处理这个请求的方法,在方法中会调用第三方短信API,向注册用户填入的手机号发送短信验证码,同时在本地保留验证码,用于提交“注册”时验证用户输入的验证码和我们留存的验证码是否 一致。


2.使用容联短信服务

容联的接口文档写的很清楚,需要填的参数少,逻辑清楚,一眼就能看明白。

然后是测试类

测试结果:

输出到控制台的信息:

手机接收到的短信:

比较蛋疼的一点是,容联的测试号码只能是自己的手机号,要是输入的手机号码长度不对或者为空,都只会返回一个“该号码不是测试号码”的异常。


3.使用阿里云短信服务

阿里的短信API的实现代码封装就没容联那么厉害,很多异常要自己catch,而且代用阿里短信API的过程更像是在组装一个请求URL...

因为要用Spring管理账号信息,把调用阿里短信API要用到的账号信息变成相应工具类的字段,并给这些字段添加了setter方法:

因为有了serter方法,所以这些字段的值就实现了用Spring配置文件保存的要求:

还有一些跟demo一样的代码我不想贴了,我就提一个自己碰到的坑,花了一些时间才弄懂是怎么回事。

下面是我的短信模板:

阿里要求在代码里使用JSON格式数据去替换短信模板里的变量${code}:

图中的code是我自己定的验证码,前期打算固定使用一个验证码,后面加入项目中再采用随机的方式。

写了一个测试类,手机收到的短信:


4.对比上面两款第三方短信API

今天尝试了两款不同的短信API,两款都是收费软件,容联注册送8元代金券、短信6分钱1条,阿里云注册送10元代金券、短信4分钱1条。从性价比看是阿里云更划算些,但我感觉还是容联的API做的更成熟一些,上手非常快。

A.使用容联短信API只要照搬它的demo,修改5个参数+把SDK导入项目lib文件下,就可以直接使用了。

B.使用阿里云短信API就比较麻烦了,自己打包SDK,demo也是比较乱,刚开始有点难读懂,入参看着费劲,尤其是要用JSON替代短信模板里的变量,看了好几回才看懂。

C.但是任务要求把账号信息保存在Spring配置文件里,容联的API有个参数,只有1个有setter方法,其他4个没有,所以不能把账号信息保存在Spring配置文件里。阿里云的API的账号信息需要的参数都有setter方法,则可以用Spring管理。


遇到的问题

暂无


收获

学会查看第三方的接口文档。进入新任务的第一天效率略低,明天就能反应过来了。

打日志好处多


明天的计划

完成邮箱的demo、单元测试


进度

当前进度 步骤2

任务开始时间 2017.9.25

预计提交时间 2017.10.2

禅道  http://task.ptteng.com/zentao/project-task.html


返回列表 返回列表
评论

    分享到