@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.
Files changed (163) hide show
  1. package/common/.DS_Store +0 -0
  2. package/components/.DS_Store +0 -0
  3. package/components/index.js +6 -1
  4. package/components/session-select/session-select-item.vue +8 -9
  5. package/components/wechat-chat-control/.DS_Store +0 -0
  6. package/components/wechat-chat-control/transfer/.DS_Store +0 -0
  7. package/components/wechat-chat-control/url/.DS_Store +0 -0
  8. package/components/wechat-chat-control/voice/.DS_Store +0 -0
  9. package/components/wework-chat-control/channel-card/channel-card.vue +144 -0
  10. package/components/wework-chat-control/channel-live/channel-live.vue +7 -2
  11. package/components/wework-chat-control/company-card/company-card.vue +1 -1
  12. package/components/wework-chat-control/custom-expression/custom-expression.vue +2 -1
  13. package/components/wework-chat-control/file-url/file-url.vue +34 -16
  14. package/components/wework-chat-control/image/image.vue +137 -2
  15. package/components/wework-chat-control/index.js +15 -7
  16. package/components/wework-chat-control/link/.DS_Store +0 -0
  17. package/components/wework-chat-control/location/location.vue +3 -3
  18. package/components/wework-chat-control/merge-message/merge-message-panel.vue +63 -0
  19. package/components/wework-chat-control/merge-message/merge-message.vue +84 -0
  20. package/components/wework-chat-control/merge-message/util.js +59 -0
  21. package/components/wework-chat-control/metting/enterprise-wechat.png +0 -0
  22. package/components/wework-chat-control/metting/meeting-video.svg +4 -0
  23. package/components/wework-chat-control/metting/metting.vue +181 -0
  24. package/components/wework-chat-control/red-envelopes/red-envelopes.vue +3 -2
  25. package/components/wework-chat-control/text/text-default.vue +99 -0
  26. package/components/wework-chat-control/text/text-quote.vue +105 -0
  27. package/components/wework-chat-control/text/text.vue +24 -144
  28. package/components/wework-chat-control/url/url-channel-live.vue +53 -0
  29. package/components/wework-chat-control/url/url-miniprogram.vue +6 -7
  30. package/components/wework-chat-control/url/url.vue +26 -2
  31. package/components/wework-chat-control/util.js +26 -17
  32. package/components/wework-chat-control/video/.DS_Store +0 -0
  33. package/components/wework-chat-control/video/video.vue +10 -2
  34. package/components/wework-chat-control/voice/voice.vue +9 -2
  35. package/components/wework-chat-control/wework-chat-control-config-item.vue +24 -0
  36. package/components/wework-chat-control/wework-chat-control-config-msg.vue +25 -0
  37. package/{uni-components/chat-control/chat-control-config.vue → components/wework-chat-control/wework-chat-control-config.vue} +16 -13
  38. package/components/wework-chat-panel/chat-panel-chat-status/chat-panel-chat-status.vue +73 -0
  39. package/components/wework-chat-panel/chat-panel-item.vue +56 -25
  40. package/components/wework-chat-panel/chat-panel.vue +96 -13
  41. package/package.json +10 -3
  42. package/services/.DS_Store +0 -0
  43. package/services/client-chat/client-chat-wework/client-chat-account.js +84 -1
  44. package/services/client-chat/client-chat-wework/client-chat-concats.js +81 -17
  45. package/services/client-chat/client-chat-wework/client-chat-message.js +45 -5
  46. package/services/client-chat/client-chat-wework/client-chat-session.js +59 -4
  47. package/services/client-chat/client-chat-wework/client-chat-socket.js +13 -1
  48. package/services/client-chat/client-chat-wework/client-chat.js +320 -11
  49. package/services/client-chat/client-chat-wework/utils.js +5 -5
  50. package/components/wework-chat-panel/chat-panel-controls/company-card/company-card.vue +0 -35
  51. package/components/wework-chat-panel/chat-panel-controls/expression/expression.vue +0 -36
  52. package/components/wework-chat-panel/chat-panel-controls/file-url/file-url.vue +0 -35
  53. package/components/wework-chat-panel/chat-panel-controls/image/image.vue +0 -36
  54. package/components/wework-chat-panel/chat-panel-controls/index.js +0 -35
  55. package/components/wework-chat-panel/chat-panel-controls/jx-sys-text/jx-sys-text.vue +0 -28
  56. package/components/wework-chat-panel/chat-panel-controls/link/link.vue +0 -35
  57. package/components/wework-chat-panel/chat-panel-controls/location/location.vue +0 -35
  58. package/components/wework-chat-panel/chat-panel-controls/text/text.vue +0 -43
  59. package/components/wework-chat-panel/chat-panel-controls/unkonw/unkonw.vue +0 -39
  60. package/components/wework-chat-panel/chat-panel-controls/video/video.vue +0 -37
  61. package/components/wework-chat-panel/chat-panel-controls/voice/voice.vue +0 -35
  62. package/uni-common/account-portray/account-portray.vue +0 -51
  63. package/uni-common/account-select/account-select-item.vue +0 -172
  64. package/uni-common/account-select/account-select.vue +0 -252
  65. package/uni-common/all-friend-avatar/all-friend-avatar.vue +0 -49
  66. package/uni-common/friend-avatar/default.svg +0 -1
  67. package/uni-common/friend-avatar/friend-avatar.vue +0 -27
  68. package/uni-common/friend-avatar/index.js +0 -3
  69. package/uni-common/friend-loader/friend-loader.vue +0 -53
  70. package/uni-common/friend-portray/friend-portray.vue +0 -56
  71. package/uni-common/group-avatar/default.svg +0 -1
  72. package/uni-common/group-avatar/group-avatar.vue +0 -18
  73. package/uni-common/group-avatar/index.js +0 -3
  74. package/uni-common/room-avatar/default.svg +0 -6
  75. package/uni-common/room-avatar/index.js +0 -3
  76. package/uni-common/room-avatar/room-avatar.vue +0 -27
  77. package/uni-common/room-loader/room-loader.vue +0 -53
  78. package/uni-common/room-portray/room-portray.vue +0 -56
  79. package/uni-components/chat-control/calling/calling.vue +0 -91
  80. package/uni-components/chat-control/calling/phone-fill.svg +0 -1
  81. package/uni-components/chat-control/calling/vidicon-fill.svg +0 -1
  82. package/uni-components/chat-control/channel-video/channel-video.vue +0 -89
  83. package/uni-components/chat-control/channel-video-card/channel-video-card.vue +0 -105
  84. package/uni-components/chat-control/channel-video-live/channel-video-live.vue +0 -92
  85. package/uni-components/chat-control/chat-control-config-item/chat-control-config-item.vue +0 -20
  86. package/uni-components/chat-control/chat-control-config-item/index.js +0 -3
  87. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-app.vue +0 -25
  88. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-h5.vue +0 -21
  89. package/uni-components/chat-control/chat-control.vue +0 -218
  90. package/uni-components/chat-control/company-card/company-card.vue +0 -123
  91. package/uni-components/chat-control/const.js +0 -28
  92. package/uni-components/chat-control/expression/expression.vue +0 -41
  93. package/uni-components/chat-control/image/image.vue +0 -68
  94. package/uni-components/chat-control/index.js +0 -89
  95. package/uni-components/chat-control/location/location.vue +0 -110
  96. package/uni-components/chat-control/member-change/member-change.vue +0 -32
  97. package/uni-components/chat-control/quote-message/quote-message.vue +0 -216
  98. package/uni-components/chat-control/real-time-position/real-time-position.vue +0 -62
  99. package/uni-components/chat-control/redpacket/red-envelope.svg +0 -1
  100. package/uni-components/chat-control/redpacket/redpacket.vue +0 -75
  101. package/uni-components/chat-control/share-card/share-card.vue +0 -101
  102. package/uni-components/chat-control/system/system.vue +0 -69
  103. package/uni-components/chat-control/system-batch-message/system-batch-message.vue +0 -30
  104. package/uni-components/chat-control/system-text/system-text.vue +0 -32
  105. package/uni-components/chat-control/text/text.vue +0 -67
  106. package/uni-components/chat-control/text-with-at/text-with-at.vue +0 -51
  107. package/uni-components/chat-control/transfer/red-transfer.svg +0 -1
  108. package/uni-components/chat-control/transfer/transfer.vue +0 -80
  109. package/uni-components/chat-control/unkonw/unkonw.vue +0 -37
  110. package/uni-components/chat-control/url/icons/file-excel-line.svg +0 -1
  111. package/uni-components/chat-control/url/icons/file-info-line.svg +0 -1
  112. package/uni-components/chat-control/url/icons/file-music-line.svg +0 -1
  113. package/uni-components/chat-control/url/icons/file-pdf-line.svg +0 -1
  114. package/uni-components/chat-control/url/icons/file-ppt-line.svg +0 -1
  115. package/uni-components/chat-control/url/icons/file-settings-line.svg +0 -1
  116. package/uni-components/chat-control/url/icons/file-text-line.svg +0 -1
  117. package/uni-components/chat-control/url/icons/file-unknow-line.svg +0 -1
  118. package/uni-components/chat-control/url/icons/file-word-line.svg +0 -1
  119. package/uni-components/chat-control/url/icons/file-zip-line.svg +0 -1
  120. package/uni-components/chat-control/url/icons/index.js +0 -24
  121. package/uni-components/chat-control/url/miniprogram.svg +0 -1
  122. package/uni-components/chat-control/url/url-miniprogram.vue +0 -116
  123. package/uni-components/chat-control/url/url.vue +0 -306
  124. package/uni-components/chat-control/url-new/icons/file-excel-line.svg +0 -1
  125. package/uni-components/chat-control/url-new/icons/file-info-line.svg +0 -1
  126. package/uni-components/chat-control/url-new/icons/file-music-line.svg +0 -1
  127. package/uni-components/chat-control/url-new/icons/file-pdf-line.svg +0 -1
  128. package/uni-components/chat-control/url-new/icons/file-ppt-line.svg +0 -1
  129. package/uni-components/chat-control/url-new/icons/file-settings-line.svg +0 -1
  130. package/uni-components/chat-control/url-new/icons/file-text-line.svg +0 -1
  131. package/uni-components/chat-control/url-new/icons/file-unknow-line.svg +0 -1
  132. package/uni-components/chat-control/url-new/icons/file-word-line.svg +0 -1
  133. package/uni-components/chat-control/url-new/icons/file-zip-line.svg +0 -1
  134. package/uni-components/chat-control/url-new/icons/index.js +0 -24
  135. package/uni-components/chat-control/url-new/url-new.vue +0 -110
  136. package/uni-components/chat-control/utils.js +0 -12
  137. package/uni-components/chat-control/video/video.vue +0 -156
  138. package/uni-components/chat-control/voice/voice.vue +0 -166
  139. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-collect.vue +0 -84
  140. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-system.vue +0 -28
  141. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet.vue +0 -85
  142. package/uni-components/chat-editor/chat-editor-func/chat-editor-func.vue +0 -157
  143. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at-panel.vue +0 -158
  144. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at.vue +0 -61
  145. package/uni-components/chat-editor/chat-editor-func-button/chat-editor-func-button.vue +0 -58
  146. package/uni-components/chat-editor/chat-editor-func-file/chat-editor-func-file.vue +0 -54
  147. package/uni-components/chat-editor/chat-editor-func-image/chat-editor-func-image.vue +0 -42
  148. package/uni-components/chat-editor/chat-editor-func-video/chat-editor-func-video.vue +0 -42
  149. package/uni-components/chat-editor/chat-editor-func-voice/chat-editor-func-voice.vue +0 -25
  150. package/uni-components/chat-editor/chat-editor-message-send/chat-editor-message-send.vue +0 -158
  151. package/uni-components/chat-editor/chat-editor-quote/chat-editor-quote.vue +0 -75
  152. package/uni-components/chat-editor/chat-editor.vue +0 -257
  153. package/uni-components/chat-editor/index.js +0 -10
  154. package/uni-components/chat-editor/util.js +0 -65
  155. package/uni-components/chat-panel/chat-panel-chats-box.vue +0 -238
  156. package/uni-components/chat-panel/chat-panel-chats-forward/chat-panel-chats-forward.vue +0 -273
  157. package/uni-components/chat-panel/chat-panel-chats-item.vue +0 -578
  158. package/uni-components/chat-panel/chat-panel-chats-status/chat-panel-chats-status.vue +0 -71
  159. package/uni-components/chat-panel/chat-panel-chats.vue +0 -368
  160. package/uni-components/chat-panel/chat-panel.vue +0 -227
  161. package/uni-components/contacts-group-select/contacts-group-select-item.vue +0 -85
  162. package/uni-components/contacts-group-select/contacts-group-select-panel.vue +0 -119
  163. package/uni-components/contacts-group-select/contacts-group-select.vue +0 -150
@@ -1,166 +0,0 @@
1
- <template>
2
- <view class="bi-chat-control-voice" :class="['bi-chat-control-voice--' + type]">
3
- <view class="bi-chat-control-voice__control" @click.stop>
4
- <ui-voice class="bi-chat-control-voice__audio" :src="innerSrc"></ui-voice>
5
- </view>
6
- <view class="bi-chat-control-voice__vvt">
7
- <div class="bi-chat-control-voice__result" v-if="transformStatus !== -1">
8
- <template v-if="transformStatus === 1">
9
- <div class="bi-chat-control-voice__result-status">
10
- <ui-icon class="bi-chat-control-voice__result-stat-icon" name="loading"></ui-icon>转换中
11
- </div>
12
- </template>
13
- <template v-if="transformStatus === 0">
14
- <div class="bi-chat-control-voice__result-text" v-if="previewTransformContent" v-html="previewTransformContent"></div>
15
- <div class="bi-chat-control-voice__result-status">
16
- <ui-icon class="bi-chat-control-voice__result-stat-icon" name="checkbox-circle-fill"></ui-icon>转换完成
17
- </div>
18
- </template>
19
- <template v-else-if="transformStatus === 2">
20
- <div class="bi-chat-control-voice__result-text" v-if="transformContent" v-html="transformContent"></div>
21
- <div class="bi-chat-control-voice__result-status">
22
- <ui-icon class="bi-chat-control-voice__result-stat-icon" name="close-circle-fill"></ui-icon>转换失败
23
- </div>
24
- </template>
25
- </div>
26
- </view>
27
- </view>
28
- </template>
29
- <script>
30
- import { formatOssPath } from '@aochuang/common/utils/oss'
31
- import UiIcon from '@aochuang/common/uni-components/icon/icon.vue'
32
- import UiVoice from '@aochuang/common/uni-components/voice'
33
-
34
- import { toJson } from '../../../utils/data.js'
35
- const ConvertStatusEnum = {
36
- NORMAL: -1, // 没有转换
37
- ERROR: 2, // 转换失败
38
- CONVERTING: 1, // 转换中
39
- COMPLETE: 0 // 转换成功
40
- }
41
-
42
- export default {
43
- name: 'BiChatControlVoice',
44
- components: {
45
- UiIcon,
46
- UiVoice
47
- },
48
- props: {
49
- dir: {
50
- type: String,
51
- default: 'left',
52
- validator (value) {
53
- return ['left', 'right'].includes(value)
54
- }
55
- },
56
- type: {
57
- type: String,
58
- default: 'default',
59
- validator (value) {
60
- return ['default', 'quote', 'thumb'].includes(value)
61
- }
62
- },
63
- data: {
64
- type: String
65
- },
66
- convertStatus: {
67
- type: Number
68
- }
69
- },
70
- data () {
71
- return {
72
- transformStatus: typeof this.convertStatus === 'number' ? this.convertStatus : ConvertStatusEnum.NORMAL,
73
- transformContent: null
74
- }
75
- },
76
- computed: {
77
- content () {
78
- return toJson(this.data) || {}
79
- },
80
- innerSrc () {
81
- if (!this.content.url) {
82
- return
83
- }
84
- return formatOssPath(this.content.url)
85
- },
86
- innerTransformContent () {
87
- if (this.transformStatus === 0 && this.formatter) {
88
- const content = this.formatter({
89
- content: this.transformContent
90
- })
91
- if (!content) {
92
- return ''
93
- }
94
- return content
95
- } else {
96
- return this.transformContent
97
- }
98
- },
99
- previewTransformContent () {
100
- if (Array.isArray(this.transformContent)) {
101
- return this.transformContent.map(v => v.text).join('\n')
102
- } else {
103
- return this.innerTransformContent
104
- }
105
- }
106
- },
107
- created () {
108
- this.transformContent = this.content.text
109
- },
110
- methods: {
111
- handlePlayClick () {
112
- error('暂不支持播放')
113
- }
114
- }
115
- }
116
- </script>
117
-
118
- <style lang="less">
119
- .bi-chat-control-voice--default {
120
- width: 240px;
121
- }
122
- .bi-chat-control-voice--thumb {
123
- background-color: #f8f8f8;
124
- border-radius: 3px;
125
- .bi-chat-control-voice__control{
126
- width: 65px;
127
- height: 65px;
128
- margin: 0 auto;
129
- overflow: hidden;
130
- border: 1px solid #eee;
131
- border-radius: 3px;
132
- /deep/ .uni-audio-default{
133
- border: 0;
134
- }
135
- }
136
- }
137
- .bi-chat-control-voice__audio{
138
- vertical-align: top;
139
- /deep/ .uni-audio-default {
140
- min-width: 240px;
141
- }
142
- }
143
- .bi-chat-control-voice__result{
144
- background-color: #fff;
145
- border-radius: 3px;
146
- max-width: 282px;
147
- margin-top: 6px;
148
- }
149
- .bi-chat-control-voice__result-text{
150
- padding: 10px 12px 0;
151
- text-align: left;
152
- max-height: 360px;
153
- overflow: auto;
154
- }
155
- .bi-chat-control-voice__result-status{
156
- padding: 6px 12px;
157
- color: #888;
158
- font-size: 12px;
159
- display: flex;
160
- flex-direction: row;
161
- align-items: center;
162
- }
163
- .bi-chat-control-voice__result-stat-icon{
164
- margin-right: 4px;
165
- }
166
- </style>
@@ -1,84 +0,0 @@
1
- <template>
2
- <view class="sdk-chat-editor-chartlet-collect">
3
- <bi-scroll-load-more
4
- :data="collectData"
5
- @query="handleQueryCollectData"
6
- >
7
- <view class="sdk-chat-editor-chartlet-collect__list">
8
- <view
9
- class="sdk-chat-editor-chartlet-collect__item"
10
- v-for="item in collectData"
11
- :key="item.id"
12
- >
13
- <uv-image
14
- :src="item.data.url"
15
- width="80px"
16
- height="80px"
17
- @click="handleImageClick(item)"
18
- ></uv-image>
19
- </view>
20
- </view>
21
- </bi-scroll-load-more>
22
- </view>
23
- </template>
24
-
25
- <script>
26
- import { loadCollectionData } from '@/apis/collection.js'
27
- import BiScrollLoadMore from '@aochuang/common/uni-common/scroll-load-more/scroll-load-more.vue'
28
-
29
- export default {
30
- name: 'SdkChatEditorChartletCollect',
31
- components: {
32
- BiScrollLoadMore
33
- },
34
- data () {
35
- return {
36
- collectData: []
37
- }
38
- },
39
- methods: {
40
- handleImageClick (item) {
41
- this.$emit('select', {
42
- item
43
- })
44
- },
45
- handleQueryCollectData ({ setCallback }) {
46
- setCallback(({ pageSize, pageIndex }) => {
47
- return loadCollectionData({
48
- pageSize,
49
- pageIndex
50
- }).then((rs) => {
51
- const data = (rs.data || {}).results || []
52
- this.collectData = [].concat(this.collectData, data)
53
- return {
54
- data
55
- }
56
- })
57
- })
58
- }
59
- }
60
- }
61
- </script>
62
-
63
- <style lang="less">
64
- .sdk-chat-editor-chartlet-collect{
65
- height: 100%;
66
- }
67
- .sdk-chat-editor-chartlet-collect__list{
68
- &:after {
69
- content: '';
70
- display: block;
71
- clear: both;
72
- }
73
- }
74
- .sdk-chat-editor-chartlet-collect__item{
75
- width: 33.33%;
76
- float: left;
77
- display: flex;
78
- flex-direction: column;
79
- align-items: center;
80
- justify-content: center;
81
- padding: 8px;
82
- box-sizing: border-box;
83
- }
84
- </style>
@@ -1,28 +0,0 @@
1
- <template>
2
- <view class="sdk-chat-editor-chartlet-system">
3
- <bi-wechat-emoji @select="handleSelect"></bi-wechat-emoji>
4
- </view>
5
- </template>
6
-
7
- <script>
8
- import BiWechatEmoji from '@aochuang/common/uni-common/wechat-emoji'
9
-
10
- export default {
11
- name: 'SdkChatEditorChartletSystem',
12
- components: {
13
- BiWechatEmoji
14
- },
15
- methods: {
16
- handleSelect (evt) {
17
- this.$emit('select', evt)
18
- }
19
- }
20
- }
21
- </script>
22
-
23
- <style lang="less">
24
- .sdk-chat-editor-chartlet-system{
25
- height: 100%;
26
- overflow: auto;
27
- }
28
- </style>
@@ -1,85 +0,0 @@
1
- <template>
2
- <view class="sdk-chat-editor-chartlet">
3
- <view class="sdk-chat-editor-chartlet__tabbar">
4
- <ui-tabbar v-model="currentTabName">
5
- <ui-tabbar-item name="default" text="默认"></ui-tabbar-item>
6
- <ui-tabbar-item name="collect" text="收藏"></ui-tabbar-item>
7
- </ui-tabbar>
8
- </view>
9
- <view class="sdk-chat-editor-chartlet__main">
10
- <keep-alive>
11
- <template v-if="currentTabName === 'default'">
12
- <chat-editor-chartlet-system
13
- @select="handleDefaultSelect"
14
- ></chat-editor-chartlet-system>
15
- </template>
16
- <template v-else-if="currentTabName === 'collect'">
17
- <chat-editor-chartlet-collect
18
- @select="handleCollectSelect"
19
- ></chat-editor-chartlet-collect>
20
- </template>
21
- </keep-alive>
22
- </view>
23
- </view>
24
- </template>
25
-
26
- <script>
27
- import { MESSAGE_TYPE } from 'client-sdk/uni-components/chat-control'
28
- import UiTabbar from '@aochuang/common/uni-components/tabbar/tabbar.vue'
29
- import UiTabbarItem from '@aochuang/common/uni-components/tabbar/tabbar-item.vue'
30
- import ChatEditorChartletSystem from './chat-editor-chartlet-system.vue'
31
- import ChatEditorChartletCollect from './chat-editor-chartlet-collect.vue'
32
-
33
- export default {
34
- name: 'SdkChatEditorChartlet',
35
- components: {
36
- UiTabbar,
37
- UiTabbarItem,
38
- ChatEditorChartletSystem,
39
- ChatEditorChartletCollect
40
- },
41
- props: {
42
- insertTextMethod: {
43
- type: Function,
44
- required: true
45
- },
46
- submitMethod: {
47
- type: Function,
48
- required: true
49
- }
50
- },
51
- data () {
52
- return {
53
- currentTabName: 'default'
54
- }
55
- },
56
- methods: {
57
- handleDefaultSelect ({ item }) {
58
- if (!item) {
59
- return
60
- }
61
- this.insertTextMethod(`[${item.label}]`)
62
- },
63
- handleCollectSelect ({ item }) {
64
- return this.submitMethod({
65
- data: {
66
- messageType: MESSAGE_TYPE.CUSTOM_EXPRESSION,
67
- content: item.data.url
68
- }
69
- })
70
- }
71
- }
72
- }
73
- </script>
74
-
75
- <style lang="less">
76
- .sdk-chat-editor-chartlet{
77
- height: 100%;
78
- display: flex;
79
- flex-direction: column;
80
- }
81
- .sdk-chat-editor-chartlet__main{
82
- flex: 1;
83
- min-height: 0;
84
- }
85
- </style>
@@ -1,157 +0,0 @@
1
- <template>
2
- <view class="bi-chat-editor-func">
3
- <uv-grid :col="4">
4
- <uv-grid-item>
5
- <chat-editor-func-image
6
- :upload-root-directory="uploadRootDirectory"
7
- @confirm="handleSendImageConfirm"
8
- ></chat-editor-func-image>
9
- </uv-grid-item>
10
- <uv-grid-item>
11
- <chat-editor-func-video
12
- :upload-root-directory="uploadRootDirectory"
13
- @confirm="handleSendVideoConfirm"
14
- ></chat-editor-func-video>
15
- </uv-grid-item>
16
- <uv-grid-item>
17
- <chat-editor-func-file
18
- :upload-root-directory="uploadRootDirectory"
19
- @confirm="handleSendFileConfirm"
20
- ></chat-editor-func-file>
21
- </uv-grid-item>
22
- <template v-if="$slots.reply">
23
- <uv-grid-item>
24
- <slot name="reply"></slot>
25
- </uv-grid-item>
26
- </template>
27
- <template v-if="$slots.atmember">
28
- <uv-grid-item>
29
- <slot name="atmember"></slot>
30
- </uv-grid-item>
31
- </template>
32
- <template v-if="$slots.notread">
33
- <uv-grid-item>
34
- <slot name="notread"></slot>
35
- </uv-grid-item>
36
- </template>
37
- <template v-if="$slots.material">
38
- <uv-grid-item>
39
- <slot name="material"></slot>
40
- </uv-grid-item>
41
- </template>
42
- </uv-grid>
43
- <uv-popup
44
- ref="popup"
45
- mode="center"
46
- bgColor="none"
47
- >
48
- <chat-editor-message-send
49
- v-if="showMessageSendPopup"
50
- :send-target="sendTarget"
51
- :message-type="currentMessageType"
52
- :message-content="currentMessageContent"
53
- :submit-method="handleSubmitMethod"
54
- @cancel="handleCancelSend"
55
- >
56
- </chat-editor-message-send>
57
- </uv-popup>
58
- </view>
59
- </template>
60
-
61
- <script>
62
- import ChatEditorFuncFile from '../chat-editor-func-file/chat-editor-func-file.vue'
63
- import ChatEditorFuncImage from '../chat-editor-func-image/chat-editor-func-image.vue'
64
- import ChatEditorFuncVideo from '../chat-editor-func-video/chat-editor-func-video.vue'
65
- import ChatEditorFuncVoice from '../chat-editor-func-voice/chat-editor-func-voice.vue'
66
- import ChatEditorFuncAt from '../chat-editor-func-at/chat-editor-func-at.vue'
67
- import ChatEditorMessageSend from '../chat-editor-message-send/chat-editor-message-send.vue'
68
- import { MESSAGE_TYPE } from 'client-sdk/uni-components/chat-control/index.js'
69
- import { getNameByFileUrl } from '@/utils/file.js'
70
-
71
- export default {
72
- name: 'BiChatEditorFunc',
73
- components: {
74
- ChatEditorFuncAt,
75
- ChatEditorFuncFile,
76
- ChatEditorFuncImage,
77
- ChatEditorFuncVideo,
78
- ChatEditorFuncVoice,
79
- ChatEditorMessageSend
80
- },
81
- props: {
82
- sendTarget: {
83
- type: Object,
84
- required: true
85
- },
86
- submitMethod: {
87
- type: Function,
88
- required: true
89
- },
90
- uploadRootDirectory: {
91
- type: String
92
- }
93
- },
94
- data () {
95
- return {
96
- showMessageSendPopup: false,
97
- currentMessageType: null,
98
- currentMessageContent: null
99
- }
100
- },
101
- methods: {
102
- handleSubmitMethod (evt) {
103
- return this.submitMethod(evt).then(() => {
104
- this.showMessageSendPopup = false
105
- this.$refs.popup.close()
106
- })
107
- },
108
- handleSendImageConfirm ({ data }) {
109
- this.showMessageSendPopup = true
110
- this.currentMessageType = MESSAGE_TYPE.IMAGE
111
- this.currentMessageContent = data
112
- this.$refs.popup.open()
113
- },
114
- handleSendVideoConfirm ({ data }) {
115
- this.showMessageSendPopup = true
116
- this.currentMessageType = MESSAGE_TYPE.VIDEO
117
- this.currentMessageContent = data
118
- this.$refs.popup.open()
119
- },
120
- handleSendFileConfirm ({ data, file }) {
121
- const params = {}
122
- if (file.type.indexOf('image') >= 0) {
123
- params.msgType = MESSAGE_TYPE.IMAGE
124
- params.content = data
125
- } else if (file.type.indexOf('video') >= 0) {
126
- params.msgType = MESSAGE_TYPE.VIDEO
127
- params.content = data
128
- } else {
129
- params.msgType = MESSAGE_TYPE.URL
130
- params.content = JSON.stringify({
131
- type: 'file',
132
- title: file.name,
133
- url: data
134
- })
135
- }
136
- this.showMessageSendPopup = true
137
- this.currentMessageType = params.msgType
138
- this.currentMessageContent = params.content
139
- this.$refs.popup.open()
140
- },
141
- handleCancelSend () {
142
- this.showMessageSendPopup = false
143
- this.currentMessageType = null
144
- this.currentMessageContent = null
145
- this.$refs.popup.close()
146
- }
147
- }
148
- }
149
- </script>
150
-
151
- <style lang="less">
152
- .bi-chat-editor-func /deep/ {
153
- .uv-grid-item--hover-class{
154
- opacity: 1!important;
155
- }
156
- }
157
- </style>
@@ -1,158 +0,0 @@
1
- <template>
2
- <view class="sdk-chat-editor-func-at">
3
- <view class="sdk-chat-editor-func-at__result">
4
- <bi-scroll-load-more
5
- :data="showMemberData"
6
- :page-size="false"
7
- @query="handleQueryData"
8
- >
9
- <view
10
- class="sdk-chat-editor-func-at__item"
11
- v-for="item in showMemberData"
12
- :key="item.id"
13
- @click="handleMemberItemClick(item)"
14
- >
15
- <view class="sdk-chat-editor-func-at__item-avatar">
16
- <ui-avatar :src="item.avatar"></ui-avatar>
17
- </view>
18
- <view class="sdk-chat-editor-func-at__item-main">
19
- <view class="sdk-chat-editor-func-at__item-name">{{ item.nickname }}</view>
20
- </view>
21
- </view>
22
- </bi-scroll-load-more>
23
- </view>
24
- <view class="sdk-chat-editor-func-at__search">
25
- <ui-search
26
- v-model="filters.keyword"
27
- placeholder="输入群成员名称搜索"
28
- immediate
29
- ></ui-search>
30
- </view>
31
- </view>
32
- </template>
33
- <script>
34
- import UiAvatar from '@aochuang/common/uni-components/avatar/avatar.vue'
35
- import UiSearch from '@aochuang/common/uni-components/search/search.vue'
36
- import BiScrollLoadMore from '@aochuang/common/uni-common/scroll-load-more/scroll-load-more.vue'
37
-
38
- export default {
39
- name: 'ChatPanelEditorAtPanel',
40
- components: {
41
- UiAvatar,
42
- UiSearch,
43
- BiScrollLoadMore
44
- },
45
- props: {
46
- queryMethod: {
47
- type: Function,
48
- required: true
49
- },
50
- confirmMethod: {
51
- type: Function
52
- }
53
- },
54
- data () {
55
- return {
56
- filters: {
57
- keyword: null
58
- },
59
- selected: null,
60
- roomMemberData: []
61
- }
62
- },
63
- computed: {
64
- roomMemberDataMap () {
65
- return (this.roomMemberData || []).reduce((rs, v) => {
66
- rs[v.id] = v
67
- return rs
68
- }, {})
69
- },
70
- showMemberData () {
71
- if (!this.filters.keyword) {
72
- return this.roomMemberData
73
- }
74
- return this.roomMemberData.filter(v => {
75
- if (v.conRemark && v.conRemark.indexOf(this.filters.keyword) >= 0) {
76
- return true
77
- }
78
- if (v.nickname && v.nickname.indexOf(this.filters.keyword) >= 0) {
79
- return true
80
- }
81
- return false
82
- })
83
- }
84
- },
85
- methods: {
86
- handleMemberItemClick (item) {
87
- this.selected = item
88
- this.confirmMethod && this.confirmMethod({
89
- item
90
- })
91
- },
92
- handleQueryData ({ setCallback }) {
93
- setCallback(() => {
94
- return this.queryMethod().then(rs => {
95
- this.roomMemberData = rs
96
- return rs
97
- })
98
- })
99
- }
100
- }
101
- }
102
- </script>
103
- <style lang="less">
104
- .sdk-chat-editor-func-at{
105
- display: flex;
106
- flex-direction: column;
107
- height: 60vh;
108
- }
109
- .sdk-chat-editor-func-at__title{
110
- height: 24px;
111
- line-height: 24px;
112
- padding: 6px 12px;
113
- border-bottom: 1px solid #f3f3f3;
114
- box-sizing: content-box;
115
- font-weight: bold;
116
- }
117
- .sdk-chat-editor-func-at__search{
118
- padding: 6px 12px;
119
- background-color: #f8f8f8;
120
- border-top: 1px solid #eee;
121
- }
122
- .sdk-chat-editor-func-at__result {
123
- flex: 1;
124
- min-height: 0;
125
- overflow: auto;
126
- padding-bottom: 6px;
127
- }
128
- .sdk-chat-editor-func-at__item{
129
- display: flex;
130
- flex-direction: row;
131
- align-items: center;
132
- padding: 6px 12px;
133
- transition: all .25s;
134
- cursor: pointer;
135
- position: relative;
136
- &:hover {
137
- background-color: #f8f8f8;
138
- }
139
- &.is-active {
140
- background-color: #edf3fb;
141
- &:after {
142
- content: '';
143
- position: absolute;
144
- right: 12px;
145
- top: 50%;
146
- transform: translateY(-50%) rotate(-45deg);
147
- width: 7px;
148
- height: 5px;
149
- border: 1px solid #4387ff;
150
- border-top: 0;
151
- border-right: 0;
152
- }
153
- }
154
- }
155
- .sdk-chat-editor-func-at__item-avatar{
156
- margin-right: 6px;
157
- }
158
- </style>