@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,156 +0,0 @@
1
- <template>
2
- <view class="bi-chat-control-video" :class="['bi-chat-control-video--' + type]">
3
- <template v-if="hasPreviewImage">
4
- <image class="bi-chat-control-video__cover" mode="widthFix" :src="content.previewImage"></image>
5
- <view class="bi-chat-control-video__play" @click.stop="handlePlayClick">
6
- <ui-icon name="arrow-down-circle-line" size="32px"></ui-icon>
7
- </view>
8
- </template>
9
- <template v-else>
10
- <view class="bi-chat-control-video__poster" @click.stop="handlePosterClick">
11
- <ui-icon name="play-circle-line" size="32px"></ui-icon>
12
- </view>
13
- </template>
14
- <uv-overlay :show="showOverlay" :opacity="0.8" @click.stop="handleOverlayClick">
15
- <view class="bi-chat-control-video__player" v-if="showOverlay">
16
- <ui-video class="bi-chat-control-video__control" :src="innerSrc" @click.stop></ui-video>
17
- </view>
18
- </uv-overlay>
19
- </view>
20
- </template>
21
-
22
- <script>
23
- import { toJson } from '../../../utils/data.js'
24
- import { formatOssPath } from '@aochuang/common/utils/oss'
25
- import UiIcon from '@aochuang/common/uni-components/icon/icon.vue'
26
- import UiVideo from '@aochuang/common/uni-components/video'
27
-
28
- export default {
29
- name: 'BiChatControlVideo',
30
- components: {
31
- UiIcon,
32
- UiVideo
33
- },
34
- props: {
35
- data: {
36
- type: String
37
- },
38
- type: {
39
- type: String,
40
- default: 'default',
41
- validator (value) {
42
- return ['default', 'quote', 'thumb'].includes(value)
43
- }
44
- },
45
- downloadMethod: {
46
- type: Function
47
- }
48
- },
49
- data () {
50
- return {
51
- showOverlay: false,
52
- loading: false
53
- }
54
- },
55
- computed: {
56
- content () {
57
- return toJson(this.data)
58
- },
59
- innerSrc () {
60
- let src
61
- if (typeof this.content === 'string') {
62
- src = formatOssPath(this.content)
63
- }
64
- return src
65
- },
66
- hasPreviewImage () {
67
- return this.content && this.content.previewImage
68
- }
69
- },
70
- methods: {
71
- handlePosterClick () {
72
- this.showOverlay = true
73
- },
74
- handleOverlayClick () {
75
- this.showOverlay = false
76
- },
77
- handlePlayClick () {
78
- if (this.downloadMethod) {
79
- this.downloadMethod({
80
- data: this.content
81
- }).then(() => {
82
- this.$success('下载视频命令已下发,请耐心等待!')
83
- })
84
- }
85
- }
86
- }
87
- }
88
- </script>
89
-
90
- <style lang="less">
91
- .bi-chat-control-video--default {
92
- .bi-chat-control-video__control{
93
- max-width: 240px;
94
- width: 240px;
95
- }
96
- .bi-chat-control-video__cover{
97
- max-width: 160px;
98
- width: 160px;
99
- }
100
- .bi-chat-control-video__poster{
101
- width: 200px;
102
- height: 180px;
103
- }
104
- }
105
- .bi-chat-control-video--thumb {
106
- width: 100%;
107
- .bi-chat-control-video__control{
108
- max-width: 100%;
109
- }
110
- .bi-chat-control-video__cover{
111
- max-width: 100%;
112
- }
113
- .bi-chat-control-video__poster{
114
- height: 140px;
115
- width: 100%;
116
- max-width: 100%;
117
- }
118
- }
119
- .bi-chat-control-video{
120
- display: inline-block;
121
- position: relative;
122
- }
123
- .bi-chat-control-video__play{
124
- position: absolute;
125
- left: 0;
126
- right: 0;
127
- bottom: 0;
128
- top: 0;
129
- background-color: rgba(0,0,0,.1);
130
- display: flex;
131
- flex-direction: column;
132
- align-items: center;
133
- justify-content: center;
134
- color: #fff;
135
- }
136
- .bi-chat-control-video__cover{
137
- height: auto;
138
- border-radius: 4px;
139
- }
140
- .bi-chat-control-video__poster{
141
- background-color: #020202;
142
- display: flex;
143
- flex-direction: column;
144
- align-items: center;
145
- justify-content: center;
146
- color: #fff;
147
- }
148
- .bi-chat-control-video__player{
149
- display: flex;
150
- flex-direction: column;
151
- align-items: center;
152
- justify-content: center;
153
- width: 100%;
154
- height: 100%;
155
- }
156
- </style>
@@ -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>