实现IM系统与PC端一致的WebSocket连接,优化聊天功能,支持多端消息同步,更新联系人和会话列表接口,增强用户体验。

This commit is contained in:
geht
2026-07-21 15:53:06 +08:00
parent f24a21a41c
commit 7a9c19e4f3
171 changed files with 661 additions and 747 deletions

View File

@@ -601,3 +601,8 @@ jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/entity/MesXslRubberQuickTestRecord.java
jeecgboot-vue3/src/views/xslmes/mesXslRubberQuickTestRecord/MesXslRubberQuickTestRecord.data.ts
jeecgboot-vue3/src/views/xslmes/mesXslRubberQuickTestRecord/components/MesXslRubberQuickTestRecordModal.vue
-- author:xsl---date:20260720--for: <20><>IM<49><4D><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD> WebSocket<65><74>ͬ<EFBFBD>˺<EFBFBD> PC/APP <20><><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>ʾ ---
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/im/service/impl/SysImChatServiceImpl.java
jeecgboot-vue3/src/views/system/im/imCache.ts
jeecgboot-vue3/src/views/system/im/ImChat.vue

View File

@@ -1019,9 +1019,9 @@ public class SysImChatServiceImpl implements ISysImChatService {
List<SysImConversationMember> members = memberMapper.selectList(new LambdaQueryWrapper<SysImConversationMember>()
.eq(SysImConversationMember::getConversationId, conversationId));
for (SysImConversationMember member : members) {
if (senderId.equals(member.getUserId())) {
continue;
}
//update-begin---author:xsl ---date:20260720 for【IM多端同步】发送方也推送供同账号其他端同步发送端用 messageId 去重-----------
// 原逻辑跳过 senderId导致 PC/APP 同账号互不同步
//update-end---author:xsl ---date:20260720 for【IM多端同步】发送方也推送供同账号其他端同步发送端用 messageId 去重-----------
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.MSG_CHAT);
obj.put(WebsocketConst.MSG_USER_ID, member.getUserId());