@aochuang/client-sdk 1.0.371 → 1.0.372
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/common/.DS_Store +0 -0
- package/components/.DS_Store +0 -0
- package/components/index.js +6 -1
- package/components/session-select/session-select-item.vue +8 -9
- package/components/wechat-chat-control/.DS_Store +0 -0
- package/components/wechat-chat-control/transfer/.DS_Store +0 -0
- package/components/wechat-chat-control/url/.DS_Store +0 -0
- package/components/wechat-chat-control/voice/.DS_Store +0 -0
- package/components/wework-chat-control/channel-card/channel-card.vue +144 -0
- package/components/wework-chat-control/channel-live/channel-live.vue +7 -2
- package/components/wework-chat-control/company-card/company-card.vue +1 -1
- package/components/wework-chat-control/custom-expression/custom-expression.vue +2 -1
- package/components/wework-chat-control/file-url/file-url.vue +34 -16
- package/components/wework-chat-control/image/image.vue +137 -2
- package/components/wework-chat-control/index.js +15 -7
- package/components/wework-chat-control/link/.DS_Store +0 -0
- package/components/wework-chat-control/location/location.vue +3 -3
- package/components/wework-chat-control/merge-message/merge-message-panel.vue +63 -0
- package/components/wework-chat-control/merge-message/merge-message.vue +84 -0
- package/components/wework-chat-control/merge-message/util.js +59 -0
- package/components/wework-chat-control/metting/enterprise-wechat.png +0 -0
- package/components/wework-chat-control/metting/meeting-video.svg +4 -0
- package/components/wework-chat-control/metting/metting.vue +181 -0
- package/components/wework-chat-control/red-envelopes/red-envelopes.vue +3 -2
- package/components/wework-chat-control/text/text-default.vue +99 -0
- package/components/wework-chat-control/text/text-quote.vue +105 -0
- package/components/wework-chat-control/text/text.vue +24 -144
- package/components/wework-chat-control/url/url-channel-live.vue +53 -0
- package/components/wework-chat-control/url/url-miniprogram.vue +6 -7
- package/components/wework-chat-control/url/url.vue +26 -2
- package/components/wework-chat-control/util.js +26 -17
- package/components/wework-chat-control/video/.DS_Store +0 -0
- package/components/wework-chat-control/video/video.vue +10 -2
- package/components/wework-chat-control/voice/voice.vue +9 -2
- package/components/wework-chat-control/wework-chat-control-config-item.vue +24 -0
- package/components/wework-chat-control/wework-chat-control-config-msg.vue +25 -0
- package/{uni-components/chat-control/chat-control-config.vue → components/wework-chat-control/wework-chat-control-config.vue} +16 -13
- package/components/wework-chat-panel/chat-panel-chat-status/chat-panel-chat-status.vue +73 -0
- package/components/wework-chat-panel/chat-panel-item.vue +56 -25
- package/components/wework-chat-panel/chat-panel.vue +96 -13
- package/package.json +10 -3
- package/services/.DS_Store +0 -0
- package/services/client-chat/client-chat-wework/client-chat-account.js +84 -1
- package/services/client-chat/client-chat-wework/client-chat-concats.js +81 -17
- package/services/client-chat/client-chat-wework/client-chat-message.js +45 -5
- package/services/client-chat/client-chat-wework/client-chat-session.js +59 -4
- package/services/client-chat/client-chat-wework/client-chat-socket.js +13 -1
- package/services/client-chat/client-chat-wework/client-chat.js +320 -11
- package/services/client-chat/client-chat-wework/utils.js +5 -5
- package/components/wework-chat-panel/chat-panel-controls/company-card/company-card.vue +0 -35
- package/components/wework-chat-panel/chat-panel-controls/expression/expression.vue +0 -36
- package/components/wework-chat-panel/chat-panel-controls/file-url/file-url.vue +0 -35
- package/components/wework-chat-panel/chat-panel-controls/image/image.vue +0 -36
- package/components/wework-chat-panel/chat-panel-controls/index.js +0 -35
- package/components/wework-chat-panel/chat-panel-controls/jx-sys-text/jx-sys-text.vue +0 -28
- package/components/wework-chat-panel/chat-panel-controls/link/link.vue +0 -35
- package/components/wework-chat-panel/chat-panel-controls/location/location.vue +0 -35
- package/components/wework-chat-panel/chat-panel-controls/text/text.vue +0 -43
- package/components/wework-chat-panel/chat-panel-controls/unkonw/unkonw.vue +0 -39
- package/components/wework-chat-panel/chat-panel-controls/video/video.vue +0 -37
- package/components/wework-chat-panel/chat-panel-controls/voice/voice.vue +0 -35
- package/uni-common/account-portray/account-portray.vue +0 -51
- package/uni-common/account-select/account-select-item.vue +0 -172
- package/uni-common/account-select/account-select.vue +0 -252
- package/uni-common/all-friend-avatar/all-friend-avatar.vue +0 -49
- package/uni-common/friend-avatar/default.svg +0 -1
- package/uni-common/friend-avatar/friend-avatar.vue +0 -27
- package/uni-common/friend-avatar/index.js +0 -3
- package/uni-common/friend-loader/friend-loader.vue +0 -53
- package/uni-common/friend-portray/friend-portray.vue +0 -56
- package/uni-common/group-avatar/default.svg +0 -1
- package/uni-common/group-avatar/group-avatar.vue +0 -18
- package/uni-common/group-avatar/index.js +0 -3
- package/uni-common/room-avatar/default.svg +0 -6
- package/uni-common/room-avatar/index.js +0 -3
- package/uni-common/room-avatar/room-avatar.vue +0 -27
- package/uni-common/room-loader/room-loader.vue +0 -53
- package/uni-common/room-portray/room-portray.vue +0 -56
- package/uni-components/chat-control/calling/calling.vue +0 -91
- package/uni-components/chat-control/calling/phone-fill.svg +0 -1
- package/uni-components/chat-control/calling/vidicon-fill.svg +0 -1
- package/uni-components/chat-control/channel-video/channel-video.vue +0 -89
- package/uni-components/chat-control/channel-video-card/channel-video-card.vue +0 -105
- package/uni-components/chat-control/channel-video-live/channel-video-live.vue +0 -92
- package/uni-components/chat-control/chat-control-config-item/chat-control-config-item.vue +0 -20
- package/uni-components/chat-control/chat-control-config-item/index.js +0 -3
- package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-app.vue +0 -25
- package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-h5.vue +0 -21
- package/uni-components/chat-control/chat-control.vue +0 -218
- package/uni-components/chat-control/company-card/company-card.vue +0 -123
- package/uni-components/chat-control/const.js +0 -28
- package/uni-components/chat-control/expression/expression.vue +0 -41
- package/uni-components/chat-control/image/image.vue +0 -68
- package/uni-components/chat-control/index.js +0 -89
- package/uni-components/chat-control/location/location.vue +0 -110
- package/uni-components/chat-control/member-change/member-change.vue +0 -32
- package/uni-components/chat-control/quote-message/quote-message.vue +0 -216
- package/uni-components/chat-control/real-time-position/real-time-position.vue +0 -62
- package/uni-components/chat-control/redpacket/red-envelope.svg +0 -1
- package/uni-components/chat-control/redpacket/redpacket.vue +0 -75
- package/uni-components/chat-control/share-card/share-card.vue +0 -101
- package/uni-components/chat-control/system/system.vue +0 -69
- package/uni-components/chat-control/system-batch-message/system-batch-message.vue +0 -30
- package/uni-components/chat-control/system-text/system-text.vue +0 -32
- package/uni-components/chat-control/text/text.vue +0 -67
- package/uni-components/chat-control/text-with-at/text-with-at.vue +0 -51
- package/uni-components/chat-control/transfer/red-transfer.svg +0 -1
- package/uni-components/chat-control/transfer/transfer.vue +0 -80
- package/uni-components/chat-control/unkonw/unkonw.vue +0 -37
- package/uni-components/chat-control/url/icons/file-excel-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-info-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-music-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-pdf-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-ppt-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-settings-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-text-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-unknow-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-word-line.svg +0 -1
- package/uni-components/chat-control/url/icons/file-zip-line.svg +0 -1
- package/uni-components/chat-control/url/icons/index.js +0 -24
- package/uni-components/chat-control/url/miniprogram.svg +0 -1
- package/uni-components/chat-control/url/url-miniprogram.vue +0 -116
- package/uni-components/chat-control/url/url.vue +0 -306
- package/uni-components/chat-control/url-new/icons/file-excel-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-info-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-music-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-pdf-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-ppt-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-settings-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-text-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-unknow-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-word-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/file-zip-line.svg +0 -1
- package/uni-components/chat-control/url-new/icons/index.js +0 -24
- package/uni-components/chat-control/url-new/url-new.vue +0 -110
- package/uni-components/chat-control/utils.js +0 -12
- package/uni-components/chat-control/video/video.vue +0 -156
- package/uni-components/chat-control/voice/voice.vue +0 -166
- package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-collect.vue +0 -84
- package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-system.vue +0 -28
- package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet.vue +0 -85
- package/uni-components/chat-editor/chat-editor-func/chat-editor-func.vue +0 -157
- package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at-panel.vue +0 -158
- package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at.vue +0 -61
- package/uni-components/chat-editor/chat-editor-func-button/chat-editor-func-button.vue +0 -58
- package/uni-components/chat-editor/chat-editor-func-file/chat-editor-func-file.vue +0 -54
- package/uni-components/chat-editor/chat-editor-func-image/chat-editor-func-image.vue +0 -42
- package/uni-components/chat-editor/chat-editor-func-video/chat-editor-func-video.vue +0 -42
- package/uni-components/chat-editor/chat-editor-func-voice/chat-editor-func-voice.vue +0 -25
- package/uni-components/chat-editor/chat-editor-message-send/chat-editor-message-send.vue +0 -158
- package/uni-components/chat-editor/chat-editor-quote/chat-editor-quote.vue +0 -75
- package/uni-components/chat-editor/chat-editor.vue +0 -257
- package/uni-components/chat-editor/index.js +0 -10
- package/uni-components/chat-editor/util.js +0 -65
- package/uni-components/chat-panel/chat-panel-chats-box.vue +0 -238
- package/uni-components/chat-panel/chat-panel-chats-forward/chat-panel-chats-forward.vue +0 -273
- package/uni-components/chat-panel/chat-panel-chats-item.vue +0 -578
- package/uni-components/chat-panel/chat-panel-chats-status/chat-panel-chats-status.vue +0 -71
- package/uni-components/chat-panel/chat-panel-chats.vue +0 -368
- package/uni-components/chat-panel/chat-panel.vue +0 -227
- package/uni-components/contacts-group-select/contacts-group-select-item.vue +0 -85
- package/uni-components/contacts-group-select/contacts-group-select-panel.vue +0 -119
- package/uni-components/contacts-group-select/contacts-group-select.vue +0 -150
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<wework-chat-control-config-msg
|
|
3
3
|
:msgData="item"
|
|
4
4
|
>
|
|
5
5
|
<template slot-scope="{ configData }">
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<template v-if="item.msgType !== '_EMPTY_'">
|
|
8
8
|
<slot name="chat-prefix" :item="item"></slot>
|
|
9
9
|
</template>
|
|
10
|
-
<template v-if="
|
|
10
|
+
<template v-if="item.msgType === MESSAGE_TYPE.TEXT || item.msgType === MESSAGE_TYPE.TEXT_W">
|
|
11
11
|
<sdk-chat-panel-box
|
|
12
12
|
:dir="dir"
|
|
13
13
|
:data="item"
|
|
@@ -16,17 +16,20 @@
|
|
|
16
16
|
@user-avatar-click="handleUserAvatarClick"
|
|
17
17
|
@user-avatar-contextmenu="handleUserAvatarContextmenu"
|
|
18
18
|
>
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
<template slot-scope="{ setFootVnode }">
|
|
20
|
+
<sdk-chat-control-text
|
|
21
|
+
v-bind="configData"
|
|
22
|
+
:id="item.id"
|
|
23
|
+
:content="msgContent"
|
|
24
|
+
:set-chat-box-foot-vnode="setFootVnode"
|
|
25
|
+
></sdk-chat-control-text>
|
|
26
|
+
</template>
|
|
24
27
|
<template slot="append" slot-scope="{ updateProp }">
|
|
25
28
|
<slot name="chat-append" :item="item" :update-chat-box-prop="updateProp"></slot>
|
|
26
29
|
</template>
|
|
27
30
|
</sdk-chat-panel-box>
|
|
28
31
|
</template>
|
|
29
|
-
<template v-else-if="
|
|
32
|
+
<template v-else-if="item.msgType === MESSAGE_TYPE.IMAGE">
|
|
30
33
|
<sdk-chat-panel-box
|
|
31
34
|
:dir="dir"
|
|
32
35
|
:data="item"
|
|
@@ -45,7 +48,7 @@
|
|
|
45
48
|
</template>
|
|
46
49
|
</sdk-chat-panel-box>
|
|
47
50
|
</template>
|
|
48
|
-
<template v-else-if="
|
|
51
|
+
<template v-else-if="item.msgType === MESSAGE_TYPE.VIDEO">
|
|
49
52
|
<sdk-chat-panel-box
|
|
50
53
|
:dir="dir"
|
|
51
54
|
:data="item"
|
|
@@ -289,7 +292,7 @@
|
|
|
289
292
|
</template>
|
|
290
293
|
</sdk-chat-panel-box>
|
|
291
294
|
</template>
|
|
292
|
-
<template v-else-if="item.msgType == MESSAGE_TYPE.
|
|
295
|
+
<template v-else-if="item.msgType == MESSAGE_TYPE.URLFile">
|
|
293
296
|
<sdk-chat-panel-box
|
|
294
297
|
:dir="dir"
|
|
295
298
|
:data="item"
|
|
@@ -300,19 +303,19 @@
|
|
|
300
303
|
@user-avatar-contextmenu="handleUserAvatarContextmenu"
|
|
301
304
|
>
|
|
302
305
|
<template slot-scope="{ updateProp }">
|
|
303
|
-
<sdk-chat-control-url
|
|
306
|
+
<sdk-chat-control-file-url
|
|
304
307
|
v-bind="configData"
|
|
305
308
|
:id="item.id"
|
|
306
309
|
:content="msgContent"
|
|
307
310
|
:update-chat-box-prop="updateProp"
|
|
308
|
-
></sdk-chat-control-url>
|
|
311
|
+
></sdk-chat-control-file-url>
|
|
309
312
|
</template>
|
|
310
313
|
<template slot="append" slot-scope="{ updateProp }">
|
|
311
314
|
<slot name="chat-append" :item="item" :update-chat-box-prop="updateProp"></slot>
|
|
312
315
|
</template>
|
|
313
316
|
</sdk-chat-panel-box>
|
|
314
317
|
</template>
|
|
315
|
-
<template v-else-if="
|
|
318
|
+
<template v-else-if="item.msgType == MESSAGE_TYPE.URL || item.msgType == MESSAGE_TYPE.URLNew">
|
|
316
319
|
<sdk-chat-panel-box
|
|
317
320
|
:dir="dir"
|
|
318
321
|
:data="item"
|
|
@@ -323,12 +326,12 @@
|
|
|
323
326
|
@user-avatar-contextmenu="handleUserAvatarContextmenu"
|
|
324
327
|
>
|
|
325
328
|
<template slot-scope="{ updateProp }">
|
|
326
|
-
<sdk-chat-control-
|
|
329
|
+
<sdk-chat-control-url
|
|
327
330
|
v-bind="configData"
|
|
328
331
|
:id="item.id"
|
|
329
332
|
:content="msgContent"
|
|
330
333
|
:update-chat-box-prop="updateProp"
|
|
331
|
-
></sdk-chat-control-
|
|
334
|
+
></sdk-chat-control-url>
|
|
332
335
|
</template>
|
|
333
336
|
<template slot="append" slot-scope="{ updateProp }">
|
|
334
337
|
<slot name="chat-append" :item="item" :update-chat-box-prop="updateProp"></slot>
|
|
@@ -353,19 +356,43 @@
|
|
|
353
356
|
</template>
|
|
354
357
|
</sdk-chat-panel-box>
|
|
355
358
|
</template>
|
|
356
|
-
<template v-else-if="item.msgType
|
|
359
|
+
<template v-else-if="item.msgType === MESSAGE_TYPE.MEETING">
|
|
357
360
|
<sdk-chat-panel-box
|
|
358
361
|
:dir="dir"
|
|
359
362
|
:data="item"
|
|
360
363
|
:fetchUserMethod="fetchUserMethod"
|
|
364
|
+
:blank="true"
|
|
361
365
|
@user-avatar-click="handleUserAvatarClick"
|
|
362
366
|
@user-avatar-contextmenu="handleUserAvatarContextmenu"
|
|
363
367
|
>
|
|
364
|
-
<
|
|
368
|
+
<template slot-scope="{ updateProp }">
|
|
369
|
+
<sdk-chat-control-metting
|
|
370
|
+
v-bind="configData"
|
|
371
|
+
:id="item.id"
|
|
372
|
+
:content="msgContent"
|
|
373
|
+
:initiator="item.qwAccountName || item.contactName || item.ownerAccountUserName"
|
|
374
|
+
:update-chat-box-prop="updateProp"
|
|
375
|
+
></sdk-chat-control-metting>
|
|
376
|
+
</template>
|
|
377
|
+
<template slot="append" slot-scope="{ updateProp }">
|
|
378
|
+
<slot name="chat-append" :item="item" :update-chat-box-prop="updateProp"></slot>
|
|
379
|
+
</template>
|
|
380
|
+
</sdk-chat-panel-box>
|
|
381
|
+
</template>
|
|
382
|
+
<template v-else-if="item.msgType === MESSAGE_TYPE.MERGE_MESSAGE">
|
|
383
|
+
<sdk-chat-panel-box
|
|
384
|
+
:dir="dir"
|
|
385
|
+
:data="item"
|
|
386
|
+
:fetchUserMethod="fetchUserMethod"
|
|
387
|
+
:blank="true"
|
|
388
|
+
@user-avatar-click="handleUserAvatarClick"
|
|
389
|
+
@user-avatar-contextmenu="handleUserAvatarContextmenu"
|
|
390
|
+
>
|
|
391
|
+
<sdk-chat-control-merge-message
|
|
365
392
|
v-bind="configData"
|
|
366
393
|
:id="item.id"
|
|
367
394
|
:content="msgContent"
|
|
368
|
-
></sdk-chat-control-
|
|
395
|
+
></sdk-chat-control-merge-message>
|
|
369
396
|
<template slot="append" slot-scope="{ updateProp }">
|
|
370
397
|
<slot name="chat-append" :item="item" :update-chat-box-prop="updateProp"></slot>
|
|
371
398
|
</template>
|
|
@@ -510,7 +537,7 @@
|
|
|
510
537
|
:content="msgContent"
|
|
511
538
|
></sdk-chat-control-empty>
|
|
512
539
|
</template>
|
|
513
|
-
|
|
540
|
+
<template v-else>
|
|
514
541
|
<sdk-chat-panel-box
|
|
515
542
|
:dir="dir"
|
|
516
543
|
:data="item"
|
|
@@ -523,10 +550,10 @@
|
|
|
523
550
|
:content="msgContent"
|
|
524
551
|
></sdk-chat-control-unknow>
|
|
525
552
|
</sdk-chat-panel-box>
|
|
526
|
-
</template>
|
|
553
|
+
</template>
|
|
527
554
|
</div>
|
|
528
555
|
</template>
|
|
529
|
-
</
|
|
556
|
+
</wework-chat-control-config-msg>
|
|
530
557
|
</template>
|
|
531
558
|
<script>
|
|
532
559
|
import SdkChatPanelBox from '../chat-panel/chat-panel-box'
|
|
@@ -545,6 +572,8 @@ import {
|
|
|
545
572
|
channelVideo as SdkChatControlChannelVideo,
|
|
546
573
|
// channelVideoCard as SdkChatControlChannelVideoCard,
|
|
547
574
|
channelLive as SdkChatControlChannelLive,
|
|
575
|
+
metting as SdkChatControlMetting,
|
|
576
|
+
mergeMessage as SdkChatControlMergeMessage,
|
|
548
577
|
url as SdkChatControlUrl,
|
|
549
578
|
fileUrl as SdkChatControlFileUrl,
|
|
550
579
|
jxSysText as SdkChatControlJxSysText,
|
|
@@ -564,10 +593,10 @@ import {
|
|
|
564
593
|
unknow as SdkChatControlUnknow
|
|
565
594
|
} from '../wework-chat-control'
|
|
566
595
|
import { MESSAGE_TYPE } from '../wework-chat-control/util'
|
|
567
|
-
import
|
|
596
|
+
import WeworkChatControlConfigMsg from '../wework-chat-control/wework-chat-control-config-msg.vue'
|
|
568
597
|
|
|
569
598
|
export default {
|
|
570
|
-
name: '
|
|
599
|
+
name: 'SdkWeworkPanelItem',
|
|
571
600
|
components: {
|
|
572
601
|
SdkChatPanelBox,
|
|
573
602
|
SdkChatControlText,
|
|
@@ -583,6 +612,8 @@ export default {
|
|
|
583
612
|
SdkChatControlChannelVideo,
|
|
584
613
|
// SdkChatControlChannelVideoCard,
|
|
585
614
|
SdkChatControlChannelLive,
|
|
615
|
+
SdkChatControlMetting,
|
|
616
|
+
SdkChatControlMergeMessage,
|
|
586
617
|
SdkChatControlFileUrl,
|
|
587
618
|
// SdkChatControlTextWithAt,
|
|
588
619
|
SdkChatControlUrl,
|
|
@@ -601,7 +632,7 @@ export default {
|
|
|
601
632
|
// SdkChatControlRevokeMeMessage,
|
|
602
633
|
// SdkChatControlRevokeOtherMessage,
|
|
603
634
|
// SdkChatControlRevokeYouMessage,
|
|
604
|
-
|
|
635
|
+
WeworkChatControlConfigMsg
|
|
605
636
|
},
|
|
606
637
|
props: {
|
|
607
638
|
dir: {
|
|
@@ -647,4 +678,4 @@ export default {
|
|
|
647
678
|
}
|
|
648
679
|
}
|
|
649
680
|
}
|
|
650
|
-
</script>
|
|
681
|
+
</script>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<sdk-chat-panel
|
|
3
3
|
ref="panel"
|
|
4
|
-
v-bind="
|
|
4
|
+
v-bind="props"
|
|
5
5
|
:is-sender-method="handleIsSenderMethod"
|
|
6
6
|
@initloaded="handleChatsInitLoaded"
|
|
7
7
|
@chat-contextmenu="handleChatContext"
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
:fetch-user-method="fetchUserMethod"
|
|
18
18
|
:config="config"
|
|
19
19
|
>
|
|
20
|
-
|
|
20
|
+
<template slot="chat-append" slot-scope="{ item, updateProp }">
|
|
21
21
|
<chat-panel-chat-status
|
|
22
22
|
:data="item"
|
|
23
23
|
:update-chat-box-prop="updateProp"
|
|
24
24
|
></chat-panel-chat-status>
|
|
25
|
-
</template>
|
|
25
|
+
</template>
|
|
26
26
|
<template slot="chat-prefix" slot-scope="{ item }">
|
|
27
27
|
<template v-if="selectable && handleFilterSelectMessageMethod(item)">
|
|
28
28
|
<div class="sdk-wechat-chat-panel__checkbox">
|
|
@@ -37,18 +37,23 @@
|
|
|
37
37
|
</template>
|
|
38
38
|
<template slot="main">
|
|
39
39
|
<slot name="main"></slot>
|
|
40
|
+
<template v-if="selectable">
|
|
41
|
+
<slot name="selection" :total="checkTotal"></slot>
|
|
42
|
+
</template>
|
|
40
43
|
</template>
|
|
41
44
|
</sdk-chat-panel>
|
|
42
45
|
</template>
|
|
43
46
|
<script>
|
|
44
47
|
import SdkChatPanel from '../chat-panel'
|
|
45
48
|
import ChatPanelItem from './chat-panel-item.vue'
|
|
49
|
+
import ChatPanelChatStatus from './chat-panel-chat-status/chat-panel-chat-status.vue'
|
|
46
50
|
|
|
47
51
|
export default {
|
|
48
52
|
name: 'SdkWeworkChatPanel',
|
|
49
53
|
components: {
|
|
50
54
|
SdkChatPanel,
|
|
51
|
-
ChatPanelItem
|
|
55
|
+
ChatPanelItem,
|
|
56
|
+
ChatPanelChatStatus
|
|
52
57
|
},
|
|
53
58
|
props: {
|
|
54
59
|
mode: {
|
|
@@ -59,7 +64,8 @@ export default {
|
|
|
59
64
|
}
|
|
60
65
|
},
|
|
61
66
|
keyField: {
|
|
62
|
-
type: String
|
|
67
|
+
type: String,
|
|
68
|
+
default: 'id'
|
|
63
69
|
},
|
|
64
70
|
startDate: {
|
|
65
71
|
type: Number
|
|
@@ -88,9 +94,6 @@ export default {
|
|
|
88
94
|
type: Boolean,
|
|
89
95
|
default: true
|
|
90
96
|
},
|
|
91
|
-
renderControl: {
|
|
92
|
-
type: Function
|
|
93
|
-
},
|
|
94
97
|
fetchUserMethod: {
|
|
95
98
|
type: Function
|
|
96
99
|
},
|
|
@@ -126,14 +129,35 @@ export default {
|
|
|
126
129
|
},
|
|
127
130
|
contextChatId: {
|
|
128
131
|
type: String
|
|
132
|
+
},
|
|
133
|
+
onBeforeSelectionChange: {
|
|
134
|
+
type: Function
|
|
129
135
|
}
|
|
130
136
|
},
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
137
|
+
data () {
|
|
138
|
+
return {
|
|
139
|
+
checkMsgMap: {}
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
computed: {
|
|
143
|
+
props () {
|
|
144
|
+
const { config, ...nextProps } = this.$props
|
|
145
|
+
return nextProps
|
|
134
146
|
},
|
|
147
|
+
checkTotal () {
|
|
148
|
+
return Object.keys(this.checkMsgMap).length
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
watch: {
|
|
152
|
+
selectable () {
|
|
153
|
+
if (!this.selectable) {
|
|
154
|
+
this.checkMsgMap = {}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
methods: {
|
|
135
159
|
handleIsSenderMethod ({ item }) {
|
|
136
|
-
return !!item.
|
|
160
|
+
return !!item.isSend
|
|
137
161
|
},
|
|
138
162
|
handleChatsInitLoaded () {
|
|
139
163
|
this.$emit('initloaded')
|
|
@@ -148,8 +172,67 @@ export default {
|
|
|
148
172
|
this.currentContextChat = null
|
|
149
173
|
return this.$refs.panel && this.$refs.panel.reload()
|
|
150
174
|
},
|
|
175
|
+
handleFilterSelectMessageMethod (msg) {
|
|
176
|
+
if (!this.filterSelectMessageMethod) {
|
|
177
|
+
return true
|
|
178
|
+
}
|
|
179
|
+
return this.filterSelectMessageMethod({
|
|
180
|
+
item: msg
|
|
181
|
+
})
|
|
182
|
+
},
|
|
183
|
+
handleMsgCheckboxChange (msg, value) {
|
|
184
|
+
if (value) {
|
|
185
|
+
this.selectChat(msg)
|
|
186
|
+
} else {
|
|
187
|
+
this.unselectChat(msg)
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
selectChat (chat) {
|
|
191
|
+
if (!chat) {
|
|
192
|
+
return
|
|
193
|
+
}
|
|
194
|
+
if (!this.selectable) {
|
|
195
|
+
console.warn('未开启选择')
|
|
196
|
+
return
|
|
197
|
+
}
|
|
198
|
+
if (this.onBeforeSelectionChange && this.onBeforeSelectionChange({
|
|
199
|
+
chat,
|
|
200
|
+
value: true
|
|
201
|
+
}) === false) {
|
|
202
|
+
return
|
|
203
|
+
}
|
|
204
|
+
this.$set(this.checkMsgMap, chat[this.keyField], chat)
|
|
205
|
+
},
|
|
206
|
+
unselectChat (chat) {
|
|
207
|
+
if (!chat) {
|
|
208
|
+
return
|
|
209
|
+
}
|
|
210
|
+
if (!this.selectable) {
|
|
211
|
+
console.warn('未开启选择')
|
|
212
|
+
return
|
|
213
|
+
}
|
|
214
|
+
if (this.onBeforeSelectionChange && this.onBeforeSelectionChange({
|
|
215
|
+
chat,
|
|
216
|
+
value: false
|
|
217
|
+
}) === false) {
|
|
218
|
+
return
|
|
219
|
+
}
|
|
220
|
+
this.$delete(this.checkMsgMap, chat[this.keyField])
|
|
221
|
+
},
|
|
222
|
+
unselectAllChat () {
|
|
223
|
+
return Object.keys(this.checkMsgMap).map(key => {
|
|
224
|
+
return this.unselectChat(this.checkMsgMap[key])
|
|
225
|
+
})
|
|
226
|
+
},
|
|
227
|
+
getSelectChats () {
|
|
228
|
+
return Object.keys(this.checkMsgMap).map(key => {
|
|
229
|
+
return this.checkMsgMap[key]
|
|
230
|
+
})
|
|
231
|
+
},
|
|
151
232
|
handleChatContext (item, evt) {
|
|
152
|
-
this.$emit('chat-contextmenu',
|
|
233
|
+
this.$emit('chat-contextmenu', {
|
|
234
|
+
item
|
|
235
|
+
}, evt)
|
|
153
236
|
},
|
|
154
237
|
handleChatViewContext ({ item }) {
|
|
155
238
|
this.$emit('chat-view-context', {
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aochuang/client-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.372",
|
|
4
4
|
"description": "",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"files": [
|
|
6
|
+
"common",
|
|
7
|
+
"components",
|
|
8
|
+
"services",
|
|
9
|
+
"utils",
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"exports": {
|
|
13
|
+
".": "./components/index.js"
|
|
7
14
|
},
|
|
8
15
|
"repository": {
|
|
9
16
|
"type": "git",
|
|
Binary file
|
|
@@ -5,14 +5,20 @@ export default class ClientChatAccount {
|
|
|
5
5
|
data = Vue.observable({
|
|
6
6
|
accountData: [],
|
|
7
7
|
accountUnreadMessageNumData: [],
|
|
8
|
+
accountGreetingUnreadMsgCountData: {},
|
|
8
9
|
currentAccount: null
|
|
9
10
|
})
|
|
10
11
|
|
|
11
12
|
loadAccountDataMethod = null
|
|
12
13
|
|
|
13
14
|
getAccountUnreadMessageNumMethod = null
|
|
15
|
+
|
|
16
|
+
getAccountGreetingUnreadMsgCountMethod = null
|
|
14
17
|
|
|
15
18
|
accountMap = {}
|
|
19
|
+
|
|
20
|
+
// 好友请求数量请求合并,key为账号id列表
|
|
21
|
+
greetingUnreadRequestMap = {}
|
|
16
22
|
|
|
17
23
|
constructor (options) {
|
|
18
24
|
options = Object.assign({
|
|
@@ -21,11 +27,13 @@ export default class ClientChatAccount {
|
|
|
21
27
|
getAccountUnreadMessageNumMethod: null,
|
|
22
28
|
updateAccountMessageReadMethod: null,
|
|
23
29
|
deleteAccountSessionMethod: null,
|
|
30
|
+
getAccountGreetingUnreadMsgCountMethod: null,
|
|
24
31
|
onCurrentAccountChange: null,
|
|
25
32
|
onAccountAdded: null,
|
|
26
33
|
onAccountRemoved: null,
|
|
27
34
|
onUnreadMessageNumChange: null,
|
|
28
|
-
onDeleteAccountSession: null
|
|
35
|
+
onDeleteAccountSession: null,
|
|
36
|
+
onAccountLoaded: null
|
|
29
37
|
}, options)
|
|
30
38
|
if (!options.loadAccountDataMethod) {
|
|
31
39
|
throw new Error('缺少loadAccountDataMethod配置')
|
|
@@ -38,10 +46,12 @@ export default class ClientChatAccount {
|
|
|
38
46
|
this.getAccountUnreadMessageNumMethod = options.getAccountUnreadMessageNumMethod
|
|
39
47
|
this.updateAccountMessageReadMethod = options.updateAccountMessageReadMethod
|
|
40
48
|
this.deleteAccountSessionMethod = options.deleteAccountSessionMethod
|
|
49
|
+
this.getAccountGreetingUnreadMsgCountMethod = options.getAccountGreetingUnreadMsgCountMethod
|
|
41
50
|
this.onAccountAdded = options.onAccountAdded
|
|
42
51
|
this.onAccountRemoved = options.onAccountRemoved,
|
|
43
52
|
this.onUnreadMessageNumChange = options.onUnreadMessageNumChange
|
|
44
53
|
this.onDeleteAccountSession = options.onDeleteAccountSession
|
|
54
|
+
this.onAccountLoaded = options.onAccountLoaded
|
|
45
55
|
}
|
|
46
56
|
|
|
47
57
|
get accountData () {
|
|
@@ -55,6 +65,10 @@ export default class ClientChatAccount {
|
|
|
55
65
|
get currentAccount () {
|
|
56
66
|
return this.data.currentAccount
|
|
57
67
|
}
|
|
68
|
+
|
|
69
|
+
get accountGreetingUnreadMsgCountData () {
|
|
70
|
+
return this.data.accountGreetingUnreadMsgCountData
|
|
71
|
+
}
|
|
58
72
|
|
|
59
73
|
setCurrentAccount (accountId) {
|
|
60
74
|
let account = null
|
|
@@ -282,6 +296,9 @@ export default class ClientChatAccount {
|
|
|
282
296
|
this._cacheLoadPromise = this.loadAccountDataMethod()
|
|
283
297
|
this._cacheLoadPromise.then(rs => {
|
|
284
298
|
this.setAccountData(rs.data)
|
|
299
|
+
this.onAccountLoaded && this.onAccountLoaded({
|
|
300
|
+
data: rs.data
|
|
301
|
+
})
|
|
285
302
|
})
|
|
286
303
|
this.cancelConnectRequest = () => {
|
|
287
304
|
this._cacheLoadPromise.abort()
|
|
@@ -298,9 +315,75 @@ export default class ClientChatAccount {
|
|
|
298
315
|
return this.loadData()
|
|
299
316
|
}
|
|
300
317
|
|
|
318
|
+
/**
|
|
319
|
+
* 设置指定企微账号的待处理好友请求数量,并重算all
|
|
320
|
+
*/
|
|
321
|
+
setAccountGreetingUnreadMsgCount (params) {
|
|
322
|
+
if (!params || !params.qwAccountId) {
|
|
323
|
+
throw new Error('缺少必须参数')
|
|
324
|
+
}
|
|
325
|
+
Vue.set(this.data.accountGreetingUnreadMsgCountData, params.qwAccountId, params.count || 0)
|
|
326
|
+
this.updateAllAccountGreetingUnreadMsgCount()
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
updateAllAccountGreetingUnreadMsgCount () {
|
|
330
|
+
const allCount = Object.keys(this.data.accountGreetingUnreadMsgCountData).reduce((rs, key) => {
|
|
331
|
+
return key === 'all' ? rs : rs + (this.data.accountGreetingUnreadMsgCountData[key] || 0)
|
|
332
|
+
}, 0)
|
|
333
|
+
Vue.set(this.data.accountGreetingUnreadMsgCountData, 'all', allCount)
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* 获取待处理好友请求数量
|
|
338
|
+
* qwAccountIds不传则刷新所有账号;后端数量为0的账号不返回,所以先置0再覆盖
|
|
339
|
+
*/
|
|
340
|
+
getAccountGreetingUnreadMsgCount (params) {
|
|
341
|
+
if (!this.getAccountGreetingUnreadMsgCountMethod) {
|
|
342
|
+
return Promise.reject(new Error('getAccountGreetingUnreadMsgCountMethod未定义'))
|
|
343
|
+
}
|
|
344
|
+
let qwAccountIds = (params || {}).qwAccountIds
|
|
345
|
+
if (qwAccountIds && !Array.isArray(qwAccountIds)) {
|
|
346
|
+
qwAccountIds = [qwAccountIds]
|
|
347
|
+
}
|
|
348
|
+
qwAccountIds = (qwAccountIds || []).filter((id, index, data) => id && data.indexOf(id) === index).map(String)
|
|
349
|
+
const isAll = !qwAccountIds.length
|
|
350
|
+
const requestKey = isAll ? 'all' : qwAccountIds.slice().sort().join(',')
|
|
351
|
+
if (this.greetingUnreadRequestMap[requestKey]) {
|
|
352
|
+
return this.greetingUnreadRequestMap[requestKey]
|
|
353
|
+
}
|
|
354
|
+
const request = this.getAccountGreetingUnreadMsgCountMethod({
|
|
355
|
+
qwAccountIds: isAll ? undefined : qwAccountIds
|
|
356
|
+
}).then(rs => {
|
|
357
|
+
const targetIds = isAll ? Object.keys(this.accountMap) : qwAccountIds
|
|
358
|
+
targetIds.forEach(id => {
|
|
359
|
+
Vue.set(this.data.accountGreetingUnreadMsgCountData, id, 0)
|
|
360
|
+
})
|
|
361
|
+
;((rs && rs.data) || []).forEach(item => {
|
|
362
|
+
if (item && item.qwAccountId) {
|
|
363
|
+
Vue.set(this.data.accountGreetingUnreadMsgCountData, String(item.qwAccountId), item.count || 0)
|
|
364
|
+
}
|
|
365
|
+
})
|
|
366
|
+
this.updateAllAccountGreetingUnreadMsgCount()
|
|
367
|
+
return this.data.accountGreetingUnreadMsgCountData
|
|
368
|
+
}).finally(() => {
|
|
369
|
+
delete this.greetingUnreadRequestMap[requestKey]
|
|
370
|
+
})
|
|
371
|
+
this.greetingUnreadRequestMap[requestKey] = request
|
|
372
|
+
return request
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* 刷新所有账号的待处理好友请求数量
|
|
377
|
+
*/
|
|
378
|
+
refreshAllAccountGreetingUnreadMsgCount () {
|
|
379
|
+
return this.getAccountGreetingUnreadMsgCount()
|
|
380
|
+
}
|
|
381
|
+
|
|
301
382
|
reset () {
|
|
302
383
|
this.data.accountData = []
|
|
303
384
|
this.data.accountUnreadMessageNumData = []
|
|
385
|
+
this.data.accountGreetingUnreadMsgCountData = {}
|
|
386
|
+
this.greetingUnreadRequestMap = {}
|
|
304
387
|
if (this.cancelConnectRequest) {
|
|
305
388
|
this.cancelConnectRequest()
|
|
306
389
|
}
|
|
@@ -126,11 +126,7 @@ export default class ClientChatContacts {
|
|
|
126
126
|
*/
|
|
127
127
|
roomBindMemberMap: {},
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
* 标记通讯录是否修改了
|
|
131
|
-
* 如果修改了,比如接收到了分配好友的会话时,一定通讯录变了,变了的时候界面需要根据这个状态刷新通讯录
|
|
132
|
-
*/
|
|
133
|
-
isModify: false
|
|
129
|
+
modifiedAccountMap: {}
|
|
134
130
|
})
|
|
135
131
|
|
|
136
132
|
friendMap = {}
|
|
@@ -237,10 +233,6 @@ export default class ClientChatContacts {
|
|
|
237
233
|
return this.data.roomGroupData
|
|
238
234
|
}
|
|
239
235
|
|
|
240
|
-
get isModify () {
|
|
241
|
-
return this.data.isModify
|
|
242
|
-
}
|
|
243
|
-
|
|
244
236
|
setRoomGroup (data) {
|
|
245
237
|
this.data.roomGroupData = []
|
|
246
238
|
if (data && data.length) {
|
|
@@ -491,10 +483,10 @@ export default class ClientChatContacts {
|
|
|
491
483
|
}
|
|
492
484
|
}
|
|
493
485
|
const qwAccountId = this.roomMap[id].qwAccountId
|
|
494
|
-
if (qwAccountId && this.data.
|
|
495
|
-
const bindIndex = this.data.
|
|
486
|
+
if (qwAccountId && this.data.accountBindRoomMap[qwAccountId] && this.data.accountBindRoomMap[qwAccountId][groupId]) {
|
|
487
|
+
const bindIndex = this.data.accountBindRoomMap[qwAccountId][groupId].indexOf(this.roomMap[id])
|
|
496
488
|
if (bindIndex >= 0) {
|
|
497
|
-
this.data.
|
|
489
|
+
this.data.accountBindRoomMap[qwAccountId][groupId].splice(bindIndex, 1)
|
|
498
490
|
}
|
|
499
491
|
}
|
|
500
492
|
})
|
|
@@ -628,6 +620,37 @@ export default class ClientChatContacts {
|
|
|
628
620
|
return rs
|
|
629
621
|
})
|
|
630
622
|
}
|
|
623
|
+
|
|
624
|
+
/**
|
|
625
|
+
* 强制从服务端刷新好友资料,绕过本地缓存。
|
|
626
|
+
*/
|
|
627
|
+
refreshFriend (friendId) {
|
|
628
|
+
if (!friendId) {
|
|
629
|
+
return Promise.reject('缺少好友id')
|
|
630
|
+
}
|
|
631
|
+
if (!this.getContactsFriendMethod) {
|
|
632
|
+
return Promise.reject(new Error('getContactsFriendMethod未定义'))
|
|
633
|
+
}
|
|
634
|
+
return this.getContactsFriendMethod({
|
|
635
|
+
id: friendId
|
|
636
|
+
}).then(rs => {
|
|
637
|
+
if (!rs || !rs.data) {
|
|
638
|
+
return Promise.reject('未找到好友' + friendId)
|
|
639
|
+
}
|
|
640
|
+
if (this.friendMap[friendId]) {
|
|
641
|
+
const nextKeys = Object.keys(rs.data)
|
|
642
|
+
Object.keys(this.friendMap[friendId]).forEach(key => {
|
|
643
|
+
if (!nextKeys.includes(key)) {
|
|
644
|
+
Vue.delete(this.friendMap[friendId], key)
|
|
645
|
+
}
|
|
646
|
+
})
|
|
647
|
+
this.updateFriend(friendId, rs.data)
|
|
648
|
+
} else {
|
|
649
|
+
this.addFriend(rs.data)
|
|
650
|
+
}
|
|
651
|
+
return rs
|
|
652
|
+
})
|
|
653
|
+
}
|
|
631
654
|
|
|
632
655
|
setRoomMemberData (roomId, data) {
|
|
633
656
|
if (!roomId) {
|
|
@@ -738,12 +761,52 @@ export default class ClientChatContacts {
|
|
|
738
761
|
})
|
|
739
762
|
}
|
|
740
763
|
|
|
741
|
-
|
|
742
|
-
|
|
764
|
+
refreshRoom (id) {
|
|
765
|
+
if (!id) {
|
|
766
|
+
return Promise.reject('缺少群id')
|
|
767
|
+
}
|
|
768
|
+
if (!this.getContactsRoomMethod) {
|
|
769
|
+
return Promise.reject(new Error('getContactsRoomMethod未定义'))
|
|
770
|
+
}
|
|
771
|
+
return this.getContactsRoomMethod({
|
|
772
|
+
id
|
|
773
|
+
}).then(rs => {
|
|
774
|
+
if (!rs || !rs.data) {
|
|
775
|
+
return Promise.reject('未找到群' + id)
|
|
776
|
+
}
|
|
777
|
+
const localRoom = this.roomMap[id]
|
|
778
|
+
if (localRoom) {
|
|
779
|
+
this.removeRoom(id)
|
|
780
|
+
const nextKeys = Object.keys(rs.data)
|
|
781
|
+
Object.keys(localRoom).forEach(key => {
|
|
782
|
+
if (!nextKeys.includes(key)) {
|
|
783
|
+
Vue.delete(localRoom, key)
|
|
784
|
+
}
|
|
785
|
+
})
|
|
786
|
+
Object.keys(rs.data).forEach(key => {
|
|
787
|
+
Vue.set(localRoom, key, rs.data[key])
|
|
788
|
+
})
|
|
789
|
+
}
|
|
790
|
+
this.addRoom(localRoom || rs.data)
|
|
791
|
+
return rs
|
|
792
|
+
})
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
isModify (qwAccountId) {
|
|
796
|
+
return !!(qwAccountId && this.data.modifiedAccountMap[qwAccountId])
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
markModify (qwAccountIds) {
|
|
800
|
+
const ids = Array.isArray(qwAccountIds) ? qwAccountIds : [qwAccountIds]
|
|
801
|
+
ids.filter(Boolean).forEach(id => {
|
|
802
|
+
Vue.set(this.data.modifiedAccountMap, id, true)
|
|
803
|
+
})
|
|
743
804
|
}
|
|
744
805
|
|
|
745
|
-
unmarkModify () {
|
|
746
|
-
|
|
806
|
+
unmarkModify (qwAccountId) {
|
|
807
|
+
if (qwAccountId) {
|
|
808
|
+
Vue.delete(this.data.modifiedAccountMap, qwAccountId)
|
|
809
|
+
}
|
|
747
810
|
}
|
|
748
811
|
|
|
749
812
|
reset () {
|
|
@@ -758,6 +821,7 @@ export default class ClientChatContacts {
|
|
|
758
821
|
this.data.groupBindRoomMap = {}
|
|
759
822
|
this.data.accountBindFriendMap = {}
|
|
760
823
|
this.data.accountBindRoomMap = {}
|
|
824
|
+
this.data.modifiedAccountMap = {}
|
|
761
825
|
this._cacheFriendGroupCountMap = null
|
|
762
826
|
this._cacheRoomGroupCountMap = null
|
|
763
827
|
if (this.cancelConnectRequest) {
|
|
@@ -769,4 +833,4 @@ export default class ClientChatContacts {
|
|
|
769
833
|
this.cancelRefreshRequest = null
|
|
770
834
|
}
|
|
771
835
|
}
|
|
772
|
-
}
|
|
836
|
+
}
|