中安网APP登录注册技术文档

中安网APP登录注册技术文档

关于登录注册的简要说明

简要说明

个人注册

手机号注册

  • 输入手机号码焦点离开输入框时调用接口判断手机号是否已注册(auth/user/is-mobile),点击获取验证码(captcha/mobile/send),发送手机短信
  • 输入正确的短信验证码,点击下一步发送验证请求(captcha/mobile/check)
  • 完善资料,点击注册,发送注册请求(auth/reg/personal)
  • 后端,获取的参数中如果存在用户信息则写入用户信息,如果不存在用户信息就使用默认信息替换。例如昵称、头像等字段
  • 注册成功后,返回用户信息并储存到本地数据库中,同时更新access_key与过期时间
  • 自动跳转到APP首页

第三方注册

  • 参考个人登录的第三方登录

企业注册

  • 填写邮箱,前端需进行正则验证邮箱格式,发送邮箱验证请求(auth/user/is-email),判断是否已经被注册,如果已被注册就弹出提示,如果未被注册就发送验证邮件(captcha/email/send)
  • 用户登录邮箱,点击邮箱中的链接,后端redis中的邮箱验证key设置成已验证状态
  • 前端,用户点击下一步,发送验证请求(captcha/email/check),验证失败就弹出提示,验证成功进入下一步
  • 填写手机号,点击获取验证码,发送手机短信(captcha/mobile/send)
  • 输入正确的短信验证码,点击下一步,发送验证请求(captcha/mobile/check),验证失败就弹出提示,验证成功进入下一步
  • 设置登录密码,点击下一步
  • 填写企业认证信息,并提交,发送注册请求(auth/reg/company)
  • 提交成功,并提示需要在xx工作日完成审核。返回用户信息并储存到本地数据库中,同时更新access_key与过期时间
  • 点击进入首页,进入APP

个人登录

使用access_key登录

  • 打开APP
  • 判断本地数据库中是否存在access_key字段,同时判断其过期时间是否在合法时间内
  • 如果判断失败,进入登录界面
  • 如果判断成功,发送登录请求(auth/login/access-token),登录失败,进入登录界面
  • 登录成功,返回用户信息,并储存/更新到本地数据库中,同时更新access_key与过期时间
  • 自动跳转到APP首页

手机号密码登录

  • 输入手机号码密码
  • 点击登录,发送登录请求(auth/login/password)
  • 后端返回用户信息,并储存/更新到本地数据库中,同时更新access_key与过期时间
  • 返回上一页

手机号验证码登录

  • 输入手机号码,点击获取验证码,发送手机短信
  • 输入正确的短信验证码
  • 点击登录,发送登录请求(auth/login/mobile)
  • 后端返回用户信息,并储存/更新到本地数据库中,同时更新access_key与过期时间
  • 返回上一页

第三方登录

  • 前端通过第三方SDK获取登录后的第三方key(微信中为unionid,qq中为openid)
  • 前端发起登录请求(auth/login/weixin)(auth/login/qq),携带第三方key
  • 如果登录成功,后端返回用户信息,并储存/更新到本地数据库中,同时更新access_key与过期时间,返回上一页
  • 如果登录失败,先获取第三方用户详情,再进入个人手机号登录/注册流程,注意,登录/注册时需携带第三方key、第三方用户详情。这里要注意,第三方登录失败后分两种情况,第一种,有账号就执行登录流程,如果无账号就执行注册流程。

企业登录

使用access_key登录

  • 参考个人登录-使用access_key登录

使用邮箱登录

  • 输入企业邮箱,密码,并点击登录按钮(auth/login/email)
  • 登录失败,提示失败原因。登录成功,返回用户信息,并储存/更新到本地数据库中,同时更新access_key与过期时间
  • 判断用户信息中是否存在邮箱/手机号,如果存在就直接进入APP
  • 如果不存在,跳转到手机号验证邮箱验证界面(参考企业注册)
  • 发送绑定请求(user/setting/bind-mobile),返回如果返回成功,将修改的手机号或邮箱更新到本地数据库中
  • 进入APP

使用手机登录

  • 参考使用邮箱登录

注销登录

  • 点击注销登录按钮,发送注销请求(auth/logout/user)
  • 前端清除用户信息,中的access_key与过期时间,跳转到登录界面
  • 后端同时清除redis中的access_key与过期时间

未登录-找回密码

通过手机号找回密码

  • 输入手机号码,发送验证码(captcha/mobile/send),并填写正确的验证码,点击下一步(captcha/mobile/check)
  • 输入密码,确认密码,点击提交,发送密码找回请求(auth/forget/mobile)

通过邮箱找回密码

  • 输入邮箱,点击发送邮件(captcha/email/send),进入邮箱验证界面
  • 登录邮箱,点击邮箱中的链接
  • 点击下一步(captcha/email/check)
  • 输入密码,确认密码,点击提交,发送密码找回请求(auth/forget/email)

通过电话找回密码

  • 当用户手机号/邮箱无法登录时,可以使用其找回密码
  • 文字提示,需要的文件,将找回密码的文件发送到管理员邮箱
  • 具体文案咨询产品(例如身份证/营业执照/电话核对一下资料等)

已登录-修改绑定邮箱/手机号

  • 进入个人界面,账号绑定功能
  • 选择修改绑定手机/修改绑定邮箱
  • 发送验证码(captcha/mobile/send)/发送邮件(captcha/email/send) 并验证成功(captcha/mobile/check)(captcha/email/check)
  • 填写修改后的手机/修改后的邮箱 并点击提交,发送修改请求(user/setting/bind-mobile)(user/setting/bind-email)
  • 提示修改成功/失败

兴趣标签

  • 登录成功或注册成功后,会返回用户信息,并储存到本地数据库中
  • APP前端判断用户信息的兴趣字段是否为空,如果为空跳转到感兴趣的分类页面,否则直接进入APP
  • 用户选择兴趣后,发起提交请求(user/company/update)(user/personal/update)
  • 用户在请求新闻时,后端会优先展示感兴趣的分类

用户数据库设计

参考数据字典内的文档

发表新评论