会员注册
概述
注册分为手动填写信息注册和第三方快速登录注册两种类型
手动填写信息注册分为电脑端和移动端两种注册方式
电脑端:需要用户填写用户名、登录密码和手机号
移动端:无需填写用户名,只需要输入手机号和密码即可
用户名和密码填写规则:
用户名:不能为纯数字,也不可包含特殊字符(例如@、*、#等),并且长度为4-20个字符
密码:长度为6-20个字符,可以包含特殊字符
tip
对于用户输入的登录密码,前端会进行md5加密后再提交给后端,后端会将已经进行md5加密的密码和用户名进行组合,再一次进行md5加密,然后才会存储到数据库中
注册流程
PC端注册

重点步骤说明:
步骤1:填写的信息包括用户名、密码、手机号、图形验证码
用户名填写会调用API校验用户名是否已经被占用,如果被占用则不允许提交注册信息
步骤3:当前版本验证平台包括普通图形验证(默认)和腾讯云-天域图形验证,具体可参考文档:验证方式平台架构
步骤5:要验证手机号格式是否正确,也要验证当前手机号是否已经注册
步骤13-15:注册成功的同时,也要调用登录接口进行会员登录操作
移动端注册

重点步骤说明:
- 步骤3:当前版本验证平台包括普通图形验证(默认)和腾讯云-天域图形验证,具体可参考文档:验证方式平台架构
- 步骤8-10:移动端手机验证码发送和密码填写是分开的,因此点击下一步进入密码填写页面时需要进行短信验证码验证操作
- 步骤12-14:填写完密码后,调用注册API时还需要第二次进行短信验证码验证操作
- 步骤16:由于移动端注册时不会填写用户名,所以在构建会员信息时系统会默认创建用户名,规则为:m_手机号,例如m_13688888888
- 步骤17-20:会员注册成功后要同时调用登录接口进行会员登录操作
API说明
发送手机验证码API
| API地址: | https://{buyer-api-domain}/buyer/passport/smscode/{mobile} | mobile:发送验证码的手机号 |
|---|---|---|
| 请求方式: | POST | |
| 参数1: | scene | 场景标识,注册业务场景为:REGISTER |
| 参数2: | captchas | 图片验证码 |
| 参数3 | uuid | 唯一标识 |
示例:
POST: https://passport.xx.com/buyer/passport/smscode/18618454545?scene=register&captcha=123456&uuid=xxxx
验证手机验证码
| API地址: | https://{buyer-api-domain}/buyer/passport/smscode/{mobile} | mobile:要验证的手机号 |
|---|---|---|
| 请求方式: | GET | |
| 参数1: | sms_code | 要验证的短信码 |
示例:
GET: https://passport.xx.com/buyer/passport/smscode/18618454545?code=123456
移动端注册API
| API地址: | https://{buyer-api-domain}/buyer/passport/wap | |
|---|---|---|
| 请求方式: | POST | |
| 参数1 | mobile | 要注册的手机号 |
| 参数2: | password | 密码 |
示例:
POST: https://passport.xx.com/buyer/passport/mobile?mobile=18618454545&password=123456
PC端注册API
| API地址: | https://{buyer-api-domain}/buyer/passport/pc | |
|---|---|---|
| 请求方式: | POST | |
| 参数1: | username | 密码 |
| 参数2: | mobile | 要注册的手机号 |
| 参数3: | password | 密码 |
| 参数4: | sms_code | 手机验证码 |
用户名重复校验API
| API地址: | https://{buyer-api-domain}/buyer/passport/username/{username} | username:要验证的用户名 |
|---|---|---|
| 请求方式: | GET |
示例:
GET: https://passport.xx.com/buyer/passport/username/张三
如果用户名不存在返回:
{
"exist":false
}
如果用户名存在,则返回
{
"exist":true,
"suggests":["name1","name2"]
}