@aochuang/client-sdk 1.0.345 → 1.0.347

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 (140) hide show
  1. package/components/index.js +6 -1
  2. package/components/session-select/session-select-item.vue +8 -9
  3. package/components/wework-chat-control/company-card/company-card.vue +1 -1
  4. package/components/wework-chat-control/file-url/file-url.vue +2 -5
  5. package/components/wework-chat-control/image/image.vue +137 -2
  6. package/components/wework-chat-control/index.js +6 -6
  7. package/components/wework-chat-control/text/text.vue +22 -3
  8. package/components/wework-chat-control/util.js +12 -6
  9. package/components/wework-chat-control/video/video.vue +10 -2
  10. package/components/wework-chat-control/voice/voice.vue +1 -1
  11. package/components/wework-chat-control/wework-chat-control-config-item.vue +24 -0
  12. package/components/wework-chat-control/wework-chat-control-config-msg.vue +25 -0
  13. package/{uni-components/chat-control/chat-control-config.vue → components/wework-chat-control/wework-chat-control-config.vue} +16 -13
  14. package/components/wework-chat-panel/chat-panel-chat-status/chat-panel-chat-status.vue +73 -0
  15. package/components/wework-chat-panel/chat-panel-item.vue +12 -35
  16. package/components/wework-chat-panel/chat-panel.vue +95 -12
  17. package/package.json +10 -3
  18. package/services/client-chat/client-chat-wechat/client-chat-account.js +1 -1
  19. package/services/client-chat/client-chat-wechat/client-chat-session.js +26 -105
  20. package/services/client-chat/client-chat-wechat/client-chat.js +110 -224
  21. package/services/client-chat/client-chat-wework/client-chat-concats.js +81 -17
  22. package/services/client-chat/client-chat-wework/client-chat-message.js +46 -6
  23. package/services/client-chat/client-chat-wework/client-chat-session.js +50 -2
  24. package/services/client-chat/client-chat-wework/client-chat-socket.js +9 -1
  25. package/services/client-chat/client-chat-wework/client-chat.js +281 -11
  26. package/services/client-chat/client-chat-wework/utils.js +5 -5
  27. package/components/wework-chat-panel/chat-panel-controls/company-card/company-card.vue +0 -35
  28. package/components/wework-chat-panel/chat-panel-controls/expression/expression.vue +0 -36
  29. package/components/wework-chat-panel/chat-panel-controls/file-url/file-url.vue +0 -35
  30. package/components/wework-chat-panel/chat-panel-controls/image/image.vue +0 -36
  31. package/components/wework-chat-panel/chat-panel-controls/index.js +0 -35
  32. package/components/wework-chat-panel/chat-panel-controls/jx-sys-text/jx-sys-text.vue +0 -28
  33. package/components/wework-chat-panel/chat-panel-controls/link/link.vue +0 -35
  34. package/components/wework-chat-panel/chat-panel-controls/location/location.vue +0 -35
  35. package/components/wework-chat-panel/chat-panel-controls/text/text.vue +0 -43
  36. package/components/wework-chat-panel/chat-panel-controls/unkonw/unkonw.vue +0 -39
  37. package/components/wework-chat-panel/chat-panel-controls/video/video.vue +0 -37
  38. package/components/wework-chat-panel/chat-panel-controls/voice/voice.vue +0 -35
  39. package/uni-common/account-portray/account-portray.vue +0 -51
  40. package/uni-common/account-select/account-select-item.vue +0 -172
  41. package/uni-common/account-select/account-select.vue +0 -252
  42. package/uni-common/all-friend-avatar/all-friend-avatar.vue +0 -49
  43. package/uni-common/friend-avatar/default.svg +0 -1
  44. package/uni-common/friend-avatar/friend-avatar.vue +0 -27
  45. package/uni-common/friend-avatar/index.js +0 -3
  46. package/uni-common/friend-loader/friend-loader.vue +0 -53
  47. package/uni-common/friend-portray/friend-portray.vue +0 -56
  48. package/uni-common/group-avatar/default.svg +0 -1
  49. package/uni-common/group-avatar/group-avatar.vue +0 -18
  50. package/uni-common/group-avatar/index.js +0 -3
  51. package/uni-common/room-avatar/default.svg +0 -6
  52. package/uni-common/room-avatar/index.js +0 -3
  53. package/uni-common/room-avatar/room-avatar.vue +0 -27
  54. package/uni-common/room-loader/room-loader.vue +0 -53
  55. package/uni-common/room-portray/room-portray.vue +0 -56
  56. package/uni-components/chat-control/calling/calling.vue +0 -91
  57. package/uni-components/chat-control/calling/phone-fill.svg +0 -1
  58. package/uni-components/chat-control/calling/vidicon-fill.svg +0 -1
  59. package/uni-components/chat-control/channel-video/channel-video.vue +0 -89
  60. package/uni-components/chat-control/channel-video-card/channel-video-card.vue +0 -105
  61. package/uni-components/chat-control/channel-video-live/channel-video-live.vue +0 -92
  62. package/uni-components/chat-control/chat-control-config-item/chat-control-config-item.vue +0 -20
  63. package/uni-components/chat-control/chat-control-config-item/index.js +0 -3
  64. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-app.vue +0 -25
  65. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-h5.vue +0 -21
  66. package/uni-components/chat-control/chat-control.vue +0 -218
  67. package/uni-components/chat-control/company-card/company-card.vue +0 -123
  68. package/uni-components/chat-control/const.js +0 -28
  69. package/uni-components/chat-control/expression/expression.vue +0 -41
  70. package/uni-components/chat-control/image/image.vue +0 -68
  71. package/uni-components/chat-control/index.js +0 -89
  72. package/uni-components/chat-control/location/location.vue +0 -110
  73. package/uni-components/chat-control/member-change/member-change.vue +0 -32
  74. package/uni-components/chat-control/quote-message/quote-message.vue +0 -216
  75. package/uni-components/chat-control/real-time-position/real-time-position.vue +0 -62
  76. package/uni-components/chat-control/redpacket/red-envelope.svg +0 -1
  77. package/uni-components/chat-control/redpacket/redpacket.vue +0 -75
  78. package/uni-components/chat-control/share-card/share-card.vue +0 -101
  79. package/uni-components/chat-control/system/system.vue +0 -69
  80. package/uni-components/chat-control/system-batch-message/system-batch-message.vue +0 -30
  81. package/uni-components/chat-control/system-text/system-text.vue +0 -32
  82. package/uni-components/chat-control/text/text.vue +0 -67
  83. package/uni-components/chat-control/text-with-at/text-with-at.vue +0 -51
  84. package/uni-components/chat-control/transfer/red-transfer.svg +0 -1
  85. package/uni-components/chat-control/transfer/transfer.vue +0 -80
  86. package/uni-components/chat-control/unkonw/unkonw.vue +0 -37
  87. package/uni-components/chat-control/url/icons/file-excel-line.svg +0 -1
  88. package/uni-components/chat-control/url/icons/file-info-line.svg +0 -1
  89. package/uni-components/chat-control/url/icons/file-music-line.svg +0 -1
  90. package/uni-components/chat-control/url/icons/file-pdf-line.svg +0 -1
  91. package/uni-components/chat-control/url/icons/file-ppt-line.svg +0 -1
  92. package/uni-components/chat-control/url/icons/file-settings-line.svg +0 -1
  93. package/uni-components/chat-control/url/icons/file-text-line.svg +0 -1
  94. package/uni-components/chat-control/url/icons/file-unknow-line.svg +0 -1
  95. package/uni-components/chat-control/url/icons/file-word-line.svg +0 -1
  96. package/uni-components/chat-control/url/icons/file-zip-line.svg +0 -1
  97. package/uni-components/chat-control/url/icons/index.js +0 -24
  98. package/uni-components/chat-control/url/miniprogram.svg +0 -1
  99. package/uni-components/chat-control/url/url-miniprogram.vue +0 -116
  100. package/uni-components/chat-control/url/url.vue +0 -306
  101. package/uni-components/chat-control/url-new/icons/file-excel-line.svg +0 -1
  102. package/uni-components/chat-control/url-new/icons/file-info-line.svg +0 -1
  103. package/uni-components/chat-control/url-new/icons/file-music-line.svg +0 -1
  104. package/uni-components/chat-control/url-new/icons/file-pdf-line.svg +0 -1
  105. package/uni-components/chat-control/url-new/icons/file-ppt-line.svg +0 -1
  106. package/uni-components/chat-control/url-new/icons/file-settings-line.svg +0 -1
  107. package/uni-components/chat-control/url-new/icons/file-text-line.svg +0 -1
  108. package/uni-components/chat-control/url-new/icons/file-unknow-line.svg +0 -1
  109. package/uni-components/chat-control/url-new/icons/file-word-line.svg +0 -1
  110. package/uni-components/chat-control/url-new/icons/file-zip-line.svg +0 -1
  111. package/uni-components/chat-control/url-new/icons/index.js +0 -24
  112. package/uni-components/chat-control/url-new/url-new.vue +0 -110
  113. package/uni-components/chat-control/utils.js +0 -12
  114. package/uni-components/chat-control/video/video.vue +0 -156
  115. package/uni-components/chat-control/voice/voice.vue +0 -166
  116. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-collect.vue +0 -84
  117. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-system.vue +0 -28
  118. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet.vue +0 -85
  119. package/uni-components/chat-editor/chat-editor-func/chat-editor-func.vue +0 -157
  120. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at-panel.vue +0 -158
  121. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at.vue +0 -61
  122. package/uni-components/chat-editor/chat-editor-func-button/chat-editor-func-button.vue +0 -58
  123. package/uni-components/chat-editor/chat-editor-func-file/chat-editor-func-file.vue +0 -54
  124. package/uni-components/chat-editor/chat-editor-func-image/chat-editor-func-image.vue +0 -42
  125. package/uni-components/chat-editor/chat-editor-func-video/chat-editor-func-video.vue +0 -42
  126. package/uni-components/chat-editor/chat-editor-func-voice/chat-editor-func-voice.vue +0 -25
  127. package/uni-components/chat-editor/chat-editor-message-send/chat-editor-message-send.vue +0 -158
  128. package/uni-components/chat-editor/chat-editor-quote/chat-editor-quote.vue +0 -75
  129. package/uni-components/chat-editor/chat-editor.vue +0 -257
  130. package/uni-components/chat-editor/index.js +0 -10
  131. package/uni-components/chat-editor/util.js +0 -65
  132. package/uni-components/chat-panel/chat-panel-chats-box.vue +0 -238
  133. package/uni-components/chat-panel/chat-panel-chats-forward/chat-panel-chats-forward.vue +0 -273
  134. package/uni-components/chat-panel/chat-panel-chats-item.vue +0 -578
  135. package/uni-components/chat-panel/chat-panel-chats-status/chat-panel-chats-status.vue +0 -71
  136. package/uni-components/chat-panel/chat-panel-chats.vue +0 -368
  137. package/uni-components/chat-panel/chat-panel.vue +0 -227
  138. package/uni-components/contacts-group-select/contacts-group-select-item.vue +0 -85
  139. package/uni-components/contacts-group-select/contacts-group-select-panel.vue +0 -119
  140. package/uni-components/contacts-group-select/contacts-group-select.vue +0 -150
@@ -1,36 +0,0 @@
1
- <script>
2
- import { expression } from '../../../wework-chat-control'
3
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
4
-
5
- export default {
6
- name: 'SdkWeworkChatPanelControlsExpression',
7
- functional: true,
8
- props: {
9
- dir: {
10
- type: String
11
- },
12
- data: {
13
- type: Object,
14
- default: () => ({})
15
- },
16
- fetchUserMethod: {
17
- type: Function
18
- }
19
- },
20
- render (h, c) {
21
- const { props } = c
22
- return h(SdkChatPanelBox, {
23
- props: {
24
- dir: props.dir,
25
- data: props.data,
26
- fetchUserMethod: props.fetchUserMethod
27
- }
28
- }, [h(expression, {
29
- props: {
30
- data: props.data
31
- },
32
- key: c.data.key
33
- })])
34
- }
35
- }
36
- </script>
@@ -1,35 +0,0 @@
1
- <script>
2
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
3
- import { fileUrl } from '../../../wework-chat-control'
4
-
5
- export default {
6
- name: 'SdkWeworkChatPanelControlsFileUrl',
7
- functional: true,
8
- props: {
9
- dir: {
10
- type: String
11
- },
12
- data: {
13
- type: Object,
14
- required: true
15
- },
16
- fetchUserMethod: {
17
- type: Function
18
- }
19
- },
20
- render (h, c) {
21
- const { props } = c
22
- return h(SdkChatPanelBox, {
23
- props: {
24
- dir: props.dir,
25
- data: props.data,
26
- fetchUserMethod: props.fetchUserMethod
27
- }
28
- }, [h(fileUrl, {
29
- props: {
30
- content: props.data.content
31
- }
32
- })])
33
- }
34
- }
35
- </script>
@@ -1,36 +0,0 @@
1
- <script>
2
- import { image } from '../../../wework-chat-control'
3
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
4
-
5
- export default {
6
- name: 'SdkWeworkChatPanelControlsImage',
7
- functional: true,
8
- props: {
9
- dir: {
10
- type: String
11
- },
12
- data: {
13
- type: Object,
14
- default: () => ({})
15
- },
16
- fetchUserMethod: {
17
- type: Function
18
- }
19
- },
20
- render (h, c) {
21
- const { props } = c
22
- return h(SdkChatPanelBox, {
23
- props: {
24
- dir: props.dir,
25
- data: props.data,
26
- fetchUserMethod: props.fetchUserMethod
27
- }
28
- }, [h(image, {
29
- props: {
30
- data: props.data
31
- },
32
- key: c.data.key
33
- })])
34
- }
35
- }
36
- </script>
@@ -1,35 +0,0 @@
1
- import text from './text/text.vue'
2
- import link from './link/link.vue'
3
- import companyCard from './company-card/company-card.vue'
4
- import video from './video/video.vue'
5
- import image from './image/image.vue'
6
- import unkonw from './unkonw/unkonw.vue'
7
- import expression from './expression/expression.vue'
8
- import voice from './voice/voice.vue'
9
- import jxSysText from './jx-sys-text/jx-sys-text.vue'
10
- import fileUrl from './file-url/file-url.vue'
11
- import location from './location/location.vue'
12
-
13
- export default {
14
- 0: text,
15
- 2: text,
16
- 14: image,
17
- 101: image,
18
- // '49': link,
19
- 22: video,
20
- 23: video,
21
- 103: video,
22
- 29: expression,
23
- 104: expression,
24
- 16: voice,
25
- 40: voice,
26
- 1011: jxSysText,
27
- 1022: jxSysText,
28
- 41: companyCard,
29
- 13: fileUrl,
30
- 15: fileUrl,
31
- 20: fileUrl,
32
- 102: fileUrl,
33
- 6: location,
34
- unkonw
35
- }
@@ -1,28 +0,0 @@
1
- <script>
2
- import { jxSysText } from '../../../wework-chat-control'
3
-
4
- export default {
5
- name: 'SdkWeworkChatPanelControlsJxSysText',
6
- functional: true,
7
- props: {
8
- dir: {
9
- type: String
10
- },
11
- data: {
12
- type: Object,
13
- required: true
14
- },
15
- fetchUserMethod: {
16
- type: Function
17
- }
18
- },
19
- render (h, c) {
20
- const { props } = c
21
- return h(jxSysText, {
22
- props: {
23
- content: props.data.content
24
- }
25
- })
26
- }
27
- }
28
- </script>
@@ -1,35 +0,0 @@
1
- <script>
2
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
3
- import { link } from '../../../wework-chat-control'
4
-
5
- export default {
6
- name: 'SdkWeworkChatPanelControlsLink',
7
- functional: true,
8
- props: {
9
- dir: {
10
- type: String
11
- },
12
- data: {
13
- type: Object,
14
- required: true
15
- },
16
- fetchUserMethod: {
17
- type: Function
18
- }
19
- },
20
- render (h, c) {
21
- const { props } = c
22
- return h(SdkChatPanelBox, {
23
- props: {
24
- dir: props.dir,
25
- data: props.data,
26
- fetchUserMethod: props.fetchUserMethod
27
- }
28
- }, [h(link, {
29
- props: {
30
- data: props.data
31
- }
32
- })])
33
- }
34
- }
35
- </script>
@@ -1,35 +0,0 @@
1
- <script>
2
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
3
- import { location } from '../../../wework-chat-control'
4
-
5
- export default {
6
- name: 'SdkWeworkChatPanelControlsLocation',
7
- functional: true,
8
- props: {
9
- dir: {
10
- type: String
11
- },
12
- data: {
13
- type: Object,
14
- required: true
15
- },
16
- fetchUserMethod: {
17
- type: Function
18
- }
19
- },
20
- render (h, c) {
21
- const { props } = c
22
- return h(SdkChatPanelBox, {
23
- props: {
24
- dir: props.dir,
25
- data: props.data,
26
- fetchUserMethod: props.fetchUserMethod
27
- }
28
- }, [h(location, {
29
- props: {
30
- content: props.data.content
31
- }
32
- })])
33
- }
34
- }
35
- </script>
@@ -1,43 +0,0 @@
1
- <script>
2
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
3
- import { text } from '../../../wework-chat-control'
4
-
5
- export default {
6
- name: 'SdkWeworkChatPanelControlsText',
7
- functional: true,
8
- props: {
9
- dir: {
10
- type: String
11
- },
12
- data: {
13
- type: Object,
14
- required: true
15
- },
16
- fetchUserMethod: {
17
- type: Function
18
- }
19
- },
20
- render (h, c) {
21
- const { props } = c
22
- return h(SdkChatPanelBox, {
23
- class: 'sdk-chat-panel-controls-text',
24
- props: {
25
- dir: props.dir,
26
- data: props.data,
27
- fetchUserMethod: props.fetchUserMethod
28
- }
29
- }, [h('div', {
30
- class: 'sdk-chat-panel-controls-text__main'
31
- }, [h(text, {
32
- props: {
33
- data: props.data
34
- }
35
- })])])
36
- }
37
- }
38
- </script>
39
- <style>
40
- .sdk-chat-panel-controls-text__main{
41
- padding: 10px;
42
- }
43
- </style>
@@ -1,39 +0,0 @@
1
- <template>
2
- <sdk-chat-panel-box
3
- :data="data"
4
- :dir="dir"
5
- :fetch-user-method="fetchUserMethod"
6
- >
7
- <div class="sdk-wework-chat-panel-controls-unkonw__main">
8
- 未知消息
9
- </div>
10
- </sdk-chat-panel-box>
11
- </template>
12
- <script>
13
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
14
-
15
- export default {
16
- name: 'SdkWeworkChatPanelControlsUnkonw',
17
- components: {
18
- SdkChatPanelBox
19
- },
20
- props: {
21
- dir: {
22
- type: String
23
- },
24
- data: {
25
- type: Object,
26
- required: true
27
- },
28
- fetchUserMethod: {
29
- type: Function
30
- }
31
- }
32
- }
33
- </script>
34
- <style lang="less">
35
- .sdk-wework-chat-panel-controls-unkonw__main{
36
- padding: 12px;
37
- color: #999;
38
- }
39
- </style>
@@ -1,37 +0,0 @@
1
- <template>
2
- <sdk-chat-panel-box
3
- :data="data"
4
- :dir="dir"
5
- :fetch-user-method="fetchUserMethod"
6
- >
7
- <sdk-chat-control-video
8
- :data="data"
9
- width="240px"
10
- height="180px"
11
- ></sdk-chat-control-video>
12
- </sdk-chat-panel-box>
13
- </template>
14
- <script>
15
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
16
- import { video } from '../../../wework-chat-control'
17
-
18
- export default {
19
- name: 'SdkWeworkChatPanelControlsVideo',
20
- components: {
21
- SdkChatPanelBox,
22
- SdkChatControlVideo: video
23
- },
24
- props: {
25
- dir: {
26
- type: String
27
- },
28
- data: {
29
- type: Object,
30
- required: true
31
- },
32
- fetchUserMethod: {
33
- type: Function
34
- }
35
- }
36
- }
37
- </script>
@@ -1,35 +0,0 @@
1
- <script>
2
- import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
3
- import { voice } from '../../../wework-chat-control'
4
-
5
- export default {
6
- name: 'SdkWeworkChatPanelControlsVoice',
7
- functional: true,
8
- props: {
9
- dir: {
10
- type: String
11
- },
12
- data: {
13
- type: Object,
14
- required: true
15
- },
16
- fetchUserMethod: {
17
- type: Function
18
- }
19
- },
20
- render (h, c) {
21
- const { props } = c
22
- return h(SdkChatPanelBox, {
23
- props: {
24
- dir: props.dir,
25
- data: props.data,
26
- fetchUserMethod: props.fetchUserMethod
27
- }
28
- }, [h(voice, {
29
- props: {
30
- content: props.data.content
31
- }
32
- })])
33
- }
34
- }
35
- </script>
@@ -1,51 +0,0 @@
1
- <template>
2
- <bi-portray
3
- :avatar="accountData && accountData.avatar"
4
- :name="accountData && (accountData.memo || accountData.nickname)"
5
- :loading="loading"
6
- ></bi-portray>
7
- </template>
8
-
9
- <script>
10
- import BiPortray from '@aochuang/common/uni-common/portray/portray.vue'
11
-
12
- export default {
13
- name: 'BiAccountPortray',
14
- components: {
15
- BiPortray
16
- },
17
- props: {
18
- id: {
19
- type: String,
20
- required: true
21
- }
22
- },
23
- data () {
24
- return {
25
- loading: false,
26
- accountData: null
27
- }
28
- },
29
- watch: {
30
- id () {
31
- this.loadData()
32
- }
33
- },
34
- created () {
35
- this.loadData()
36
- },
37
- methods: {
38
- loadData () {
39
- this.loading = true
40
- this.$clientChat.account.getAccount(this.id).then(rs => {
41
- this.accountData = rs.data
42
- }).finally(() => {
43
- this.loading = false
44
- })
45
- }
46
- }
47
- }
48
- </script>
49
-
50
- <style>
51
- </style>
@@ -1,172 +0,0 @@
1
- <template>
2
- <view
3
- class="bi-account-select-item"
4
- :class="['bi-account-select-item--' + type, {'is-active': selected, 'is-online': isAll ? false : data && data.online, 'is-offline': isAll ? false : data && !data.online}]"
5
- >
6
- <view class="bi-account-select-item__icon">
7
- <template v-if="isAll">
8
- <bi-all-friend-avatar :size="avatarSize" :round="type === 'simple'"></bi-all-friend-avatar>
9
- </template>
10
- <template v-else>
11
- <bi-avatar :src="data.avatar" :size="avatarSize" :round="type === 'simple'"></bi-avatar>
12
- </template>
13
- </view>
14
- <view class="bi-account-select-item__text">
15
- <template v-if="isAll">全部好友</template>
16
- <template v-else>
17
- {{ data.memo || data.nickname }}
18
- </template>
19
- </view>
20
- <bi-badge class="bi-account-select-item__count" :value="unreadCount" :max="99" v-if="unreadCount"></bi-badge>
21
- </view>
22
- </template>
23
-
24
- <script>
25
- import BiAvatar from '@aochuang/common/uni-components/avatar/avatar.vue'
26
- import BiBadge from '@aochuang/common/uni-components/badge/badge.vue'
27
- import BiAllFriendAvatar from '../all-friend-avatar/all-friend-avatar.vue'
28
-
29
- export default {
30
- name: 'BiAccountSelectItem',
31
- components: {
32
- BiAvatar,
33
- BiBadge,
34
- BiAllFriendAvatar
35
- },
36
- props: {
37
- isAll: {
38
- type: Boolean
39
- },
40
- type: {
41
- type: String,
42
- validator (value) {
43
- return ['default', 'simple'].includes(value)
44
- }
45
- },
46
- selected: {
47
- type: Boolean
48
- },
49
- data: {
50
- type: Object
51
- }
52
- },
53
- computed: {
54
- avatarSize () {
55
- return this.type === 'default' ? 'small' : 'mini'
56
- },
57
- accountUnreadMessageNumData () {
58
- return this.$clientChat.account.accountUnreadMessageNumData || []
59
- },
60
- unreadCount () {
61
- if (this.isAll) {
62
- return this.accountUnreadMessageNumData.reduce((rs, account) => {
63
- if (account.num) {
64
- rs += account.num
65
- }
66
- return rs
67
- }, 0)
68
- } else {
69
- const unreadMessageNumItem = this.accountUnreadMessageNumData.find(v => v.id === this.data.id)
70
- return unreadMessageNumItem ? unreadMessageNumItem.num : 0
71
- }
72
- }
73
- },
74
- created () {
75
- if (!this.isAll && !this.data) {
76
- throw new Error('缺少data数据')
77
- }
78
- }
79
- }
80
- </script>
81
-
82
- <style lang="less">
83
- .bi-account-select-item{
84
- display: flex;
85
- flex-direction: row;
86
- align-items: center;
87
- position: relative;
88
- transition: all .25s;
89
- max-width: 100%;
90
- &.is-active {
91
- background: #3c9cff;
92
- color: #fff;
93
- &:after {
94
- border-right-color: #fff;
95
- border-bottom-color: #fff;
96
- }
97
- }
98
- &.is-online {
99
- .bi-account-select-item__icon{
100
- &:after {
101
- opacity: 1;
102
- background-color: #40bf48;
103
- border-color: #fff;
104
- }
105
- }
106
- }
107
- &.is-offline {
108
- .bi-account-select-item__icon{
109
- &:after {
110
- opacity: 1;
111
- background-color: #ccc;
112
- border-color: #fff;
113
- }
114
- }
115
- }
116
- }
117
- .bi-account-select-item__icon{
118
- background-color: #eee;
119
- margin-right: 6px;
120
- position: relative;
121
- line-height: 1em;
122
- &:after {
123
- content: '';
124
- width: 8px;
125
- height: 8px;
126
- background-color: transparent;
127
- border-radius: 50%;
128
- border: 2px solid transparent;
129
- position: absolute;
130
- bottom: -2px;
131
- right: -2px;
132
- opacity: 0;
133
- }
134
- }
135
- .bi-account-select-item__text{
136
- flex: 1;
137
- min-width: 0;
138
- overflow: hidden;
139
- text-overflow: ellipsis;
140
- white-space: nowrap;
141
- }
142
- .bi-account-select-item--default {
143
- padding: 6px 24px 6px 12px;
144
- &:after {
145
- content: '';
146
- width: 6px;
147
- height: 6px;
148
- border: 1px solid #ccc;
149
- border-left: 0;
150
- border-top: 0;
151
- transform: rotate(-45deg) translateY(-50%);
152
- position: absolute;
153
- right: 12px;
154
- top: 50%;
155
- }
156
- .bi-account-select-item__icon {
157
- width: 32px;
158
- height: 32px;
159
- border-radius: 3px;
160
- }
161
- }
162
- .bi-account-select-item--simple {
163
- .bi-account-select-item__icon {
164
- width: 24px;
165
- height: 24px;
166
- border-radius: 50%;
167
- }
168
- .bi-account-select-item__count{
169
- transform: scale(.8);
170
- }
171
- }
172
- </style>