前端:

1、优化消息排序逻辑
2、新增加载历史消息
3、修复已知问题
后端:
1、优化消息排序逻辑
2、增加用户信息缓存机制
3、修改日期类型为DateTimeOffset改善时区信息丢失问题
3、修复了已知问题
数据库:
1、新增SequenceId字段用于消息排序
2、新增ClientMsgId字段用于客户端消息回执
This commit is contained in:
2026-02-07 22:37:56 +08:00
118 changed files with 10691 additions and 452 deletions
@@ -1,4 +1,7 @@
using IM_API.Dtos;
using IM_API.Dtos.Message;
using IM_API.Models;
using IM_API.VOs.Message;
namespace IM_API.Interface.Services
{
@@ -11,7 +14,7 @@ namespace IM_API.Interface.Services
/// <param name="receiverId">接收人</param>
/// <param name="dto"></param>
/// <returns></returns>
Task<MessageBaseDto> SendPrivateMessageAsync(int senderId,int receiverId,MessageBaseDto dto);
Task<MessageBaseVo> SendPrivateMessageAsync(int senderId,int receiverId,MessageBaseDto dto);
/// <summary>
/// 发送群聊消息
/// </summary>
@@ -19,16 +22,21 @@ namespace IM_API.Interface.Services
/// <param name="groupId">接收群id</param>
/// <param name="dto"></param>
/// <returns></returns>
Task<MessageBaseDto> SendGroupMessageAsync(int senderId,int groupId,MessageBaseDto dto);
Task<MessageBaseVo> SendGroupMessageAsync(int senderId,int groupId,MessageBaseDto dto);
/// <summary>
/// 获取消息列表
/// 消息入库
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
Task MakeMessageAsync(Message message);
/// <summary>
/// 获取历史消息列表
/// </summary>
/// <param name="conversationId">会话id(用于获取指定用户间聊天消息)</param>
/// <param name="msgId">消息id</param>
/// <param name="sequenceId">消息id</param>
/// <param name="pageSize">获取消息数量</param>
/// <param name="desc"></param>
/// <returns></returns>
Task<List<MessageBaseDto>> GetMessagesAsync(int userId, int conversationId,int? msgId,int? pageSize,bool desc);
Task<List<MessageBaseVo>> GetMessagesAsync(int userId,MessageQueryDto dto);
/// <summary>
/// 获取未读消息数
/// </summary>