功能设计功能模块示意图接口实现流程1. 用户注册从请求中取出昵称和密码检查昵称是否合法仅包含字母、数字、连字符-、下划线_长度限制 3~15 位检查密码是否合法仅包含字母、数字长度限制 6~15 位根据昵称查询数据库判断昵称是否已存在向数据库新增用户数据向 ES 服务器新增用户信息组织响应返回注册成功 / 失败结果。2. 用户登录从请求中取出昵称和密码通过昵称从数据库查询用户信息校验密码是否一致检查 Redis 中的登录标记判断用户是否已登录构造会话 ID生成会话键值对向 Redis 添加会话信息及登录标记组织响应返回生成的会话 ID。3. 获取短信验证码从请求中取出手机号码验证手机号码格式必须以 1 开头第二位为 3~9后接 9 位数字生成 4 位随机验证码调用短信平台 SDK 发送验证码构造验证码 ID将 “验证码 ID - 验证码” 映射关系存入 Redis组织响应返回生成的验证码 ID。4. 手机号注册从请求中取出手机号码和验证码校验手机号码格式是否合法从 Redis 中匹配验证码 ID 与验证码的一致性查询数据库判断该手机号是否已注册向数据库新增用户信息向 ES 服务器新增用户信息组织响应返回注册成功 / 失败结果。5. 手机号登录从请求中取出手机号码、验证码 ID 及验证码校验手机号码格式是否合法从 Redis 中匹配验证码 ID 与验证码的一致性根据手机号查询数据库判断用户是否存在检查 Redis 中的登录标记判断用户是否已登录构造会话 ID生成会话键值对向 Redis 添加会话信息及登录标记组织响应返回生成的会话 ID。6. 获取用户信息从请求中取出用户 ID根据用户 ID 查询数据库获取用户基础信息依据用户信息中的头像 ID从文件服务器获取头像文件数据组装完整用户信息组织响应返回用户信息。7. 设置头像从请求中取出用户 ID 与头像数据根据用户 ID 查询数据库判断用户是否存在将头像文件上传至文件子服务将文件子服务返回的头像文件 ID 更新至数据库更新 ES 服务器中的用户信息组织响应返回更新成功 / 失败结果。8. 设置昵称从请求中取出用户 ID 与新昵称校验新昵称格式是否合法仅包含字母、数字、连字符-、下划线_长度 3~15 位根据用户 ID 查询数据库判断用户是否存在将新昵称更新至数据库更新 ES 服务器中的用户信息组织响应返回更新成功 / 失败结果。9. 设置签名从请求中取出用户 ID 与新签名根据用户 ID 查询数据库判断用户是否存在将新签名更新至数据库更新 ES 服务器中的用户信息组织响应返回更新成功 / 失败结果。10. 设置绑定手机号从请求中取出新手机号码、验证码 ID 及验证码校验新手机号码格式是否合法从 Redis 中匹配验证码 ID 与验证码的一致性根据用户 ID 查询数据库判断用户是否存在将新手机号更新至数据库更新 ES 服务器中的用户信息组织响应返回更新成功 / 失败结果。