@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
|
@@ -141,7 +141,7 @@ class ClientChat {
|
|
|
141
141
|
})
|
|
142
142
|
const mergeSessionCommonOptions = (options, instance) => {
|
|
143
143
|
let updateSessioning = false
|
|
144
|
-
let
|
|
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 (
|
|
225
|
+
if (removeSessioning) {
|
|
235
226
|
return
|
|
236
227
|
}
|
|
237
|
-
|
|
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
|
-
|
|
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
|
// 同时也将缓存都清理一下,例如工作微信号分组统计数量等
|