@aochuang/client-sdk 1.0.320 → 1.0.321

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aochuang/client-sdk",
3
- "version": "1.0.320",
3
+ "version": "1.0.321",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -141,7 +141,7 @@ class ClientChat {
141
141
  })
142
142
  const mergeSessionCommonOptions = (options, instance) => {
143
143
  let updateSessioning = false
144
- let deleteSessioning = false
144
+ let removeSessioning = false
145
145
  options.onAddSession = ({ session }) => {
146
146
  // 同步未读会话
147
147
  if (instance !== this.sessionUnread && session.unreadMsgCount > 0) {
@@ -219,23 +219,15 @@ class ClientChat {
219
219
  }
220
220
  }
221
221
  options.onRemoveSession = ({ session }) => {
222
- // 未读、星标等实例的局部移除不同步到其他实例,主会话移除时仅同步清理搜索缓存
223
- if (instance === this.session) {
224
- this.sessionFilter.removeSession(session.conversationId)
225
- if (this.sessionManage.currentSession && this.sessionManage.currentSession.conversationId === session.conversationId) {
226
- this.sessionManage.setCurrentSession(null)
227
- }
228
- }
229
- }
230
- options.onDeleteSession = ({ session }) => {
231
- if (!session) {
222
+ if (instance !== this.session) {
232
223
  return
233
224
  }
234
- if (deleteSessioning) {
225
+ if (removeSessioning) {
235
226
  return
236
227
  }
237
- deleteSessioning = true
228
+ removeSessioning = true
238
229
  try {
230
+ // 同步账号未读数量
239
231
  this.account.updateAccountUnreadMessageNum(session.wechatAccountId, ({ unreadMesasgeNum, unreadMessageMuteNum }) => {
240
232
  // 如果是免打扰的会话
241
233
  if (session.mute) {
@@ -274,9 +266,12 @@ class ClientChat {
274
266
  })
275
267
  throw error
276
268
  } finally {
277
- deleteSessioning = false
269
+ removeSessioning = false
278
270
  }
279
271
  }
272
+ options.onDeleteSession = ({ session }) => {
273
+ // todo
274
+ }
280
275
  options.onClearVirtualSession = ({ virtualSessionData }) => {
281
276
  const selectedVirtualSession = virtualSessionData.find(v => this.sessionManage.currentSession && v.conversationId === this.sessionManage.currentSession.conversationId)
282
277
  if (selectedVirtualSession) {
@@ -933,6 +928,24 @@ class ClientChat {
933
928
  return this.contacts.getFriend(sessionFriendId, true)
934
929
  })
935
930
  }
931
+ // 刷新工作微信号未读消息数量
932
+ if (rs && rs.length) {
933
+ rs.forEach(session => {
934
+ this.account.updateAccountUnreadMessageNum(session.wechatAccountId, ({ unreadMesasgeNum, unreadMessageMuteNum }) => {
935
+ if (session.mute) {
936
+ return {
937
+ num: (unreadMesasgeNum || 0) + (session.unreadMsgCount || 0),
938
+ muteNum: (unreadMessageMuteNum || 0) + (session.unreadMsgCount || 0)
939
+ }
940
+ } else {
941
+ return {
942
+ num: (unreadMesasgeNum || 0) + (session.unreadMsgCount || 0),
943
+ muteNum: unreadMessageMuteNum
944
+ }
945
+ }
946
+ })
947
+ })
948
+ }
936
949
  return ps.finally(() => {
937
950
  // 这里应该标记那些工作微信号的通讯录修改了,后面要在界面打个提示,告诉用户通讯录变化了,让手动刷新一下
938
951
  // 同时也将缓存都清理一下,例如工作微信号分组统计数量等
@@ -997,6 +1010,24 @@ class ClientChat {
997
1010
  ps = this.account.reloadData()
998
1011
  }
999
1012
  }
1013
+ // 刷新工作微信号未读消息数量
1014
+ if (rs && rs.length) {
1015
+ rs.forEach(session => {
1016
+ this.account.updateAccountUnreadMessageNum(session.wechatAccountId, ({ unreadMesasgeNum, unreadMessageMuteNum }) => {
1017
+ if (session.mute) {
1018
+ return {
1019
+ num: (unreadMesasgeNum || 0) + (session.unreadMsgCount || 0),
1020
+ muteNum: (unreadMessageMuteNum || 0) + (session.unreadMsgCount || 0)
1021
+ }
1022
+ } else {
1023
+ return {
1024
+ num: (unreadMesasgeNum || 0) + (session.unreadMsgCount || 0),
1025
+ muteNum: unreadMessageMuteNum
1026
+ }
1027
+ }
1028
+ })
1029
+ })
1030
+ }
1000
1031
  return ps.finally(() => {
1001
1032
  // 这里应该标记那些工作微信号的通讯录修改了,后面要在界面打个提示,告诉用户通讯录变化了,让手动刷新一下
1002
1033
  // 同时也将缓存都清理一下,例如工作微信号分组统计数量等