@smart-link/im-base 1.0.22 → 1.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,23 +12,36 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.handleConversationReadMessage = exports.handleConversationOptionMessage = exports.handleB2cNotifyFinished = exports.messageUpdateConversation = exports.messageUndo = exports.isArrived = exports.isOffline = exports.extractTipsList = exports.updateSubscribe = exports.initGroupOperateSocketMessage = exports.initB2cSocketMessage = exports.initSocketConversation = exports.initChatSocketMessage = exports.isMyMessage = exports.addUnreadTotal = exports.addOrUpdateConversation = exports.resetMultipleLocalPath = exports.resetQuoteLocalPath = exports.addMessage = exports.isRepeat = exports.handleReceiveMessage = exports.buildNewConversation = void 0;
15
+ exports.handleConversationReadMessage = exports.handleConversationOptionMessage = exports.handleB2cNotifyFinished = exports.messageUpdateConversation = exports.messageUndo = exports.isArrived = exports.isOffline = exports.extractTipsList = exports.updateSubscribe = exports.initGroupOperateSocketMessage = exports.initB2cSocketMessage = exports.initSocketConversation = exports.initChatSocketMessage = exports.isMyMessage = exports.addUnreadTotal = exports.addOrUpdateConversation = exports.resetMultipleLocalPath = exports.resetQuoteLocalPath = exports.addMessage = exports.isRepeat = exports.handleReceiveMessage = exports.buildNewConversation = exports.cleanSyncGroupDetail = void 0;
16
16
  const api_1 = require("../api");
17
17
  const constants_1 = require("../constants");
18
18
  const slice_1 = require("../slice");
19
19
  const carousel_lock_1 = __importDefault(require("../utils/carousel-lock"));
20
20
  const conversation_1 = require("../utils/conversation");
21
21
  const message_1 = require("../utils/message");
22
- function buildNewConversation(imManager, socketConversation) {
23
- var _a, _b, _c;
22
+ let syncGroupDetail = Object.create(null);
23
+ function cleanSyncGroupDetail() {
24
+ syncGroupDetail = Object.create(null);
25
+ }
26
+ exports.cleanSyncGroupDetail = cleanSyncGroupDetail;
27
+ function buildNewConversation(socketConversation) {
28
+ var _a;
24
29
  return __awaiter(this, void 0, void 0, function* () {
25
30
  const { id, type, name, text, time } = socketConversation;
26
31
  let data = {};
27
32
  try {
28
- data = yield (0, api_1.viewOptionSetting)({
29
- conversationId: id,
30
- type,
31
- });
33
+ if (syncGroupDetail[id]) {
34
+ data = syncGroupDetail[id].setting || {};
35
+ }
36
+ else {
37
+ data = yield (0, api_1.viewOptionSetting)({
38
+ conversationId: id,
39
+ type,
40
+ });
41
+ syncGroupDetail[id] = {
42
+ setting: data,
43
+ };
44
+ }
32
45
  }
33
46
  catch (e) {
34
47
  console.log('viewOptionSetting error: ', e);
@@ -38,9 +51,15 @@ function buildNewConversation(imManager, socketConversation) {
38
51
  const imageBackground = data.imageBackground || 'bg0';
39
52
  let avatars, memberTotalCount, chatGroupName;
40
53
  if (type === constants_1.ConversationType.C2G) {
41
- avatars = (_a = imManager.defaultAvatars) === null || _a === void 0 ? void 0 : _a.GROUP; // defaultAvatarsGroup;
42
54
  try {
43
- const group = yield (0, api_1.viewGroupDetail)(id);
55
+ let group;
56
+ if ((_a = syncGroupDetail[id]) === null || _a === void 0 ? void 0 : _a.detail) {
57
+ group = syncGroupDetail[id].detail;
58
+ }
59
+ else {
60
+ group = yield (0, api_1.viewGroupDetail)(id);
61
+ syncGroupDetail[id].detail = group;
62
+ }
44
63
  memberTotalCount = group.memberTotalCount;
45
64
  chatGroupName = group.chatGroupName;
46
65
  avatars = group.avatars;
@@ -51,15 +70,6 @@ function buildNewConversation(imManager, socketConversation) {
51
70
  memberTotalCount = 2;
52
71
  }
53
72
  }
54
- else if (type === constants_1.ConversationType.C2C) {
55
- avatars = socketConversation.avatars;
56
- if (!avatars) {
57
- avatars = (_b = imManager.defaultAvatars) === null || _b === void 0 ? void 0 : _b.EMPTY;
58
- }
59
- }
60
- else if (type === constants_1.ConversationType.B2C) {
61
- avatars = (_c = imManager.defaultAvatars) === null || _c === void 0 ? void 0 : _c.BUSI_NOTIFY;
62
- }
63
73
  return {
64
74
  id,
65
75
  type,
@@ -83,8 +93,9 @@ function buildNewConversation(imManager, socketConversation) {
83
93
  exports.buildNewConversation = buildNewConversation;
84
94
  function handleReceiveMessage(imManager, socketMessage, socketConversation, options = {}) {
85
95
  return __awaiter(this, void 0, void 0, function* () {
86
- console.log('handleReceiveMessage: ', socketMessage, socketConversation);
87
- const { updateAvatars, isDownload = true } = options;
96
+ // console.log('handleReceiveMessage: ', socketMessage, socketConversation);
97
+ const { updateAvatars, isDownload = true, refresh = true } = options;
98
+ // console.log('handleReceiveMessage: ', options);
88
99
  //对同一个会话加锁防止并发消息导致sqlite的数据不一致
89
100
  const prefix = 'conversation_';
90
101
  yield carousel_lock_1.default.lock(prefix + socketConversation.id);
@@ -99,7 +110,7 @@ function handleReceiveMessage(imManager, socketMessage, socketConversation, opti
99
110
  }
100
111
  yield updateSubscribe(imManager, socketMessage);
101
112
  yield addMessage(imManager, socketMessage, isDownload);
102
- yield addOrUpdateConversation(imManager, socketConversation);
113
+ yield addOrUpdateConversation(imManager, socketConversation, refresh);
103
114
  }
104
115
  finally {
105
116
  carousel_lock_1.default.release(prefix + socketConversation.id);
@@ -121,7 +132,12 @@ function addMessage(imManager, socketMessage, isDownload) {
121
132
  imManager.store.dispatch(slice_1.MessageActions.addMessage(imManager, socketMessage, isDownload));
122
133
  }
123
134
  console.log('addMessage: ', socketMessage);
124
- yield imManager.db.insertMessage(socketMessage);
135
+ try {
136
+ yield imManager.db.insertMessage(socketMessage);
137
+ }
138
+ catch (e) {
139
+ console.warn(e);
140
+ }
125
141
  });
126
142
  }
127
143
  exports.addMessage = addMessage;
@@ -154,13 +170,12 @@ function addOrUpdateConversation(imManager, socketConversation, refresh = true)
154
170
  ? socketConversation.messageSeq
155
171
  : conversation.lastMessageSeq, tipsList: [...conversation.tipsList, ...tipsList] });
156
172
  yield imManager.db.updateConversationById(conversation);
157
- console.log('addOrUpdateConversation: ', conversation);
158
173
  if ((0, conversation_1.inConversationPage)(imManager, conversation.id)) {
159
174
  imManager.store.dispatch(slice_1.ConversationActions.updateConversation(conversation));
160
175
  }
161
176
  }
162
177
  else {
163
- conversation = yield buildNewConversation(imManager, socketConversation);
178
+ conversation = yield buildNewConversation(socketConversation);
164
179
  conversation = Object.assign(Object.assign({}, conversation), { lastMessageSeq: socketConversation.updateLastMessageSeq
165
180
  ? socketConversation.lastMessageSeq
166
181
  ? socketConversation.lastMessageSeq
@@ -170,7 +185,7 @@ function addOrUpdateConversation(imManager, socketConversation, refresh = true)
170
185
  yield imManager.db.insertConversation(conversation);
171
186
  }
172
187
  if (refresh) {
173
- console.log('loadConversations');
188
+ console.log('refresh loadConversations');
174
189
  imManager.store.dispatch(slice_1.ConversationActions.loadConversations(imManager));
175
190
  }
176
191
  });
@@ -272,7 +287,7 @@ function updateSubscribe(imManager, socketMessage) {
272
287
  subscribeId = user.userId;
273
288
  }
274
289
  else {
275
- console.log('unknown spreadType ' + socketMessage);
290
+ console.log('[unknown spreadType]: ', socketMessage);
276
291
  return;
277
292
  }
278
293
  yield imManager.db.insertOrUpdateSubscribeMessageSeq({
@@ -338,23 +353,29 @@ function messageUndo(imManager, socketMessage) {
338
353
  messageSeq,
339
354
  messageStatus: 'undo',
340
355
  });
341
- yield messageUpdateConversation(imManager, message.conversationId, socketMessage);
356
+ yield messageUpdateConversation(imManager, message, socketMessage);
342
357
  });
343
358
  }
344
359
  exports.messageUndo = messageUndo;
345
- function messageUpdateConversation(imManager, conversationId, socketMessage) {
360
+ function messageUpdateConversation(imManager, message, socketMessage, refresh = true) {
346
361
  return __awaiter(this, void 0, void 0, function* () {
347
362
  const { messageFrom, messageFromName } = socketMessage;
348
363
  const currentUser = imManager.user;
364
+ const tConversation = yield imManager.db.selectConversationById(message.conversationId);
349
365
  //更新会话
350
366
  const updateData = {
351
- id: conversationId,
367
+ id: message.conversationId,
352
368
  text: currentUser.userId === messageFrom
353
369
  ? imManager.t('youWithdrawMsg')
354
370
  : '"' + messageFromName + '"' + imManager.t('withdrawMsg'),
355
371
  };
372
+ if (tConversation && message.messageStatus === 'arrived') {
373
+ updateData.unreadCount = Math.max(tConversation.unreadCount - 1, 0);
374
+ }
356
375
  yield imManager.db.updateConversationById(updateData);
357
- imManager.store.dispatch(slice_1.ConversationActions.updateConversation(updateData));
376
+ if (refresh) {
377
+ imManager.store.dispatch(slice_1.ConversationActions.updateConversation(updateData));
378
+ }
358
379
  });
359
380
  }
360
381
  exports.messageUpdateConversation = messageUpdateConversation;
@@ -404,7 +425,7 @@ function handleB2cNotifyFinished(imManager, socketMessage) {
404
425
  });
405
426
  }
406
427
  exports.handleB2cNotifyFinished = handleB2cNotifyFinished;
407
- function handleConversationOptionMessage(imManager, socketMessage) {
428
+ function handleConversationOptionMessage(imManager, socketMessage, refresh = true) {
408
429
  return __awaiter(this, void 0, void 0, function* () {
409
430
  const { payload: { conversationId, optionKey, optionValue }, } = socketMessage;
410
431
  let updateData;
@@ -424,7 +445,9 @@ function handleConversationOptionMessage(imManager, socketMessage) {
424
445
  return;
425
446
  }
426
447
  yield imManager.db.updateConversationById(updateData);
427
- imManager.store.dispatch(slice_1.ConversationActions.loadConversations(imManager));
448
+ if (refresh) {
449
+ imManager.store.dispatch(slice_1.ConversationActions.loadConversations(imManager));
450
+ }
428
451
  });
429
452
  }
430
453
  exports.handleConversationOptionMessage = handleConversationOptionMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../src/socket/message-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../src/socket/message-handler.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,4 @@ export declare function buildSyncQueries(imManager: ImManager): Promise<{
6
6
  ack: never[];
7
7
  }[]>;
8
8
  export declare function syncSubscribeListBatch(imManager: ImManager, queries?: SyncQueue[]): Promise<void>;
9
- export declare function handleUndoSocketMessage(imManager: ImManager, socketMessage: IChatMessage): Promise<void>;
9
+ export declare function handleUndoSocketMessage(imManager: ImManager, socketMessage: IChatMessage, refresh?: boolean): Promise<void>;
@@ -23,12 +23,6 @@ const hasReadConversationIdMap = {};
23
23
  function getQuerySize(length) {
24
24
  return Math.min(Math.ceil(MAX_SMS_COUNT / length), MAX_SMS_COUNT);
25
25
  }
26
- // 比较两个 messageSeq 的大小(假设格式为 "m{数字}")
27
- function compareMessageSeq(seq1, seq2) {
28
- const num1 = parseInt(seq1.replace('m', ''));
29
- const num2 = parseInt(seq2.replace('m', ''));
30
- return num1 - num2;
31
- }
32
26
  function buildSyncQueries(imManager) {
33
27
  return __awaiter(this, void 0, void 0, function* () {
34
28
  const id = imManager.user.userId;
@@ -110,16 +104,15 @@ function syncSubscribeListBatch(imManager, queries = []) {
110
104
  if (queries.length === 0) {
111
105
  queries = yield buildSyncQueries(imManager);
112
106
  }
113
- const socketMessages = [], commandMessages = [];
114
- yield emitSync(imManager, queries, socketMessages, commandMessages);
115
- yield handleSocketMessages(imManager, socketMessages);
116
- yield handleCommandMessages(imManager, commandMessages);
107
+ const socketMessages = [];
108
+ yield emitSync(imManager, queries, socketMessages);
109
+ yield handleSyncMessages(imManager, socketMessages);
117
110
  console.log('syncSubscribeListBatch cost time :' + (new Date().getTime() - timeStart) + ' ms');
118
111
  imManager.syncQueries = [];
119
112
  });
120
113
  }
121
114
  exports.syncSubscribeListBatch = syncSubscribeListBatch;
122
- function emitSync(imManager, queries = [], socketMessages, commandMessages) {
115
+ function emitSync(imManager, queries = [], socketMessages) {
123
116
  return __awaiter(this, void 0, void 0, function* () {
124
117
  const resp = yield imManager.emitNoTips(constants_1.SocketEvent.SYNC_SUBSCRIBE_MESSAGE_LIST_BATCH, queries);
125
118
  if (!(0, request_1.isSuccess)(resp)) {
@@ -128,7 +121,7 @@ function emitSync(imManager, queries = [], socketMessages, commandMessages) {
128
121
  const { data: subscribes } = resp || { data: [] };
129
122
  queries = [];
130
123
  for (let i = 0; i < subscribes.length; i++) {
131
- const { ackList, subscribeId, lastMessageSeq } = yield handleSubscribeMessages(imManager, subscribes[i], socketMessages, commandMessages);
124
+ const { ackList, subscribeId, lastMessageSeq } = yield handleSubscribeMessages(imManager, subscribes[i], socketMessages);
132
125
  // 跳过空消息
133
126
  if (subscribes[i].length === 0 || !subscribeId) {
134
127
  continue;
@@ -148,10 +141,10 @@ function emitSync(imManager, queries = [], socketMessages, commandMessages) {
148
141
  query.size = size;
149
142
  return query;
150
143
  });
151
- yield emitSync(imManager, queries, socketMessages, commandMessages);
144
+ yield emitSync(imManager, queries, socketMessages);
152
145
  });
153
146
  }
154
- function handleSubscribeMessages(imManager, subscribeMessages, socketMessages, commandMessages) {
147
+ function handleSubscribeMessages(imManager, subscribeMessages, socketMessages) {
155
148
  var _a, _b;
156
149
  return __awaiter(this, void 0, void 0, function* () {
157
150
  const ackList = [];
@@ -197,21 +190,15 @@ function handleSubscribeMessages(imManager, subscribeMessages, socketMessages, c
197
190
  }
198
191
  handleSocketMessage(imManager, socketMessage);
199
192
  yield imManager.db.insertMessage(socketMessage);
193
+ socketMessage.syncType = 'chat';
200
194
  socketMessages.push(socketMessage);
201
195
  }
202
- else if (subscribeMessage.messageType === 'status') {
203
- // 同步消息状态
204
- subscribeMessage.message.messageSeq = subscribeMessage.parentMessageSeq;
205
- commandMessages.push(subscribeMessage.message);
206
- }
207
- else if (subscribeMessage.messageType === 'groupOperate') {
208
- // 同步命令消息
209
- const commandMessage = subscribeMessage.message;
210
- commandMessages.push(commandMessage);
211
- }
212
- else if (subscribeMessage.messageType === 'conversationOperate') {
213
- const commandMessage = subscribeMessage.message;
214
- commandMessages.push(commandMessage);
196
+ else if (['status', 'groupOperate', 'conversationOperate'].includes(subscribeMessage.messageType)) {
197
+ // 同步消息状态、会话操作、群操作
198
+ const socketMessage = subscribeMessage.message;
199
+ socketMessage.messageSeq = subscribeMessage.parentMessageSeq;
200
+ socketMessage.syncType = 'command';
201
+ socketMessages.push(socketMessage);
215
202
  }
216
203
  else {
217
204
  console.warn('handleSubscribeMessages error: ', subscribeMessage);
@@ -240,83 +227,6 @@ function getAckStatus(imManager, socketMessage) {
240
227
  }
241
228
  return constants_1.MessageStatus.ARRIVED;
242
229
  }
243
- function handleSocketMessages(imManager, socketMessages) {
244
- return __awaiter(this, void 0, void 0, function* () {
245
- console.log('handleSocketMessages count: ', socketMessages.length);
246
- const socketConversationIndex = {};
247
- for (let i = 0, len = socketMessages.length; i < len; i++) {
248
- const socketMessage = socketMessages[i];
249
- mergeSocketConversation(imManager, socketMessage, socketConversationIndex);
250
- }
251
- const socketConversations = Object.values(socketConversationIndex);
252
- console.log('socketConversations: ', socketConversations);
253
- for (let i = 0; i < socketConversations.length; i++) {
254
- yield (0, message_handler_1.addOrUpdateConversation)(imManager, socketConversations[i], false);
255
- }
256
- if (socketConversations.length > 0) {
257
- imManager.store.dispatch(slice_1.ConversationActions.loadConversations(imManager));
258
- }
259
- //更新消息视图
260
- yield updateMessageIfInConversation(imManager, socketMessages);
261
- });
262
- }
263
- function handleCommandMessages(imManager, commandMessages = []) {
264
- return __awaiter(this, void 0, void 0, function* () {
265
- for (let i = 0; i < commandMessages.length; i++) {
266
- const socketMessage = commandMessages[i];
267
- if (socketMessage.payloadType === constants_1.PayloadType.CONVERSATION_MESSAGE_UNDO) {
268
- yield handleUndoSocketMessage(imManager, socketMessage);
269
- continue;
270
- }
271
- if (socketMessage.payloadType === constants_1.PayloadType.RECEIPT_BACK) {
272
- yield handleReceiveBackSocketMessage(imManager, socketMessage);
273
- continue;
274
- }
275
- if (socketMessage.payloadType === constants_1.PayloadType.BUSI_NOTIFY_FINISHED) {
276
- yield (0, message_handler_1.handleB2cNotifyFinished)(imManager, socketMessage);
277
- continue;
278
- }
279
- if (socketMessage.payloadType === constants_1.PayloadType.CONVERSATION_OPTION_SET) {
280
- yield (0, message_handler_1.handleConversationOptionMessage)(imManager, socketMessage);
281
- }
282
- if (socketMessage.payloadType === constants_1.PayloadType.CONVERSATION_READ) {
283
- yield (0, message_handler_1.handleConversationReadMessage)(imManager, socketMessage);
284
- }
285
- if (groupOperateMessage(socketMessage)) {
286
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_DETAIL_CHANGE) {
287
- (0, group_operate_1.groupDetailChangeMessage)(imManager, socketMessage);
288
- }
289
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_BEEN_REMOVED) {
290
- (0, group_operate_1.groupMemberBeenRemovedMessage)(imManager, socketMessage);
291
- }
292
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_INVITE) {
293
- (0, group_operate_1.groupMemberInviteMessage)(imManager, socketMessage);
294
- }
295
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_INVITE_VALIDATE) {
296
- (0, group_operate_1.groupInviteValidateMessage)(imManager, socketMessage);
297
- }
298
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_LEAVE) {
299
- (0, group_operate_1.groupMemberLeaveMessage)(imManager, socketMessage);
300
- }
301
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_REMOVE_NOTICE) {
302
- (0, group_operate_1.groupMemberRemoveNoticeMessage)(imManager, socketMessage);
303
- }
304
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_TRANSFER_NOTICE) {
305
- (0, group_operate_1.groupTransferNoticeMessage)(imManager, socketMessage);
306
- }
307
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_INVITE_VALIDATE_SWITCH) {
308
- (0, group_operate_1.groupInviteValidateSwitchMessage)(imManager, socketMessage);
309
- }
310
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_UPDATE_MANAGER) {
311
- (0, group_operate_1.groupMemberUpdateManagerMessage)(imManager, socketMessage);
312
- }
313
- if (socketMessage.payloadType === constants_1.PayloadType.GROUP_NOTICE) {
314
- (0, group_operate_1.groupNoticeMessage)(imManager, socketMessage);
315
- }
316
- }
317
- }
318
- });
319
- }
320
230
  function handleSocketMessage(imManager, socketMessage) {
321
231
  switch (true) {
322
232
  case c2cChatMessage(socketMessage) || c2gChatMessage(socketMessage): {
@@ -377,24 +287,54 @@ function groupOperateMessage(socketMessage) {
377
287
  constants_1.PayloadType.GROUP_TRANSFER_NOTICE === payloadType ||
378
288
  false);
379
289
  }
380
- function mergeSocketConversation(imManager, socketMessage, socketConversationIndex) {
381
- const { messageSeq, messageTo, messageToName, messageTime: time, conversation: { name, id, type }, payload: { avatars }, text, } = socketMessage;
382
- let socketConversation = socketConversationIndex[id];
383
- if (!socketConversation) {
384
- socketConversation = {
385
- lastMessageSeq: null,
386
- text,
387
- id,
388
- type,
389
- name,
390
- time,
391
- errorText: null,
392
- unreadCount: 0,
393
- messageSeq,
394
- tipsList: [],
290
+ function handleUndoSocketMessage(imManager, socketMessage, refresh = true) {
291
+ return __awaiter(this, void 0, void 0, function* () {
292
+ const { payload: { undoMessageSeq }, } = socketMessage;
293
+ const updateData = {
294
+ messageSeq: undoMessageSeq,
295
+ messageStatus: constants_1.MessageStatus.UNDO,
395
296
  };
396
- }
397
- socketConversation = Object.assign(Object.assign({}, socketConversation), { text, time, name, type });
297
+ const [message] = yield imManager.db.selectMessage({ messageSeq: undoMessageSeq }, true);
298
+ if (!message) {
299
+ return;
300
+ }
301
+ yield imManager.db.updateMessage(updateData);
302
+ if ((0, conversation_1.inConversationPage)(imManager, message.conversationId)) {
303
+ imManager.store.dispatch(slice_1.MessageActions.updateMessage(undoMessageSeq, updateData));
304
+ }
305
+ yield (0, message_handler_1.messageUpdateConversation)(imManager, message, socketMessage, refresh);
306
+ });
307
+ }
308
+ exports.handleUndoSocketMessage = handleUndoSocketMessage;
309
+ function handleReceiveBackSocketMessage(imManager, socketMessage) {
310
+ return __awaiter(this, void 0, void 0, function* () {
311
+ const { messageTime, payload: { receiptBackMessageSeq, receiptBackMessageStatus }, } = socketMessage;
312
+ const tMessage = yield imManager.db.addReceiptBackList(receiptBackMessageSeq, {
313
+ receiptBackMessageTime: messageTime,
314
+ receiptBackMessageStatus,
315
+ });
316
+ if (!tMessage) {
317
+ return;
318
+ }
319
+ if ((0, conversation_1.inConversationPage)(imManager, tMessage.conversationId)) {
320
+ imManager.store.dispatch(slice_1.MessageActions.updateMessage(receiptBackMessageSeq, tMessage));
321
+ }
322
+ });
323
+ }
324
+ function handleSocketConversation(imManager, socketMessage) {
325
+ const { messageSeq, messageTo, messageToName, messageTime: time, conversation: { name, id, type }, payload: { avatars }, text, } = socketMessage;
326
+ const socketConversation = {
327
+ lastMessageSeq: null,
328
+ text,
329
+ id,
330
+ type,
331
+ name,
332
+ time,
333
+ errorText: null,
334
+ unreadCount: 0,
335
+ messageSeq,
336
+ tipsList: [],
337
+ };
398
338
  if (avatars) {
399
339
  socketConversation.avatars = avatars;
400
340
  }
@@ -419,50 +359,96 @@ function mergeSocketConversation(imManager, socketMessage, socketConversationInd
419
359
  if (c2gChatMessage(socketMessage)) {
420
360
  socketConversation.tipsList = [...socketConversation.tipsList, ...(0, message_handler_1.extractTipsList)(imManager, socketMessage)];
421
361
  }
422
- socketConversationIndex[id] = socketConversation;
362
+ return socketConversation;
423
363
  }
424
- function updateMessageIfInConversation(imManager, socketMessages) {
364
+ function handleChatMessage(imManager, socketMessage) {
425
365
  return __awaiter(this, void 0, void 0, function* () {
426
- const { currentConversation } = imManager.store.getState()['chat/conversation'];
427
- if (currentConversation) {
428
- let tConversation = yield imManager.db.selectConversationById(currentConversation.id);
429
- imManager.store.dispatch(slice_1.ConversationActions.conversationRead(imManager, tConversation));
430
- imManager.store.dispatch(slice_1.MessageActions.addMessages(imManager, currentConversation.id, socketMessages.filter(item => item.conversationId === currentConversation.id)));
431
- }
366
+ const socketConversation = handleSocketConversation(imManager, socketMessage);
367
+ yield (0, message_handler_1.addOrUpdateConversation)(imManager, socketConversation, false);
432
368
  });
433
369
  }
434
- function handleUndoSocketMessage(imManager, socketMessage) {
370
+ function handleCommandMessage(imManager, socketMessage) {
435
371
  return __awaiter(this, void 0, void 0, function* () {
436
- const { payload: { undoMessageSeq }, } = socketMessage;
437
- const updateData = {
438
- messageSeq: undoMessageSeq,
439
- messageStatus: constants_1.MessageStatus.UNDO,
440
- };
441
- yield imManager.db.updateMessage(updateData);
442
- const messages = yield imManager.db.selectMessage({ messageSeq: undoMessageSeq }, true);
443
- if (messages.length === 0) {
372
+ if (socketMessage.payloadType === constants_1.PayloadType.CONVERSATION_MESSAGE_UNDO) {
373
+ yield handleUndoSocketMessage(imManager, socketMessage, false);
444
374
  return;
445
375
  }
446
- if ((0, conversation_1.inConversationPage)(imManager, messages[0].conversationId)) {
447
- imManager.store.dispatch(slice_1.MessageActions.updateMessage(undoMessageSeq, updateData));
376
+ if (socketMessage.payloadType === constants_1.PayloadType.RECEIPT_BACK) {
377
+ yield handleReceiveBackSocketMessage(imManager, socketMessage);
378
+ return;
379
+ }
380
+ if (socketMessage.payloadType === constants_1.PayloadType.BUSI_NOTIFY_FINISHED) {
381
+ yield (0, message_handler_1.handleB2cNotifyFinished)(imManager, socketMessage);
382
+ return;
383
+ }
384
+ if (socketMessage.payloadType === constants_1.PayloadType.CONVERSATION_OPTION_SET) {
385
+ yield (0, message_handler_1.handleConversationOptionMessage)(imManager, socketMessage, false);
386
+ return;
387
+ }
388
+ if (socketMessage.payloadType === constants_1.PayloadType.CONVERSATION_READ) {
389
+ yield (0, message_handler_1.handleConversationReadMessage)(imManager, socketMessage);
390
+ return;
391
+ }
392
+ if (groupOperateMessage(socketMessage)) {
393
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_DETAIL_CHANGE) {
394
+ (0, group_operate_1.groupDetailChangeMessage)(imManager, socketMessage, false);
395
+ return;
396
+ }
397
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_BEEN_REMOVED) {
398
+ (0, group_operate_1.groupMemberBeenRemovedMessage)(imManager, socketMessage, false);
399
+ return;
400
+ }
401
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_INVITE) {
402
+ (0, group_operate_1.groupMemberInviteMessage)(imManager, socketMessage, false);
403
+ return;
404
+ }
405
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_INVITE_VALIDATE) {
406
+ (0, group_operate_1.groupInviteValidateMessage)(imManager, socketMessage, false);
407
+ return;
408
+ }
409
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_LEAVE) {
410
+ (0, group_operate_1.groupMemberLeaveMessage)(imManager, socketMessage, false);
411
+ return;
412
+ }
413
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_REMOVE_NOTICE) {
414
+ (0, group_operate_1.groupMemberRemoveNoticeMessage)(imManager, socketMessage, false);
415
+ return;
416
+ }
417
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_TRANSFER_NOTICE) {
418
+ (0, group_operate_1.groupTransferNoticeMessage)(imManager, socketMessage, false);
419
+ return;
420
+ }
421
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_INVITE_VALIDATE_SWITCH) {
422
+ (0, group_operate_1.groupInviteValidateSwitchMessage)(imManager, socketMessage, false);
423
+ return;
424
+ }
425
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_MEMBER_UPDATE_MANAGER) {
426
+ (0, group_operate_1.groupMemberUpdateManagerMessage)(imManager, socketMessage, false);
427
+ return;
428
+ }
429
+ if (socketMessage.payloadType === constants_1.PayloadType.GROUP_NOTICE) {
430
+ (0, group_operate_1.groupNoticeMessage)(imManager, socketMessage, false);
431
+ }
448
432
  }
449
- yield (0, message_handler_1.messageUpdateConversation)(imManager, messages[0].conversationId, socketMessage);
450
433
  });
451
434
  }
452
- exports.handleUndoSocketMessage = handleUndoSocketMessage;
453
- function handleReceiveBackSocketMessage(imManager, socketMessage) {
435
+ function handleSyncMessages(imManager, socketMessages) {
454
436
  return __awaiter(this, void 0, void 0, function* () {
455
- const { messageTime, payload: { receiptBackMessageSeq, receiptBackMessageStatus }, } = socketMessage;
456
- const tMessage = yield imManager.db.addReceiptBackList(receiptBackMessageSeq, {
457
- receiptBackMessageTime: messageTime,
458
- receiptBackMessageStatus,
459
- });
460
- if (!tMessage) {
461
- return;
462
- }
463
- if ((0, conversation_1.inConversationPage)(imManager, tMessage.conversationId)) {
464
- imManager.store.dispatch(slice_1.MessageActions.updateMessage(receiptBackMessageSeq, tMessage));
437
+ for (let i = 0; i < socketMessages.length; i++) {
438
+ const socketMessage = socketMessages[i];
439
+ if (!socketMessage.messageSeq) {
440
+ continue;
441
+ }
442
+ if (socketMessage.syncType === 'chat') {
443
+ yield handleChatMessage(imManager, socketMessage);
444
+ }
445
+ else {
446
+ yield handleCommandMessage(imManager, socketMessage);
447
+ }
465
448
  }
449
+ console.log('sync finished and loadConversations');
450
+ (0, message_handler_1.cleanSyncGroupDetail)();
451
+ imManager.store.dispatch(slice_1.ConversationActions.loadConversations(imManager));
466
452
  });
467
453
  }
468
454
  //# sourceMappingURL=sync-subscribe.js.map