手机APP接口:设计一个获取手机验证码的功能

现在的项目中,都会涉及到一个手机验证码获取功能
我们今天就来探讨下如何更好的设计好这个看似小的功能

给APP设计一个获取手机验证码的接口

根据业务逻辑,初步总结了可能会有以下业务场景 需要用到手机验证码的验证功能

大家来看下图片吧

手机APP接口:设计一个获取手机验证码的功能_第1张图片


login:登录
register:注册
chgpaypwd:支付密码修改
chgloginpwd:登陆密码修改
bindcard:绑定银行卡
unbindcard:解绑银行卡
oldSafePhone:旧安全手机号
newSafePhone:新的安全手机号


问题来了

接口在返回的时候 是否需要带上 刚才APP传递过来的手机号码呢?

一开始我觉得是不需要的

但是后来 项目经理说 这个需要

原因如下

不同的业务场景,验证的手机号码也不尽相同.
比如 我现在要修改下我的银行卡支付密码
这个时候就需要往 安全手机号 这一类的手机号码发送 验证码
而用户此时 可能存在 登录/常用 手机号 不是 安全手机号码的 可能
因此 需要在响应的时候带上 手机号码

同时 APP 在做 提示的时候 ,也可以清楚的告知客户 究竟发送到了那个手机
比如: 已经将验证码发送至139****2751 ,请注意查收

接口响应

手机APP接口:设计一个获取手机验证码的功能_第2张图片

弱弱的问一句

需要把服务器端的验证码 发送给 手机客户端,让手机客户端 验证下 这个验证码是否和用户输入一致吗?

我想说,你这个问题千万别问出口哦. 后果不可想象

到这里就结束了

一个符合产品需求,又可以满足安全,正常逻辑的 手机验证码功能接口
就搞定了.

当然在后端的逻辑支撑,你可能也需要了解下:

  1. 首先你需要一个手机短信验证码提供商 (这个百度一下,满大街)
  2. 通常情况下,你自己也是需要记录一下短信是否发送成功的(提供商的交互)
  3. 给客户端的验证码,你需要存储下来,并且是有一定的时效性的(利用redis)
  4. 学习和借鉴下微信的验证码,通常 你这一天,他都是那个同样的验证码(省钱?)

上述 文字,是我自己的一点想法,大家觉得不对的地方,请不吝赐教

你可能感兴趣的:(java,项目)