news 2026/9/3 4:14:21

即时通讯项目--UserService

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
即时通讯项目--UserService

功能设计

功能模块示意图

接口实现流程

1. 用户注册

  1. 从请求中取出昵称和密码;
  2. 检查昵称是否合法(仅包含字母、数字、连字符-、下划线_,长度限制 3~15 位);
  3. 检查密码是否合法(仅包含字母、数字,长度限制 6~15 位);
  4. 根据昵称查询数据库,判断昵称是否已存在;
  5. 向数据库新增用户数据;
  6. 向 ES 服务器新增用户信息;
  7. 组织响应,返回注册成功 / 失败结果。

2. 用户登录

  1. 从请求中取出昵称和密码;
  2. 通过昵称从数据库查询用户信息,校验密码是否一致;
  3. 检查 Redis 中的登录标记,判断用户是否已登录;
  4. 构造会话 ID,生成会话键值对,向 Redis 添加会话信息及登录标记;
  5. 组织响应,返回生成的会话 ID。

3. 获取短信验证码

  1. 从请求中取出手机号码;
  2. 验证手机号码格式(必须以 1 开头,第二位为 3~9,后接 9 位数字);
  3. 生成 4 位随机验证码;
  4. 调用短信平台 SDK 发送验证码;
  5. 构造验证码 ID,将 “验证码 ID - 验证码” 映射关系存入 Redis;
  6. 组织响应,返回生成的验证码 ID。

4. 手机号注册

  1. 从请求中取出手机号码和验证码;
  2. 校验手机号码格式是否合法;
  3. 从 Redis 中匹配验证码 ID 与验证码的一致性;
  4. 查询数据库,判断该手机号是否已注册;
  5. 向数据库新增用户信息;
  6. 向 ES 服务器新增用户信息;
  7. 组织响应,返回注册成功 / 失败结果。

5. 手机号登录

  1. 从请求中取出手机号码、验证码 ID 及验证码;
  2. 校验手机号码格式是否合法;
  3. 从 Redis 中匹配验证码 ID 与验证码的一致性;
  4. 根据手机号查询数据库,判断用户是否存在;
  5. 检查 Redis 中的登录标记,判断用户是否已登录;
  6. 构造会话 ID,生成会话键值对,向 Redis 添加会话信息及登录标记;
  7. 组织响应,返回生成的会话 ID。

6. 获取用户信息

  1. 从请求中取出用户 ID;
  2. 根据用户 ID 查询数据库,获取用户基础信息;
  3. 依据用户信息中的头像 ID,从文件服务器获取头像文件数据,组装完整用户信息;
  4. 组织响应,返回用户信息。

7. 设置头像

  1. 从请求中取出用户 ID 与头像数据;
  2. 根据用户 ID 查询数据库,判断用户是否存在;
  3. 将头像文件上传至文件子服务;
  4. 将文件子服务返回的头像文件 ID 更新至数据库;
  5. 更新 ES 服务器中的用户信息;
  6. 组织响应,返回更新成功 / 失败结果。

8. 设置昵称

  1. 从请求中取出用户 ID 与新昵称;
  2. 校验新昵称格式是否合法(仅包含字母、数字、连字符-、下划线_,长度 3~15 位);
  3. 根据用户 ID 查询数据库,判断用户是否存在;
  4. 将新昵称更新至数据库;
  5. 更新 ES 服务器中的用户信息;
  6. 组织响应,返回更新成功 / 失败结果。

9. 设置签名

  1. 从请求中取出用户 ID 与新签名;
  2. 根据用户 ID 查询数据库,判断用户是否存在;
  3. 将新签名更新至数据库;
  4. 更新 ES 服务器中的用户信息;
  5. 组织响应,返回更新成功 / 失败结果。

10. 设置绑定手机号

  1. 从请求中取出新手机号码、验证码 ID 及验证码;
  2. 校验新手机号码格式是否合法;
  3. 从 Redis 中匹配验证码 ID 与验证码的一致性;
  4. 根据用户 ID 查询数据库,判断用户是否存在;
  5. 将新手机号更新至数据库;
  6. 更新 ES 服务器中的用户信息;
  7. 组织响应,返回更新成功 / 失败结果。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 1:48:09

Excel高效查找技巧:SMALL函数结合模糊查找与超链接应用

一、前言 在日常数据处理工作中,我们经常需要从大量数据中筛选出特定信息。今天我将分享一个Excel中非常实用的技巧:使用SMALL函数结合模糊查找和超链接功能,实现动态数据查询和快速跳转。这种方法特别适用于需要在大型数据表中按条件筛选并…

作者头像 李华
网站建设 2026/9/2 23:55:19

Quora 多账号内容营销:如何避免被判定为“操纵舆论”?

Quora 一直是海外内容营销的重要阵地:高权重、搜索可见、用户愿意看长回答。但很多团队在尝试用多个账号做内容矩阵时,会遇到同一个问题: 回答被折叠、曝光突然下降,甚至账号被限制,提示涉及 coordinated behavior 或 …

作者头像 李华