@aochuang/client-sdk 1.0.314 → 1.0.315

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.314",
3
+ "version": "1.0.315",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -23,6 +23,7 @@ export default class ClientChatAccount {
23
23
  updateAccountMessageReadMethod: null,
24
24
  deleteAccountSessionMethod: null,
25
25
  getAccountGreetingUnreadMsgCountMethod: null,
26
+ batchGetAccountGreetingUnreadMsgCountMethod: null,
26
27
  clearAccountGreetingUnreadMsgCountMethod: null,
27
28
  onCurrentAccountChange: null,
28
29
  onAccountAdded: null,
@@ -43,6 +44,7 @@ export default class ClientChatAccount {
43
44
  this.updateAccountMessageReadMethod = options.updateAccountMessageReadMethod
44
45
  this.deleteAccountSessionMethod = options.deleteAccountSessionMethod
45
46
  this.getAccountGreetingUnreadMsgCountMethod = options.getAccountGreetingUnreadMsgCountMethod
47
+ this.batchGetAccountGreetingUnreadMsgCountMethod = options.batchGetAccountGreetingUnreadMsgCountMethod
46
48
  this.clearAccountGreetingUnreadMsgCountMethod = options.clearAccountGreetingUnreadMsgCountMethod
47
49
  this.onAccountAdded = options.onAccountAdded
48
50
  this.onAccountRemoved = options.onAccountRemoved,
@@ -394,6 +396,41 @@ export default class ClientChatAccount {
394
396
  })
395
397
  }
396
398
 
399
+ /**
400
+ * 批量获取所有账号的打招呼未读消息总数
401
+ */
402
+ refreshAllAccountGreetingUnreadMsgCount () {
403
+ if (!this.batchGetAccountGreetingUnreadMsgCountMethod) {
404
+ return new Error('batchGetAccountGreetingUnreadMsgCountMethod未定义')
405
+ }
406
+ const wechatAccountIds = this.data.accountData.map(v => v.id).filter((id, index, data) => id && data.indexOf(id) === index)
407
+ const countData = {}
408
+ let requestPromise = Promise.resolve()
409
+ for (let index = 0; index < wechatAccountIds.length; index += 100) {
410
+ const currentWechatAccountIds = wechatAccountIds.slice(index, index + 100)
411
+ requestPromise = requestPromise.then(() => {
412
+ return this.batchGetAccountGreetingUnreadMsgCountMethod({
413
+ wechatAccountIds: currentWechatAccountIds
414
+ })
415
+ }).then(rs => {
416
+ ;(rs && rs.data || []).forEach(item => {
417
+ if (item && item.wechatAccountId) {
418
+ countData[item.wechatAccountId] = item.count || 0
419
+ }
420
+ })
421
+ })
422
+ }
423
+ return requestPromise.then(() => {
424
+ let allCount = 0
425
+ wechatAccountIds.forEach(wechatAccountId => {
426
+ const count = countData[wechatAccountId] || 0
427
+ Vue.set(this.accountGreetingUnreadMsgCountData, wechatAccountId, count)
428
+ allCount += count
429
+ })
430
+ Vue.set(this.accountGreetingUnreadMsgCountData, 'all', allCount)
431
+ })
432
+ }
433
+
397
434
  /**
398
435
  * 清空打招呼未读消息总数
399
436
  */
@@ -414,10 +451,11 @@ export default class ClientChatAccount {
414
451
  reset () {
415
452
  this.data.accountData = []
416
453
  this.data.accountUnreadMessageNumData = []
454
+ this.data.accountGreetingUnreadMsgCountData = {}
417
455
  if (this.cancelConnectRequest) {
418
456
  this.cancelConnectRequest()
419
457
  }
420
458
  this._cacheLoadPromise = null
421
459
  this.cancelConnectRequest = null
422
460
  }
423
- }
461
+ }
@@ -93,6 +93,7 @@ class ClientChat {
93
93
  updateAccountMessageReadMethod: null,
94
94
  deleteAccountSessionMethod: null,
95
95
  getAccountGreetingUnreadMsgCountMethod: null,
96
+ batchGetAccountGreetingUnreadMsgCountMethod: null,
96
97
  clearAccountGreetingUnreadMsgCountMethod: null,
97
98
  loadContactsRoomGroupDataMethod: null,
98
99
  loadContactsFriendGroupDataMethod: null,
@@ -737,6 +738,7 @@ class ClientChat {
737
738
  updateAccountMessageReadMethod: options.updateAccountMessageReadMethod,
738
739
  deleteAccountSessionMethod: options.deleteAccountSessionMethod,
739
740
  getAccountGreetingUnreadMsgCountMethod: options.getAccountGreetingUnreadMsgCountMethod,
741
+ batchGetAccountGreetingUnreadMsgCountMethod: options.batchGetAccountGreetingUnreadMsgCountMethod,
740
742
  clearAccountGreetingUnreadMsgCountMethod: options.clearAccountGreetingUnreadMsgCountMethod,
741
743
  onAccountAdded: ({ account }) => {
742
744
  return this.account.refreshAccountUnreadMessageNum({
@@ -745,6 +747,7 @@ class ClientChat {
745
747
  },
746
748
  onAccountLoaded: () => {
747
749
  this.socket.doHeartbeat()
750
+ this.account.refreshAllAccountGreetingUnreadMsgCount().catch(() => {})
748
751
  },
749
752
  onCurrentAccountChange: ({ currentAccount }) => {
750
753
  // // 如果群分组数据加载了再去刷成员数量,这样可以做到按需