如何利用bmob的云服务实现获取验证码登陆操作

如题所述

如果有啥问题可以提交工单或者直接在群里面问,代码如下:

以上代码中username.replace(” “,”“)是因为在EditView中用户输入的手机号码,我做了显示格式处理(xxx xxxx xxxx),所以在提交给登录接口时需要将手机号码中的空格去掉再提交。

因为项目是采用的MVP架构,以上的代码只是View层的实现,真正的登录实现是在Model层中使用BmobSDK进行的登录操作。

这里只是将手机号码作为了username,所以和前两篇文章使用的登录方法是一样的。接下来是手机号注册的实现,在这篇文章的示例中,手机号注册用到了三个元素(手机号、验证码、密码)。

实际上用Bmob SDK提供的手机号注册方法是只需要手机号和验证码即可完成注册过程的,为什么示例中却还有另一个密码值呢?我们先看完代码再说。


以上代码中User对象是继承自BmobUser的,并扩展了一个nickname(昵称)属性。

BmobUser类有一个静态方法signOrLoginByMobilePhone(Context context, String phoneNumber, String security_code, LogInListener listener)是用来做手机号一键注册或登录的。

但是如果注册时需要设置其他属性(如:昵称等等)一同提交就不能用signOrLoginByMobilePhone了。

所以为了满足这样的需求,我采用了另一种方法signOrLogin来实现。并且将手机号码设置为默认的用户名’user.setUsername(phone_number)‘,默认初始密码为123456 以及用手机号码作为默认的昵称‘user.setNickname(phone_number)’

接下来看看重置密码部分的实现:

很简单,只需要调用BmobUser的静态方法resetPasswordBySMSCode,传入新密码和短信验证码即可完成重置密码的过程。

最后再说一下注册和重置密码中用到的短信验证码的获取方法:

验证码模板名称是在Bmob后台创建短信内容模板定义的名称,可以为注册、重置密码创建不同的短信模板,比如:”xx应用,您的注册验证码为xxxxxx。”,”xx应用,您正在重置密码,验证码为xxxxxx,如非本人操作,请忽略。”

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网