@smart-link/im-base 1.0.23 → 1.0.25

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.
Files changed (134) hide show
  1. package/dist/DBAdapter.js +1 -3
  2. package/dist/DBAdapter.js.map +1 -1
  3. package/dist/ImManager.js +60 -65
  4. package/dist/ImManager.js.map +1 -1
  5. package/dist/api/api.config.js +1 -3
  6. package/dist/api/api.config.js.map +1 -1
  7. package/dist/api/index.js +12 -28
  8. package/dist/api/index.js.map +1 -1
  9. package/dist/constants.d.ts +1 -1
  10. package/dist/constants.js +19 -22
  11. package/dist/constants.js.map +1 -1
  12. package/dist/db/indexdb/index.js +38 -20
  13. package/dist/db/indexdb/index.js.map +1 -1
  14. package/dist/db/indexdb/indexdb.config.js +7 -4
  15. package/dist/db/indexdb/indexdb.config.js.map +1 -1
  16. package/dist/db/sqlite/index.d.ts +1 -1
  17. package/dist/db/sqlite/index.js +57 -30
  18. package/dist/db/sqlite/index.js.map +1 -1
  19. package/dist/db/sqlite/scripts/db-script-1.0.0.js +1 -3
  20. package/dist/db/sqlite/scripts/db-script-1.0.0.js.map +1 -1
  21. package/dist/db/sqlite/scripts/db-script-1.0.1.js +1 -3
  22. package/dist/db/sqlite/scripts/db-script-1.0.1.js.map +1 -1
  23. package/dist/db/sqlite/sqlite.config.js +5 -10
  24. package/dist/db/sqlite/sqlite.config.js.map +1 -1
  25. package/dist/index.js +13 -38
  26. package/dist/index.js.map +1 -1
  27. package/dist/interface.d.ts +7 -3
  28. package/dist/interface.js +1 -2
  29. package/dist/locales/en/im.js +1 -3
  30. package/dist/locales/en/im.js.map +1 -1
  31. package/dist/locales/index.js +4 -27
  32. package/dist/locales/index.js.map +1 -1
  33. package/dist/locales/lao/im.js +1 -3
  34. package/dist/locales/lao/im.js.map +1 -1
  35. package/dist/locales/zh/im.js +1 -3
  36. package/dist/locales/zh/im.js.map +1 -1
  37. package/dist/slice/call/call.action.js +1 -2
  38. package/dist/slice/call/call.action.js.map +1 -1
  39. package/dist/slice/call/call.slice.js +4 -8
  40. package/dist/slice/call/call.slice.js.map +1 -1
  41. package/dist/slice/collection/collection.action.js +8 -13
  42. package/dist/slice/collection/collection.action.js.map +1 -1
  43. package/dist/slice/collection/collection.slice.js +5 -9
  44. package/dist/slice/collection/collection.slice.js.map +1 -1
  45. package/dist/slice/collection/index.js +3 -29
  46. package/dist/slice/collection/index.js.map +1 -1
  47. package/dist/slice/conversation/conversation.action.js +129 -191
  48. package/dist/slice/conversation/conversation.action.js.map +1 -1
  49. package/dist/slice/conversation/conversation.slice.js +5 -9
  50. package/dist/slice/conversation/conversation.slice.js.map +1 -1
  51. package/dist/slice/conversation/index.js +3 -29
  52. package/dist/slice/conversation/index.js.map +1 -1
  53. package/dist/slice/forward/forward.action.js +32 -41
  54. package/dist/slice/forward/forward.action.js.map +1 -1
  55. package/dist/slice/forward/forward.slice.js +4 -7
  56. package/dist/slice/forward/forward.slice.js.map +1 -1
  57. package/dist/slice/forward/index.js +3 -29
  58. package/dist/slice/forward/index.js.map +1 -1
  59. package/dist/slice/getState.js +4 -11
  60. package/dist/slice/getState.js.map +1 -1
  61. package/dist/slice/group/group.action.js +6 -13
  62. package/dist/slice/group/group.action.js.map +1 -1
  63. package/dist/slice/group/group.slice.js +5 -9
  64. package/dist/slice/group/group.slice.js.map +1 -1
  65. package/dist/slice/group/index.js +4 -31
  66. package/dist/slice/group/index.js.map +1 -1
  67. package/dist/slice/index.js +23 -57
  68. package/dist/slice/index.js.map +1 -1
  69. package/dist/slice/message/index.d.ts +1 -4
  70. package/dist/slice/message/index.js +4 -30
  71. package/dist/slice/message/index.js.map +1 -1
  72. package/dist/slice/message/message.action.js +69 -90
  73. package/dist/slice/message/message.action.js.map +1 -1
  74. package/dist/slice/message/message.panel.action.d.ts +1 -1
  75. package/dist/slice/message/message.panel.action.js +111 -101
  76. package/dist/slice/message/message.panel.action.js.map +1 -1
  77. package/dist/slice/message/message.slice.d.ts +1 -7
  78. package/dist/slice/message/message.slice.js +5 -20
  79. package/dist/slice/message/message.slice.js.map +1 -1
  80. package/dist/slice/setting/index.js +4 -30
  81. package/dist/slice/setting/index.js.map +1 -1
  82. package/dist/slice/setting/setting.action.js +31 -39
  83. package/dist/slice/setting/setting.action.js.map +1 -1
  84. package/dist/slice/setting/setting.slice.js +4 -7
  85. package/dist/slice/setting/setting.slice.js.map +1 -1
  86. package/dist/socket/emitter-call.js +1 -2
  87. package/dist/socket/emitter-call.js.map +1 -1
  88. package/dist/socket/emitter-message.js +77 -112
  89. package/dist/socket/emitter-message.js.map +1 -1
  90. package/dist/socket/listener/busi-notify.js +3 -31
  91. package/dist/socket/listener/busi-notify.js.map +1 -1
  92. package/dist/socket/listener/c2c.d.ts +1 -0
  93. package/dist/socket/listener/c2c.js +28 -54
  94. package/dist/socket/listener/c2c.js.map +1 -1
  95. package/dist/socket/listener/c2g.d.ts +0 -1
  96. package/dist/socket/listener/c2g.js +10 -17
  97. package/dist/socket/listener/c2g.js.map +1 -1
  98. package/dist/socket/listener/conversation.js +5 -68
  99. package/dist/socket/listener/conversation.js.map +1 -1
  100. package/dist/socket/listener/group-operate.js +25 -62
  101. package/dist/socket/listener/group-operate.js.map +1 -1
  102. package/dist/socket/listener/index.d.ts +1 -1
  103. package/dist/socket/listener/index.js +7 -32
  104. package/dist/socket/listener/index.js.map +1 -1
  105. package/dist/socket/listener/one-2-one-call.js +1 -2
  106. package/dist/socket/listener/one-2-one-call.js.map +1 -1
  107. package/dist/socket/listener/session.js +35 -49
  108. package/dist/socket/listener/session.js.map +1 -1
  109. package/dist/socket/message-handler.d.ts +2 -1
  110. package/dist/socket/message-handler.js +143 -115
  111. package/dist/socket/message-handler.js.map +1 -1
  112. package/dist/socket/sync-subscribe.js +86 -91
  113. package/dist/socket/sync-subscribe.js.map +1 -1
  114. package/dist/utils/carousel-lock.js +1 -3
  115. package/dist/utils/carousel-lock.js.map +1 -1
  116. package/dist/utils/conversation.d.ts +1 -1
  117. package/dist/utils/conversation.js +7 -13
  118. package/dist/utils/conversation.js.map +1 -1
  119. package/dist/utils/file.js +11 -15
  120. package/dist/utils/file.js.map +1 -1
  121. package/dist/utils/guid.js +1 -5
  122. package/dist/utils/guid.js.map +1 -1
  123. package/dist/utils/message.d.ts +1 -0
  124. package/dist/utils/message.js +65 -65
  125. package/dist/utils/message.js.map +1 -1
  126. package/dist/utils/request.js +10 -20
  127. package/dist/utils/request.js.map +1 -1
  128. package/dist/utils/time.js +2 -7
  129. package/dist/utils/time.js.map +1 -1
  130. package/dist/utils/url.js +4 -11
  131. package/dist/utils/url.js.map +1 -1
  132. package/dist/utils/version.js +1 -5
  133. package/dist/utils/version.js.map +1 -1
  134. package/package.json +1 -1
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,23 +7,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
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 = exports.cleanSyncGroupDetail = void 0;
16
- const api_1 = require("../api");
17
- const constants_1 = require("../constants");
18
- const slice_1 = require("../slice");
19
- const carousel_lock_1 = __importDefault(require("../utils/carousel-lock"));
20
- const conversation_1 = require("../utils/conversation");
21
- const message_1 = require("../utils/message");
10
+ import { viewGroupDetail, viewOptionSetting } from '../api';
11
+ import { ConversationOptionKey, ConversationType, MessageStatus, PayloadType, SpreadType, TipsType } from '../constants';
12
+ import { ConversationActions, MessageActions } from '../slice';
13
+ import CarouselLock from '../utils/carousel-lock';
14
+ import { inConversationPage } from '../utils/conversation';
15
+ import { buildSearchText, buildSimpleText } from '../utils/message';
22
16
  let syncGroupDetail = Object.create(null);
23
- function cleanSyncGroupDetail() {
17
+ export function cleanSyncGroupDetail() {
24
18
  syncGroupDetail = Object.create(null);
25
19
  }
26
- exports.cleanSyncGroupDetail = cleanSyncGroupDetail;
27
- function buildNewConversation(socketConversation) {
20
+ export function buildNewConversation(socketConversation) {
28
21
  var _a;
29
22
  return __awaiter(this, void 0, void 0, function* () {
30
23
  const { id, type, name, text, time } = socketConversation;
@@ -34,7 +27,7 @@ function buildNewConversation(socketConversation) {
34
27
  data = syncGroupDetail[id].setting || {};
35
28
  }
36
29
  else {
37
- data = yield (0, api_1.viewOptionSetting)({
30
+ data = yield viewOptionSetting({
38
31
  conversationId: id,
39
32
  type,
40
33
  });
@@ -50,14 +43,14 @@ function buildNewConversation(socketConversation) {
50
43
  const enableTop = data.enableTop || 'off';
51
44
  const imageBackground = data.imageBackground || 'bg0';
52
45
  let avatars, memberTotalCount, chatGroupName;
53
- if (type === constants_1.ConversationType.C2G) {
46
+ if (type === ConversationType.C2G) {
54
47
  try {
55
48
  let group;
56
49
  if ((_a = syncGroupDetail[id]) === null || _a === void 0 ? void 0 : _a.detail) {
57
50
  group = syncGroupDetail[id].detail;
58
51
  }
59
52
  else {
60
- group = yield (0, api_1.viewGroupDetail)(id);
53
+ group = yield viewGroupDetail(id);
61
54
  syncGroupDetail[id].detail = group;
62
55
  }
63
56
  memberTotalCount = group.memberTotalCount;
@@ -73,7 +66,7 @@ function buildNewConversation(socketConversation) {
73
66
  return {
74
67
  id,
75
68
  type,
76
- name: type === constants_1.ConversationType.C2G ? chatGroupName : name,
69
+ name: type === ConversationType.C2G ? chatGroupName : name,
77
70
  avatars: avatars,
78
71
  text: text || '',
79
72
  enableNoDisturb,
@@ -83,22 +76,21 @@ function buildNewConversation(socketConversation) {
83
76
  errorText: null,
84
77
  lastMessageSeq: null,
85
78
  unreadCount: socketConversation.unreadCount ? socketConversation.unreadCount : 0,
86
- showName: type === constants_1.ConversationType.C2G,
79
+ showName: type === ConversationType.C2G,
87
80
  imageBackground,
88
81
  tipsList: [],
89
82
  memberTotalCount: memberTotalCount,
90
83
  };
91
84
  });
92
85
  }
93
- exports.buildNewConversation = buildNewConversation;
94
- function handleReceiveMessage(imManager, socketMessage, socketConversation, options = {}) {
86
+ export function handleReceiveMessage(imManager, socketMessage, socketConversation, options = {}) {
95
87
  return __awaiter(this, void 0, void 0, function* () {
96
88
  // console.log('handleReceiveMessage: ', socketMessage, socketConversation);
97
89
  const { updateAvatars, isDownload = true, refresh = true } = options;
98
90
  // console.log('handleReceiveMessage: ', options);
99
91
  //对同一个会话加锁防止并发消息导致sqlite的数据不一致
100
92
  const prefix = 'conversation_';
101
- yield carousel_lock_1.default.lock(prefix + socketConversation.id);
93
+ yield CarouselLock.lock(prefix + socketConversation.id);
102
94
  try {
103
95
  const repeat = yield isRepeat(imManager, socketMessage.messageSeq);
104
96
  console.log('repeat: ', repeat);
@@ -113,23 +105,24 @@ function handleReceiveMessage(imManager, socketMessage, socketConversation, opti
113
105
  yield addOrUpdateConversation(imManager, socketConversation, refresh);
114
106
  }
115
107
  finally {
116
- carousel_lock_1.default.release(prefix + socketConversation.id);
108
+ CarouselLock.release(prefix + socketConversation.id);
117
109
  }
118
110
  });
119
111
  }
120
- exports.handleReceiveMessage = handleReceiveMessage;
121
- function isRepeat(imManager, messageSeq) {
112
+ export function isRepeat(imManager, messageSeq) {
122
113
  return __awaiter(this, void 0, void 0, function* () {
123
114
  const message = yield imManager.db.selectMessage({ messageSeq });
124
115
  return message.length > 0;
125
116
  });
126
117
  }
127
- exports.isRepeat = isRepeat;
128
- function addMessage(imManager, socketMessage, isDownload) {
118
+ export function addMessage(imManager, socketMessage, isDownload) {
129
119
  return __awaiter(this, void 0, void 0, function* () {
130
120
  const { id } = socketMessage.conversation;
131
- if ((0, conversation_1.inConversationPage)(imManager, id)) {
132
- imManager.store.dispatch(slice_1.MessageActions.addMessage(imManager, socketMessage, isDownload));
121
+ if (inConversationPage(imManager, id)) {
122
+ imManager.store.dispatch(MessageActions.addMessage(imManager, socketMessage, isDownload));
123
+ setTimeout(() => {
124
+ imManager.scrollToLatest(true);
125
+ }, 16);
133
126
  }
134
127
  console.log('addMessage: ', socketMessage);
135
128
  try {
@@ -140,16 +133,14 @@ function addMessage(imManager, socketMessage, isDownload) {
140
133
  }
141
134
  });
142
135
  }
143
- exports.addMessage = addMessage;
144
- function resetQuoteLocalPath(socketMessage) {
136
+ export function resetQuoteLocalPath(socketMessage) {
145
137
  const { payload: { quote }, } = socketMessage;
146
138
  if (quote && quote.quoteMessage) {
147
139
  socketMessage.payload.quote.quoteMessage.payload.localPath = undefined;
148
140
  socketMessage.payload.quote.quoteMessage.payload.imagePath = undefined;
149
141
  }
150
142
  }
151
- exports.resetQuoteLocalPath = resetQuoteLocalPath;
152
- function resetMultipleLocalPath(socketMessage) {
143
+ export function resetMultipleLocalPath(socketMessage) {
153
144
  const { payload: { selectedMessages = [] }, } = socketMessage;
154
145
  selectedMessages.forEach((item) => {
155
146
  item.payload.localPath && (item.payload.localPath = null);
@@ -159,8 +150,7 @@ function resetMultipleLocalPath(socketMessage) {
159
150
  }
160
151
  });
161
152
  }
162
- exports.resetMultipleLocalPath = resetMultipleLocalPath;
163
- function addOrUpdateConversation(imManager, socketConversation, refresh = true) {
153
+ export function addOrUpdateConversation(imManager, socketConversation, refresh = true) {
164
154
  return __awaiter(this, void 0, void 0, function* () {
165
155
  let conversation = yield imManager.db.selectConversationById(socketConversation.id);
166
156
  //创建或者更新会话
@@ -170,8 +160,8 @@ function addOrUpdateConversation(imManager, socketConversation, refresh = true)
170
160
  ? socketConversation.messageSeq
171
161
  : conversation.lastMessageSeq, tipsList: [...conversation.tipsList, ...tipsList] });
172
162
  yield imManager.db.updateConversationById(conversation);
173
- if ((0, conversation_1.inConversationPage)(imManager, conversation.id)) {
174
- imManager.store.dispatch(slice_1.ConversationActions.updateConversation(conversation));
163
+ if (inConversationPage(imManager, conversation.id)) {
164
+ imManager.store.dispatch(ConversationActions.updateConversation(conversation));
175
165
  }
176
166
  }
177
167
  else {
@@ -186,43 +176,39 @@ function addOrUpdateConversation(imManager, socketConversation, refresh = true)
186
176
  }
187
177
  if (refresh) {
188
178
  console.log('refresh loadConversations');
189
- imManager.store.dispatch(slice_1.ConversationActions.loadConversations(imManager));
179
+ imManager.store.dispatch(ConversationActions.loadConversations(imManager));
190
180
  }
191
181
  });
192
182
  }
193
- exports.addOrUpdateConversation = addOrUpdateConversation;
194
- function addUnreadTotal(imManager, socketMessage) {
183
+ export function addUnreadTotal(imManager, socketMessage) {
195
184
  const { conversation: { id }, } = socketMessage;
196
- if (!(0, conversation_1.inConversationPage)(imManager, id) && !isMyMessage(imManager, socketMessage)) {
197
- imManager.store.dispatch(slice_1.ConversationActions.addUnreadTotal(1));
185
+ if (!inConversationPage(imManager, id) && !isMyMessage(imManager, socketMessage)) {
186
+ imManager.store.dispatch(ConversationActions.addUnreadTotal(1));
198
187
  }
199
188
  }
200
- exports.addUnreadTotal = addUnreadTotal;
201
- function isMyMessage(imManager, socketMessage) {
189
+ export function isMyMessage(imManager, socketMessage) {
202
190
  return imManager.user.userId === socketMessage.messageFrom;
203
191
  }
204
- exports.isMyMessage = isMyMessage;
205
- function initChatSocketMessage(imManager, socketMessage) {
192
+ export function initChatSocketMessage(imManager, socketMessage) {
206
193
  const { messageTo, conversation: { id, type }, } = socketMessage;
207
194
  const currentUser = imManager.user;
208
- if (isMyMessage(imManager, socketMessage) && type === constants_1.ConversationType.C2C) {
195
+ if (isMyMessage(imManager, socketMessage) && type === ConversationType.C2C) {
209
196
  socketMessage.conversationId = messageTo;
210
197
  }
211
198
  else {
212
199
  socketMessage.conversationId = id;
213
200
  }
214
- socketMessage.text = (0, message_1.buildSimpleText)(imManager, socketMessage.payloadType, socketMessage.payload);
201
+ socketMessage.text = buildSimpleText(imManager, socketMessage.payloadType, socketMessage.payload);
215
202
  socketMessage.conversationType = type;
216
203
  // payload.localPath && (payload.localPath = null);
217
204
  // payload.imagePath && (payload.imagePath = null);
218
205
  socketMessage.isMyMessage = currentUser.userId === socketMessage.messageFrom;
219
206
  resetQuoteLocalPath(socketMessage);
220
207
  resetMultipleLocalPath(socketMessage);
221
- socketMessage.searchText = (0, message_1.buildSearchText)(socketMessage);
208
+ socketMessage.searchText = buildSearchText(socketMessage);
222
209
  }
223
- exports.initChatSocketMessage = initChatSocketMessage;
224
- function initSocketConversation(imManager, socketMessage, addUnread = false) {
225
- const { messageTime, messageSeq, conversation: { name, id, type }, text = '', payload: { avatars }, } = socketMessage;
210
+ export function initSocketConversation(imManager, socketMessage, addUnread = false) {
211
+ const { messageTime, messageSeq, conversation: { name, id, type }, text = '', payload: { avatars }, unreadCount, } = socketMessage;
226
212
  const socketConversation = {
227
213
  id,
228
214
  type,
@@ -235,16 +221,18 @@ function initSocketConversation(imManager, socketMessage, addUnread = false) {
235
221
  if (avatars) {
236
222
  socketConversation.avatars = avatars;
237
223
  }
238
- if (addUnread && !isMyMessage(imManager, socketMessage) && !(0, conversation_1.inConversationPage)(imManager, id)) {
224
+ if (addUnread && !isMyMessage(imManager, socketMessage) && !inConversationPage(imManager, id)) {
239
225
  socketConversation.unreadCount = 1;
240
226
  }
241
- if (!(0, conversation_1.inConversationPage)(imManager, id) && !isMyMessage(imManager, socketMessage)) {
227
+ if (unreadCount) {
228
+ socketConversation.unreadCount = unreadCount;
229
+ }
230
+ if (!inConversationPage(imManager, id) && !isMyMessage(imManager, socketMessage)) {
242
231
  socketConversation.updateLastMessageSeq = true;
243
232
  }
244
233
  return socketConversation;
245
234
  }
246
- exports.initSocketConversation = initSocketConversation;
247
- function initB2cSocketMessage(socketMessage) {
235
+ export function initB2cSocketMessage(socketMessage) {
248
236
  const { conversation: { id, type }, payloadType, payload: { busiType, title, columns }, } = socketMessage;
249
237
  socketMessage.conversationId = id;
250
238
  socketMessage.conversationType = type;
@@ -260,8 +248,7 @@ function initB2cSocketMessage(socketMessage) {
260
248
  socketMessage.searchText += item.value + '---';
261
249
  });
262
250
  }
263
- exports.initB2cSocketMessage = initB2cSocketMessage;
264
- function initGroupOperateSocketMessage(socketMessage, payloadType, limit = true) {
251
+ export function initGroupOperateSocketMessage(socketMessage, payloadType, limit = true) {
265
252
  socketMessage.conversationId = socketMessage.payload.chatGroupId;
266
253
  socketMessage.conversationType = 'c2g';
267
254
  socketMessage.isMyMessage = false;
@@ -275,15 +262,14 @@ function initGroupOperateSocketMessage(socketMessage, payloadType, limit = true)
275
262
  }
276
263
  socketMessage.payloadType = payloadType;
277
264
  }
278
- exports.initGroupOperateSocketMessage = initGroupOperateSocketMessage;
279
- function updateSubscribe(imManager, socketMessage) {
265
+ export function updateSubscribe(imManager, socketMessage) {
280
266
  return __awaiter(this, void 0, void 0, function* () {
281
267
  const user = imManager.user;
282
268
  let subscribeId;
283
- if (socketMessage.spreadType === constants_1.SpreadType.READ) {
269
+ if (socketMessage.spreadType === SpreadType.READ) {
284
270
  subscribeId = socketMessage.messageTo;
285
271
  }
286
- else if (socketMessage.spreadType === constants_1.SpreadType.WRITE) {
272
+ else if (socketMessage.spreadType === SpreadType.WRITE) {
287
273
  subscribeId = user.userId;
288
274
  }
289
275
  else {
@@ -296,13 +282,12 @@ function updateSubscribe(imManager, socketMessage) {
296
282
  });
297
283
  });
298
284
  }
299
- exports.updateSubscribe = updateSubscribe;
300
- function extractTipsList(imManager, socketMessage) {
285
+ export function extractTipsList(imManager, socketMessage) {
301
286
  const { conversation: { id }, messageSeq, payloadType, payload, } = socketMessage;
302
287
  const user = imManager.user;
303
288
  if (isMyMessage(imManager, socketMessage) ||
304
- payloadType !== constants_1.PayloadType.TEXT ||
305
- (0, conversation_1.inConversationPage)(imManager, id)) {
289
+ payloadType !== PayloadType.TEXT ||
290
+ inConversationPage(imManager, id)) {
306
291
  return [];
307
292
  }
308
293
  const { quote, atList } = payload;
@@ -310,7 +295,7 @@ function extractTipsList(imManager, socketMessage) {
310
295
  if (quote && Object.keys(quote).length > 0) {
311
296
  if (quote.quoteId === user.userId) {
312
297
  tipsList.push({
313
- type: constants_1.TipsType.QUOTE,
298
+ type: TipsType.QUOTE,
314
299
  messageSeq,
315
300
  });
316
301
  }
@@ -319,7 +304,7 @@ function extractTipsList(imManager, socketMessage) {
319
304
  atList.map((item) => {
320
305
  if (item.userId === user.userId || item.userId === 'allMembers') {
321
306
  tipsList.push({
322
- type: constants_1.TipsType.AT,
307
+ type: TipsType.AT,
323
308
  messageSeq,
324
309
  });
325
310
  }
@@ -327,16 +312,13 @@ function extractTipsList(imManager, socketMessage) {
327
312
  }
328
313
  return tipsList;
329
314
  }
330
- exports.extractTipsList = extractTipsList;
331
- function isOffline(socketMessage) {
332
- return socketMessage.status === constants_1.MessageStatus.OFFLINE;
315
+ export function isOffline(socketMessage) {
316
+ return socketMessage.status === MessageStatus.OFFLINE;
333
317
  }
334
- exports.isOffline = isOffline;
335
- function isArrived(socketMessage) {
336
- return socketMessage.status === constants_1.MessageStatus.ARRIVED;
318
+ export function isArrived(socketMessage) {
319
+ return socketMessage.status === MessageStatus.ARRIVED;
337
320
  }
338
- exports.isArrived = isArrived;
339
- function messageUndo(imManager, socketMessage) {
321
+ export function messageUndo(imManager, socketMessage) {
340
322
  return __awaiter(this, void 0, void 0, function* () {
341
323
  console.log('messageUndo: ', socketMessage);
342
324
  const { messageSeq } = socketMessage;
@@ -344,8 +326,8 @@ function messageUndo(imManager, socketMessage) {
344
326
  if (!message) {
345
327
  return;
346
328
  }
347
- if ((0, conversation_1.inConversationPage)(imManager, message.conversationId)) {
348
- imManager.store.dispatch(slice_1.MessageActions.updateMessage(messageSeq, {
329
+ if (inConversationPage(imManager, message.conversationId)) {
330
+ imManager.store.dispatch(MessageActions.updateMessage(messageSeq, {
349
331
  messageStatus: 'undo'
350
332
  }));
351
333
  }
@@ -353,11 +335,10 @@ function messageUndo(imManager, socketMessage) {
353
335
  messageSeq,
354
336
  messageStatus: 'undo',
355
337
  });
356
- yield messageUpdateConversation(imManager, message, socketMessage);
338
+ yield messageUndoUpdateConversation(imManager, message, socketMessage);
357
339
  });
358
340
  }
359
- exports.messageUndo = messageUndo;
360
- function messageUpdateConversation(imManager, message, socketMessage, refresh = true) {
341
+ export function messageUndoUpdateConversation(imManager, message, socketMessage, refresh = true) {
361
342
  return __awaiter(this, void 0, void 0, function* () {
362
343
  const { messageFrom, messageFromName } = socketMessage;
363
344
  const currentUser = imManager.user;
@@ -368,24 +349,24 @@ function messageUpdateConversation(imManager, message, socketMessage, refresh =
368
349
  text: currentUser.userId === messageFrom
369
350
  ? imManager.t('youWithdrawMsg')
370
351
  : '"' + messageFromName + '"' + imManager.t('withdrawMsg'),
352
+ tipsList: [],
371
353
  };
372
354
  if (tConversation && message.messageStatus === 'arrived') {
373
355
  updateData.unreadCount = Math.max(tConversation.unreadCount - 1, 0);
374
356
  }
375
357
  yield imManager.db.updateConversationById(updateData);
376
358
  if (refresh) {
377
- imManager.store.dispatch(slice_1.ConversationActions.updateConversation(updateData));
359
+ imManager.store.dispatch(ConversationActions.updateConversation(updateData));
378
360
  }
379
361
  });
380
362
  }
381
- exports.messageUpdateConversation = messageUpdateConversation;
382
363
  function updateAvatarsCache(imManager, socketMessage) {
383
364
  return __awaiter(this, void 0, void 0, function* () {
384
365
  const { messageFrom, payload: { avatars }, } = socketMessage;
385
- imManager.store.dispatch(slice_1.ConversationActions.updateAvatars(imManager, messageFrom, avatars));
366
+ imManager.store.dispatch(ConversationActions.updateAvatars(imManager, messageFrom, avatars));
386
367
  });
387
368
  }
388
- function handleB2cNotifyFinished(imManager, socketMessage) {
369
+ export function handleB2cNotifyFinished(imManager, socketMessage) {
389
370
  return __awaiter(this, void 0, void 0, function* () {
390
371
  const { payload: { finishedMessageSeq: messageSeq, busiStatusText }, } = socketMessage;
391
372
  if (!messageSeq)
@@ -397,45 +378,44 @@ function handleB2cNotifyFinished(imManager, socketMessage) {
397
378
  const conversationId = list[0].conversationId;
398
379
  const updateMessageData = {
399
380
  messageSeq,
400
- messageStatus: constants_1.MessageStatus.FINISHED,
381
+ messageStatus: MessageStatus.FINISHED,
401
382
  payload: {
402
383
  read: true,
403
384
  busiStatusText,
404
385
  },
405
386
  };
406
- if ((0, conversation_1.inConversationPage)(imManager, conversationId)) {
407
- imManager.store.dispatch(slice_1.MessageActions.updateMessage(messageSeq, updateMessageData));
387
+ if (inConversationPage(imManager, conversationId)) {
388
+ imManager.store.dispatch(MessageActions.updateMessage(messageSeq, updateMessageData));
408
389
  }
409
390
  yield imManager.db.updateMessage(updateMessageData);
410
391
  const conversation = yield imManager.db.selectConversationById(conversationId);
411
392
  if (!conversation || messageSeq < conversation.lastMessageSeq) {
412
393
  return;
413
394
  }
414
- if (conversation.unreadCount > 0 && !(0, conversation_1.inConversationPage)(imManager, conversationId)) {
395
+ if (conversation.unreadCount > 0 && !inConversationPage(imManager, conversationId)) {
415
396
  yield imManager.db.updateConversationById({
416
397
  id: conversationId,
417
398
  unreadCount: conversation.unreadCount - 1,
418
399
  });
419
- imManager.store.dispatch(slice_1.ConversationActions.updateConversation({
400
+ imManager.store.dispatch(ConversationActions.updateConversation({
420
401
  id: conversationId,
421
402
  unreadCount: conversation.unreadCount - 1,
422
403
  }));
423
- imManager.store.dispatch(slice_1.ConversationActions.subUnreadTotal(1));
404
+ imManager.store.dispatch(ConversationActions.subUnreadTotal(1));
424
405
  }
425
406
  });
426
407
  }
427
- exports.handleB2cNotifyFinished = handleB2cNotifyFinished;
428
- function handleConversationOptionMessage(imManager, socketMessage, refresh = true) {
408
+ export function handleConversationOptionMessage(imManager, socketMessage, refresh = true) {
429
409
  return __awaiter(this, void 0, void 0, function* () {
430
410
  const { payload: { conversationId, optionKey, optionValue }, } = socketMessage;
431
411
  let updateData;
432
- if (optionKey === constants_1.ConversationOptionKey.ENABLE_TOP) {
412
+ if (optionKey === ConversationOptionKey.ENABLE_TOP) {
433
413
  updateData = {
434
414
  id: conversationId,
435
415
  enableTop: optionValue,
436
416
  };
437
417
  }
438
- else if (optionKey === constants_1.ConversationOptionKey.ENABLE_NO_DISTURB) {
418
+ else if (optionKey === ConversationOptionKey.ENABLE_NO_DISTURB) {
439
419
  updateData = {
440
420
  id: conversationId,
441
421
  enableNoDisturb: optionValue,
@@ -446,29 +426,77 @@ function handleConversationOptionMessage(imManager, socketMessage, refresh = tru
446
426
  }
447
427
  yield imManager.db.updateConversationById(updateData);
448
428
  if (refresh) {
449
- imManager.store.dispatch(slice_1.ConversationActions.loadConversations(imManager));
429
+ imManager.store.dispatch(ConversationActions.loadConversations(imManager));
450
430
  }
451
431
  });
452
432
  }
453
- exports.handleConversationOptionMessage = handleConversationOptionMessage;
454
- function handleConversationReadMessage(imManager, socketMessage) {
433
+ export function handleConversationReadMessage(imManager, socketMessage) {
455
434
  return __awaiter(this, void 0, void 0, function* () {
456
- const { payload: { conversationId }, } = socketMessage;
457
- // console.log('handleConversationReadMessage: ', socketMessage);
458
- yield imManager.db.updateMyMessageReadStatus({
459
- conversationId,
460
- messageStatus: constants_1.MessageStatus.READ,
461
- messageFrom: imManager.user.userId,
462
- });
463
- // const conversation = await imManager.db.selectConversationById(conversationId);
464
- // if (!conversation) {
465
- // return;
466
- // }
467
- // const updateData = {
468
- // id: conversationId,
469
- // lastMessageSeq: readMessageSeq,
470
- // }
435
+ console.log('conversationReadMessage: ', socketMessage);
436
+ const { payload: { conversationId, type, }, messageFrom, messageTime, } = socketMessage;
437
+ // 私聊,不是自己发来的消息
438
+ if (type === 'c2c' && messageFrom !== imManager.user.userId) {
439
+ yield imManager.db.updateMyMessageReadStatus({
440
+ conversationId: conversationId,
441
+ messageFrom: imManager.user.userId,
442
+ messageStatus: MessageStatus.READ,
443
+ messageTime: messageTime,
444
+ });
445
+ if (inConversationPage(imManager, conversationId)) {
446
+ imManager.store.dispatch(MessageActions.updateMyMessageReadStatus({
447
+ messageFrom: imManager.user.userId,
448
+ }));
449
+ }
450
+ }
451
+ // 同步已读状态
452
+ if (socketMessage.messageFrom === socketMessage.messageTo) {
453
+ const conversation = yield imManager.db.selectConversationById(conversationId);
454
+ if (conversation) {
455
+ console.log('socket conversationReadMessage===>', conversation);
456
+ const updateData = {
457
+ id: conversation.id,
458
+ unreadCount: 0,
459
+ lastMessageSeq: null,
460
+ tipsList: [],
461
+ };
462
+ yield imManager.db.updateConversationById(updateData);
463
+ imManager.store.dispatch(ConversationActions.updateConversation(updateData));
464
+ if (conversation.enableNoDisturb === 'off') {
465
+ imManager.store.dispatch(ConversationActions.subUnreadTotal(conversation.unreadCount));
466
+ }
467
+ }
468
+ }
469
+ });
470
+ }
471
+ export function handleMessageReceiptBack(imManager, socketMessage) {
472
+ return __awaiter(this, void 0, void 0, function* () {
473
+ const { payload: { receiptBackMessageStatus, receiptBackMessageSeq, receiptBackTime, }, } = socketMessage;
474
+ if (!receiptBackMessageSeq)
475
+ return;
476
+ let messageStatus = MessageStatus.ARRIVED;
477
+ const receiptBackList = [
478
+ {
479
+ receiptBackMessageTime: receiptBackTime,
480
+ receiptBackMessageStatus: MessageStatus.ARRIVED,
481
+ },
482
+ ];
483
+ if (receiptBackMessageStatus === MessageStatus.READ) {
484
+ receiptBackList.push({
485
+ receiptBackMessageTime: receiptBackTime,
486
+ receiptBackMessageStatus: MessageStatus.READ,
487
+ });
488
+ messageStatus = MessageStatus.READ;
489
+ }
490
+ const updateData = {
491
+ messageSeq: receiptBackMessageSeq,
492
+ receiptBackList,
493
+ messageStatus,
494
+ };
495
+ yield imManager.db.updateMessage(updateData);
496
+ const [tMessage] = yield imManager.db.selectMessage({ messageSeq: receiptBackMessageSeq });
497
+ if (tMessage && inConversationPage(imManager, tMessage.conversationId)) {
498
+ imManager.store.dispatch(MessageActions.updateMessage(receiptBackMessageSeq, updateData));
499
+ }
471
500
  });
472
501
  }
473
- exports.handleConversationReadMessage = handleConversationReadMessage;
474
502
  //# sourceMappingURL=message-handler.js.map
@@ -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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"}