@aochuang/client-sdk 1.0.363 → 1.0.364

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 (168) hide show
  1. package/components/index.js +1 -6
  2. package/components/layout/layout.vue +4 -1
  3. package/components/session-select/session-select-item.vue +9 -8
  4. package/components/wechat-chat-control/image/image.vue +8 -13
  5. package/components/wechat-chat-control/url/url-miniprogram.vue +5 -1
  6. package/components/wework-chat-control/channel-live/channel-live.vue +2 -7
  7. package/components/wework-chat-control/company-card/company-card.vue +1 -1
  8. package/components/wework-chat-control/custom-expression/custom-expression.vue +1 -2
  9. package/components/wework-chat-control/file-url/file-url.vue +16 -34
  10. package/components/wework-chat-control/image/image.vue +2 -137
  11. package/components/wework-chat-control/index.js +7 -15
  12. package/components/wework-chat-control/location/location.vue +3 -3
  13. package/components/wework-chat-control/red-envelopes/red-envelopes.vue +2 -3
  14. package/components/wework-chat-control/text/text.vue +144 -24
  15. package/components/wework-chat-control/url/url-miniprogram.vue +7 -6
  16. package/components/wework-chat-control/url/url.vue +2 -26
  17. package/components/wework-chat-control/util.js +17 -26
  18. package/components/wework-chat-control/video/video.vue +2 -10
  19. package/components/wework-chat-control/voice/voice.vue +2 -9
  20. package/components/wework-chat-panel/chat-panel-controls/company-card/company-card.vue +35 -0
  21. package/components/wework-chat-panel/chat-panel-controls/expression/expression.vue +36 -0
  22. package/components/wework-chat-panel/chat-panel-controls/file-url/file-url.vue +35 -0
  23. package/components/wework-chat-panel/chat-panel-controls/image/image.vue +36 -0
  24. package/components/wework-chat-panel/chat-panel-controls/index.js +35 -0
  25. package/components/wework-chat-panel/chat-panel-controls/jx-sys-text/jx-sys-text.vue +28 -0
  26. package/components/wework-chat-panel/chat-panel-controls/link/link.vue +35 -0
  27. package/components/wework-chat-panel/chat-panel-controls/location/location.vue +35 -0
  28. package/components/wework-chat-panel/chat-panel-controls/text/text.vue +43 -0
  29. package/components/wework-chat-panel/chat-panel-controls/unkonw/unkonw.vue +39 -0
  30. package/components/wework-chat-panel/chat-panel-controls/video/video.vue +37 -0
  31. package/components/wework-chat-panel/chat-panel-controls/voice/voice.vue +35 -0
  32. package/components/wework-chat-panel/chat-panel-item.vue +25 -56
  33. package/components/wework-chat-panel/chat-panel.vue +13 -96
  34. package/package.json +3 -10
  35. package/services/client-chat/client-chat-wechat/client-chat-session.js +196 -92
  36. package/services/client-chat/client-chat-wechat/client-chat.js +20 -33
  37. package/services/client-chat/client-chat-wework/client-chat-account.js +1 -84
  38. package/services/client-chat/client-chat-wework/client-chat-concats.js +17 -81
  39. package/services/client-chat/client-chat-wework/client-chat-message.js +5 -45
  40. package/services/client-chat/client-chat-wework/client-chat-session.js +4 -59
  41. package/services/client-chat/client-chat-wework/client-chat-socket.js +1 -13
  42. package/services/client-chat/client-chat-wework/client-chat.js +11 -320
  43. package/services/client-chat/client-chat-wework/utils.js +5 -5
  44. package/uni-common/account-portray/account-portray.vue +51 -0
  45. package/uni-common/account-select/account-select-item.vue +172 -0
  46. package/uni-common/account-select/account-select.vue +252 -0
  47. package/uni-common/all-friend-avatar/all-friend-avatar.vue +49 -0
  48. package/uni-common/friend-avatar/default.svg +1 -0
  49. package/uni-common/friend-avatar/friend-avatar.vue +27 -0
  50. package/uni-common/friend-avatar/index.js +3 -0
  51. package/uni-common/friend-loader/friend-loader.vue +53 -0
  52. package/uni-common/friend-portray/friend-portray.vue +56 -0
  53. package/uni-common/group-avatar/default.svg +1 -0
  54. package/uni-common/group-avatar/group-avatar.vue +18 -0
  55. package/uni-common/group-avatar/index.js +3 -0
  56. package/uni-common/room-avatar/default.svg +6 -0
  57. package/uni-common/room-avatar/index.js +3 -0
  58. package/uni-common/room-avatar/room-avatar.vue +27 -0
  59. package/uni-common/room-loader/room-loader.vue +53 -0
  60. package/uni-common/room-portray/room-portray.vue +56 -0
  61. package/uni-components/chat-control/calling/calling.vue +91 -0
  62. package/uni-components/chat-control/calling/phone-fill.svg +1 -0
  63. package/uni-components/chat-control/calling/vidicon-fill.svg +1 -0
  64. package/uni-components/chat-control/channel-video/channel-video.vue +89 -0
  65. package/uni-components/chat-control/channel-video-card/channel-video-card.vue +105 -0
  66. package/uni-components/chat-control/channel-video-live/channel-video-live.vue +92 -0
  67. package/uni-components/chat-control/chat-control-config-item/chat-control-config-item.vue +20 -0
  68. package/uni-components/chat-control/chat-control-config-item/index.js +3 -0
  69. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-app.vue +25 -0
  70. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-h5.vue +21 -0
  71. package/{components/wework-chat-control/wework-chat-control-config.vue → uni-components/chat-control/chat-control-config.vue} +13 -16
  72. package/uni-components/chat-control/chat-control.vue +218 -0
  73. package/uni-components/chat-control/company-card/company-card.vue +123 -0
  74. package/uni-components/chat-control/const.js +28 -0
  75. package/uni-components/chat-control/expression/expression.vue +41 -0
  76. package/uni-components/chat-control/image/image.vue +68 -0
  77. package/uni-components/chat-control/index.js +89 -0
  78. package/uni-components/chat-control/location/location.vue +110 -0
  79. package/uni-components/chat-control/member-change/member-change.vue +32 -0
  80. package/uni-components/chat-control/quote-message/quote-message.vue +216 -0
  81. package/uni-components/chat-control/real-time-position/real-time-position.vue +62 -0
  82. package/uni-components/chat-control/redpacket/red-envelope.svg +1 -0
  83. package/uni-components/chat-control/redpacket/redpacket.vue +75 -0
  84. package/uni-components/chat-control/share-card/share-card.vue +101 -0
  85. package/uni-components/chat-control/system/system.vue +69 -0
  86. package/uni-components/chat-control/system-batch-message/system-batch-message.vue +30 -0
  87. package/uni-components/chat-control/system-text/system-text.vue +32 -0
  88. package/uni-components/chat-control/text/text.vue +67 -0
  89. package/uni-components/chat-control/text-with-at/text-with-at.vue +51 -0
  90. package/uni-components/chat-control/transfer/red-transfer.svg +1 -0
  91. package/uni-components/chat-control/transfer/transfer.vue +80 -0
  92. package/uni-components/chat-control/unkonw/unkonw.vue +37 -0
  93. package/uni-components/chat-control/url/icons/file-excel-line.svg +1 -0
  94. package/uni-components/chat-control/url/icons/file-info-line.svg +1 -0
  95. package/uni-components/chat-control/url/icons/file-music-line.svg +1 -0
  96. package/uni-components/chat-control/url/icons/file-pdf-line.svg +1 -0
  97. package/uni-components/chat-control/url/icons/file-ppt-line.svg +1 -0
  98. package/uni-components/chat-control/url/icons/file-settings-line.svg +1 -0
  99. package/uni-components/chat-control/url/icons/file-text-line.svg +1 -0
  100. package/uni-components/chat-control/url/icons/file-unknow-line.svg +1 -0
  101. package/uni-components/chat-control/url/icons/file-word-line.svg +1 -0
  102. package/uni-components/chat-control/url/icons/file-zip-line.svg +1 -0
  103. package/uni-components/chat-control/url/icons/index.js +24 -0
  104. package/uni-components/chat-control/url/miniprogram.svg +1 -0
  105. package/uni-components/chat-control/url/url-miniprogram.vue +116 -0
  106. package/uni-components/chat-control/url/url.vue +306 -0
  107. package/uni-components/chat-control/url-new/icons/file-excel-line.svg +1 -0
  108. package/uni-components/chat-control/url-new/icons/file-info-line.svg +1 -0
  109. package/uni-components/chat-control/url-new/icons/file-music-line.svg +1 -0
  110. package/uni-components/chat-control/url-new/icons/file-pdf-line.svg +1 -0
  111. package/uni-components/chat-control/url-new/icons/file-ppt-line.svg +1 -0
  112. package/uni-components/chat-control/url-new/icons/file-settings-line.svg +1 -0
  113. package/uni-components/chat-control/url-new/icons/file-text-line.svg +1 -0
  114. package/uni-components/chat-control/url-new/icons/file-unknow-line.svg +1 -0
  115. package/uni-components/chat-control/url-new/icons/file-word-line.svg +1 -0
  116. package/uni-components/chat-control/url-new/icons/file-zip-line.svg +1 -0
  117. package/uni-components/chat-control/url-new/icons/index.js +24 -0
  118. package/uni-components/chat-control/url-new/url-new.vue +110 -0
  119. package/uni-components/chat-control/utils.js +12 -0
  120. package/uni-components/chat-control/video/video.vue +156 -0
  121. package/uni-components/chat-control/voice/voice.vue +166 -0
  122. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-collect.vue +84 -0
  123. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-system.vue +28 -0
  124. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet.vue +85 -0
  125. package/uni-components/chat-editor/chat-editor-func/chat-editor-func.vue +157 -0
  126. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at-panel.vue +158 -0
  127. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at.vue +61 -0
  128. package/uni-components/chat-editor/chat-editor-func-button/chat-editor-func-button.vue +58 -0
  129. package/uni-components/chat-editor/chat-editor-func-file/chat-editor-func-file.vue +54 -0
  130. package/uni-components/chat-editor/chat-editor-func-image/chat-editor-func-image.vue +42 -0
  131. package/uni-components/chat-editor/chat-editor-func-video/chat-editor-func-video.vue +42 -0
  132. package/uni-components/chat-editor/chat-editor-func-voice/chat-editor-func-voice.vue +25 -0
  133. package/uni-components/chat-editor/chat-editor-message-send/chat-editor-message-send.vue +158 -0
  134. package/uni-components/chat-editor/chat-editor-quote/chat-editor-quote.vue +75 -0
  135. package/uni-components/chat-editor/chat-editor.vue +257 -0
  136. package/uni-components/chat-editor/index.js +10 -0
  137. package/uni-components/chat-editor/util.js +65 -0
  138. package/uni-components/chat-panel/chat-panel-chats-box.vue +238 -0
  139. package/uni-components/chat-panel/chat-panel-chats-forward/chat-panel-chats-forward.vue +273 -0
  140. package/uni-components/chat-panel/chat-panel-chats-item.vue +578 -0
  141. package/uni-components/chat-panel/chat-panel-chats-status/chat-panel-chats-status.vue +71 -0
  142. package/uni-components/chat-panel/chat-panel-chats.vue +368 -0
  143. package/uni-components/chat-panel/chat-panel.vue +227 -0
  144. package/uni-components/contacts-group-select/contacts-group-select-item.vue +85 -0
  145. package/uni-components/contacts-group-select/contacts-group-select-panel.vue +119 -0
  146. package/uni-components/contacts-group-select/contacts-group-select.vue +150 -0
  147. package/common/.DS_Store +0 -0
  148. package/components/.DS_Store +0 -0
  149. package/components/wechat-chat-control/.DS_Store +0 -0
  150. package/components/wechat-chat-control/transfer/.DS_Store +0 -0
  151. package/components/wechat-chat-control/url/.DS_Store +0 -0
  152. package/components/wechat-chat-control/voice/.DS_Store +0 -0
  153. package/components/wework-chat-control/channel-card/channel-card.vue +0 -144
  154. package/components/wework-chat-control/link/.DS_Store +0 -0
  155. package/components/wework-chat-control/merge-message/merge-message-panel.vue +0 -63
  156. package/components/wework-chat-control/merge-message/merge-message.vue +0 -84
  157. package/components/wework-chat-control/merge-message/util.js +0 -59
  158. package/components/wework-chat-control/metting/enterprise-wechat.png +0 -0
  159. package/components/wework-chat-control/metting/meeting-video.svg +0 -4
  160. package/components/wework-chat-control/metting/metting.vue +0 -181
  161. package/components/wework-chat-control/text/text-default.vue +0 -99
  162. package/components/wework-chat-control/text/text-quote.vue +0 -105
  163. package/components/wework-chat-control/url/url-channel-live.vue +0 -53
  164. package/components/wework-chat-control/video/.DS_Store +0 -0
  165. package/components/wework-chat-control/wework-chat-control-config-item.vue +0 -24
  166. package/components/wework-chat-control/wework-chat-control-config-msg.vue +0 -25
  167. package/components/wework-chat-panel/chat-panel-chat-status/chat-panel-chat-status.vue +0 -73
  168. package/services/.DS_Store +0 -0
@@ -1,37 +1,157 @@
1
1
  <template>
2
- <component
3
- :is="contentObject && contentObject.quote ? quoteComponent : defaultComponent"
4
- v-bind="componentProps"
5
- ></component>
2
+ <div
3
+ class="sdk-chat-wework-control-text"
4
+ :class="['sdk-chat-wework-control-text--' + type]"
5
+ >
6
+ <div class="sdk-chat-wework-control-text__main">
7
+ <template v-if="hasScroll">
8
+ <ui-popover
9
+ :value="showPopover"
10
+ @input="handleShowPopoverChange"
11
+ >
12
+ <template slot="reference">
13
+ <div class="sdk-chat-wework-control-text__content"
14
+ v-html="html"
15
+ ref="popoverContent"
16
+ ></div>
17
+ </template>
18
+ <div class="sdk-chat-wework-control-text__popover" v-html="html" :style="{'width': popoverWidth}"></div>
19
+ </ui-popover>
20
+ </template>
21
+ <template v-else>
22
+ <div class="sdk-chat-wework-control-text__content"
23
+ v-html="html"
24
+ ref="content"
25
+ ></div>
26
+ </template>
27
+ </div>
28
+ </div>
6
29
  </template>
7
30
  <script>
8
- import TextDefault from './text-default.vue'
9
- import TextQuote from './text-quote.vue'
10
-
11
- function parseContent (content) {
12
- if (typeof content !== 'string') return content
13
- try { return JSON.parse(content) } catch (e) { return content }
14
- }
31
+ import { Popover as UiPopover } from '@aochuang/common/components'
32
+ import { html2Escape } from '../../../utils/string'
15
33
 
16
34
  export default {
17
35
  name: 'SdkChatControlText',
18
- components: {TextDefault, TextQuote},
19
- inheritAttrs: false,
36
+ components: {
37
+ UiPopover
38
+ },
20
39
  props: {
21
- id: {type: String},
22
- content: {type: [String, Object]},
23
- type: {type: String, default: 'default'},
24
- formatter: {type: Function},
25
- getQuoteMessage: {type: Function},
26
- setChatBoxFootVnode: {type: Function}
40
+ id: {
41
+ type: String
42
+ },
43
+ content: {
44
+ type: String
45
+ },
46
+ type: {
47
+ type: String,
48
+ default: 'default',
49
+ validator (value) {
50
+ return ['quote', 'default', 'thumb'].includes(value)
51
+ }
52
+ },
53
+ formatter: {
54
+ type: Function
55
+ }
56
+ },
57
+ data () {
58
+ return {
59
+ hasScroll: false,
60
+ showPopover: false,
61
+ popoverWidth: null
62
+ }
27
63
  },
28
64
  computed: {
29
- contentObject () { return parseContent(this.content) },
30
- defaultComponent () { return TextDefault },
31
- quoteComponent () { return TextQuote },
32
- componentProps () {
33
- return Object.assign({}, this.$attrs, this.$props, {getQuoteMessage: this.getQuoteMessage})
65
+ nextContent () {
66
+ return this.content
67
+ },
68
+ text () {
69
+ return this.nextContent
70
+ },
71
+ html () {
72
+ let content = this.nextContent
73
+ if (this.formatter) {
74
+ content = this.formatter({
75
+ content: this.nextContent
76
+ })
77
+ } else {
78
+ content = html2Escape(content)
79
+ }
80
+ if (!content) {
81
+ return ''
82
+ }
83
+ content = content.replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, item => {
84
+ return `<a href="${item}" target='_blank'>${item}</a>`
85
+ })
86
+ return content.trim()
87
+ }
88
+ },
89
+ mounted () {
90
+ if (this.$refs.content) {
91
+ this.hasScroll = this.$refs.content.scrollHeight > this.$refs.content.clientHeight
92
+ }
93
+ },
94
+ methods: {
95
+ handleShowPopoverChange (visible) {
96
+ if (this.$refs.popoverContent && visible) {
97
+ this.popoverWidth = this.$refs.popoverContent.offsetWidth + 'px'
98
+ }
99
+ this.$nextTick(() => {
100
+ this.showPopover = visible
101
+ })
34
102
  }
35
103
  }
36
104
  }
37
105
  </script>
106
+ <style lang="less">
107
+ .sdk-chat-wework-control-text--default {
108
+ .sdk-chat-wework-control-text__main{
109
+ padding: 10px;
110
+ }
111
+ }
112
+ .sdk-chat-wework-control-text--quote {
113
+ .sdk-chat-wework-control-text__content{
114
+ display: -webkit-box;
115
+ -webkit-box-orient: vertical;
116
+ -webkit-line-clamp: 2; /* 限制显示3行 */
117
+ overflow: hidden;
118
+ max-width: 420px;
119
+ }
120
+ }
121
+ .sdk-chat-wework-control-text--thumb {
122
+ background-color: #fff;
123
+ border: 1px solid #eee;
124
+ border-radius: 3px;
125
+ padding: 6px 10px;
126
+ .sdk-chat-wework-control-text__content{
127
+ display: -webkit-box;
128
+ -webkit-box-orient: vertical;
129
+ -webkit-line-clamp: 3; /* 限制显示3行 */
130
+ overflow: hidden;
131
+ }
132
+ }
133
+ .sdk-chat-wework-control-text__main{
134
+ white-space: pre-wrap;
135
+ line-height: 1.5em;
136
+ word-break: break-all;
137
+ img {
138
+ vertical-align: top;
139
+ }
140
+ a {
141
+ color: #4387ff;
142
+ &:hover {
143
+ color: #4387ff;
144
+ text-decoration: underline;
145
+ }
146
+ }
147
+ }
148
+ .sdk-chat-wework-control-text__popover{
149
+ white-space: pre-wrap;
150
+ line-height: 1.5em;
151
+ word-break: break-all;
152
+ padding: 10px;
153
+ img {
154
+ vertical-align: top;
155
+ }
156
+ }
157
+ </style>
@@ -50,7 +50,7 @@
50
50
  </div>
51
51
  </template>
52
52
  <script>
53
- import { parse } from '../../../utils/json'
53
+ import { parse, parseXml } from '../../../utils/json'
54
54
  import { formatOssPath } from '@aochuang/common/utils/oss'
55
55
 
56
56
  export default {
@@ -76,25 +76,26 @@ export default {
76
76
  return parse(this.content)
77
77
  },
78
78
  miniprogramData () {
79
+ let data = null
79
80
  if (!this.nextContent) {
80
- return {}
81
+ return data
81
82
  }
82
83
  return this.nextContent
83
84
  },
84
85
  icon () {
85
- return formatOssPath(this.miniprogramData.iconUrl)
86
+ return this.miniprogramData.weappIconUrl
86
87
  },
87
88
  title () {
88
89
  return this.miniprogramData.title
89
90
  },
90
91
  url () {
91
- return this.miniprogramData.url
92
+ return this.miniprogramData.msg && this.miniprogramData.msg.appmsg ? this.miniprogramData.msg.appmsg.url : ''
92
93
  },
93
94
  desc () {
94
- return this.miniprogramData.desc
95
+ return this.miniprogramData.appName
95
96
  },
96
97
  cover () {
97
- return formatOssPath(this.miniprogramData.resPath || this.miniprogramData.coverUrl)
98
+ return this.miniprogramData.thumbOssUrl
98
99
  },
99
100
  border () {
100
101
  return !this.SdkChatPanelBox
@@ -4,24 +4,6 @@ import UrlMerge from './url-merge'
4
4
  import UrlMiniprogram from './url-miniprogram'
5
5
  import UrlFile from './url-file'
6
6
  import UrlLink from './url-link'
7
- import UrlChannelLive from './url-channel-live'
8
- import ChannelCard from '../channel-card/channel-card'
9
-
10
- const CHANNEL_CARD_TITLE_PREFIX = '[视频号名片]'
11
-
12
- function isChannelLiveUrl (url) {
13
- try {
14
- return new URL(url).hostname === 'channels.weixin.qq.com'
15
- } catch (e) {
16
- return false
17
- }
18
- }
19
-
20
- function isChannelCardContent (content) {
21
- return isChannelLiveUrl(content && content.url) &&
22
- typeof content.title === 'string' &&
23
- content.title.startsWith(CHANNEL_CARD_TITLE_PREFIX)
24
- }
25
7
 
26
8
  export default {
27
9
  name: 'SdkChatPanelControlsUrl',
@@ -73,7 +55,7 @@ export default {
73
55
  beforeLoad: props.beforeLoadMergeMethod
74
56
  }
75
57
  })
76
- } else if (content.contentType === 78) {
58
+ } else if (content.type === 2) {
77
59
  return h(UrlMiniprogram, {
78
60
  props: {
79
61
  id: props.id,
@@ -106,13 +88,7 @@ export default {
106
88
  }
107
89
  }
108
90
  }
109
- let component = UrlLink
110
- if (isChannelCardContent(content)) {
111
- component = ChannelCard
112
- } else if (isChannelLiveUrl(content && content.url)) {
113
- component = UrlChannelLive
114
- }
115
- return h(component, {
91
+ return h(UrlLink, {
116
92
  props: {
117
93
  id: props.id,
118
94
  content,
@@ -1,15 +1,14 @@
1
1
  export const MESSAGE_TYPE = {
2
2
  TEXT: 0,
3
3
  TEXT_W: 1,
4
- MERGE_MESSAGE: 4,
5
4
  IMAGE: 14,
6
- URLFile: 15,
7
5
  VOICE: 16,
8
- VIDEO: 22,
6
+ VIDEO: 23,
9
7
  CUSTOM_EXPRESSION: 29,
8
+ CUSTOM_EXPRESSION_W: 104,
10
9
  // MUSIC: 1040187441,
11
10
  // ROOM_CALLING: 64,
12
- SHARE_CARD: 31,
11
+ SHARE_CARD: 41,
13
12
  // COMPANY_CARD: 41,
14
13
  // VIDEO: 43,
15
14
  // CUSTOM_EXPRESSION: 47,
@@ -33,8 +32,7 @@ export const MESSAGE_TYPE = {
33
32
  // QUOTE_MESSAGE: 822083633,
34
33
  CHANNEL_VIDEO: 141,
35
34
  // CHANNEL_VIDEO_CARD: 771751985, // 视频号名片
36
- CHANNEL_VIDEO_LIVE: 146, // 视频号直播
37
- MEETING: 579
35
+ CHANNEL_VIDEO_LIVE: 146 // 视频号直播
38
36
  }
39
37
 
40
38
  function html2Escape (sHtml) {
@@ -68,14 +66,6 @@ function toJson (data) {
68
66
  return data
69
67
  }
70
68
 
71
- function getTextContent (content) {
72
- const data = typeof content === 'string' ? toJson(content) : content
73
- if (data && typeof data === 'object') {
74
- return data.text || ''
75
- }
76
- return content
77
- }
78
-
79
69
  /**
80
70
  * 格式化为短消息
81
71
  */
@@ -83,8 +73,10 @@ export function formatShortMessage (msgType, msgContent) {
83
73
  let shortMessage = msgContent
84
74
  switch (msgType) {
85
75
  case MESSAGE_TYPE.TEXT:
76
+ shortMessage = msgContent
77
+ break
86
78
  case MESSAGE_TYPE.TEXT_W:
87
- shortMessage = getTextContent(msgContent)
79
+ shortMessage = msgContent
88
80
  break
89
81
  case MESSAGE_TYPE.TEXT_WITH_AT:
90
82
  let {atId, content, text} = toJson(msgContent) || {}
@@ -93,9 +85,6 @@ export function formatShortMessage (msgType, msgContent) {
93
85
  case MESSAGE_TYPE.IMAGE:
94
86
  shortMessage = '[图片消息]'
95
87
  break
96
- case MESSAGE_TYPE.MERGE_MESSAGE:
97
- shortMessage = '[聊天记录]'
98
- break
99
88
  case MESSAGE_TYPE.VIDEO:
100
89
  shortMessage = '[视频消息]'
101
90
  break
@@ -116,15 +105,20 @@ export function formatShortMessage (msgType, msgContent) {
116
105
  case MESSAGE_TYPE.SYSTEM:
117
106
  shortMessage = formatSystemMessage(msgContent)
118
107
  break
119
- case MESSAGE_TYPE.URLFile:
120
- shortMessage = '[文件消息]'
121
- break
122
108
  case MESSAGE_TYPE.URL:
123
109
  case MESSAGE_TYPE.URLNew:
124
110
  const jsonObj = toJson(msgContent)
125
111
  if (typeof jsonObj === 'object') {
126
- if(jsonObj.contentType === 78) {
112
+ if(jsonObj.type === 'file') {
113
+ shortMessage = '[文件消息]'
114
+ } else if(jsonObj.type === 'link') {
115
+ shortMessage = '[链接消息]'
116
+ } else if(jsonObj.type === 'miniprogram') {
127
117
  shortMessage = '[小程序消息]'
118
+ } else if (jsonObj.type === 'music') {
119
+ shortMessage = '[音乐消息]'
120
+ } else if (jsonObj.type === 'merged') {
121
+ shortMessage = '[合并消息]'
128
122
  } else {
129
123
  shortMessage = '[链接消息]'
130
124
  }
@@ -166,9 +160,6 @@ export function formatShortMessage (msgType, msgContent) {
166
160
  case MESSAGE_TYPE.CHANNEL_VIDEO_LIVE:
167
161
  shortMessage = '[视频号直播]'
168
162
  break
169
- case MESSAGE_TYPE.MEETING:
170
- shortMessage = '[会议消息]'
171
- break
172
163
  case MESSAGE_TYPE.ROOM_CALLING:
173
164
  case MESSAGE_TYPE.CALLING:
174
165
  shortMessage = '[语音通话消息]'
@@ -233,4 +224,4 @@ export function formatShortSessionMessage (session, contextFn) {
233
224
  }
234
225
  }
235
226
  return formatShortMessage(session.lastMsgType, session.lastMsgContent)
236
- }
227
+ }
@@ -147,9 +147,7 @@ export default {
147
147
  if (typeof this.nextContent === 'string') {
148
148
  url = this.nextContent
149
149
  } else if (this.nextContent && typeof this.nextContent === 'object') {
150
- if (this.nextContent.resPath) {
151
- url = this.nextContent.resPath
152
- } else if (this.nextContent.videoPath) {
150
+ if (this.nextContent.videoPath) {
153
151
  url = this.nextContent.videoPath
154
152
  } else {
155
153
  url = this.nextContent.tencentUrl
@@ -165,7 +163,7 @@ export default {
165
163
  if (!this.nextContent) {
166
164
  return
167
165
  }
168
- return this.nextContent.resCoverPath || this.nextContent.previewImgUrl
166
+ return this.nextContent.previewImgUrl
169
167
  },
170
168
  innerCover () {
171
169
  return formatOssPath(this.cover)
@@ -204,12 +202,6 @@ export default {
204
202
  throw new Error('不支持的更新属性' + prop)
205
203
  }
206
204
  this.$set(this.nextContent, prop, value)
207
- },
208
- updateContentProps: (data) => {
209
- if (!data || typeof data !== 'object' || Array.isArray(data)) {
210
- throw new Error('updateContentProps只支持更新数据对象')
211
- }
212
- this.nextContent = data
213
205
  }
214
206
  })
215
207
  if (rs && rs.finally) {
@@ -53,7 +53,6 @@
53
53
  import { parse } from '../../../utils/json'
54
54
  import { unique } from '../../../utils/string'
55
55
  import AcVoicePlayer from '@aochuang/common/common/voice-player'
56
- import { formatOssPath } from '@aochuang/common/utils/oss'
57
56
 
58
57
  const ConvertStatusEnum = {
59
58
  NORMAL: -1, // 没有转换
@@ -133,14 +132,8 @@ export default {
133
132
  return parse(this.content) || {}
134
133
  },
135
134
  voiceSrc () {
136
- if (typeof this.nextContent === 'string') {
137
- return this.nextContent
138
- }
139
- const voiceSrc = this.nextContent.resPath
140
- if (!voiceSrc) {
141
- return
142
- }
143
- return formatOssPath(voiceSrc)
135
+ let url = this.nextContent.url || this.nextContent.resUrl
136
+ return url
144
137
  },
145
138
  nextId () {
146
139
  return this.id || unique()
@@ -0,0 +1,35 @@
1
+ <script>
2
+ import SdkChatPanelBox from '../../../chat-panel/chat-panel-box'
3
+ import { companyCard } from '../../../wework-chat-control'
4
+
5
+ export default {
6
+ name: 'SdkWeworkChatPanelControlsCompanyCard',
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(companyCard, {
29
+ props: {
30
+ data: props.data
31
+ }
32
+ })])
33
+ }
34
+ }
35
+ </script>
@@ -0,0 +1,36 @@
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>
@@ -0,0 +1,35 @@
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>
@@ -0,0 +1,36 @@
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>
@@ -0,0 +1,35 @@
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
+ }
@@ -0,0 +1,28 @@
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>
@@ -0,0 +1,35 @@
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>