@aochuang/client-sdk 1.0.356 → 1.0.359

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 (159) hide show
  1. package/components/index.js +1 -6
  2. package/components/session-select/session-select-item.vue +9 -8
  3. package/components/wechat-chat-control/image/image.vue +8 -13
  4. package/components/wechat-chat-control/url/url-miniprogram.vue +5 -1
  5. package/components/wework-chat-control/channel-live/channel-live.vue +2 -7
  6. package/components/wework-chat-control/company-card/company-card.vue +1 -1
  7. package/components/wework-chat-control/custom-expression/custom-expression.vue +1 -2
  8. package/components/wework-chat-control/file-url/file-url.vue +16 -34
  9. package/components/wework-chat-control/image/image.vue +2 -137
  10. package/components/wework-chat-control/index.js +7 -10
  11. package/components/wework-chat-control/location/location.vue +3 -3
  12. package/components/wework-chat-control/text/text.vue +144 -24
  13. package/components/wework-chat-control/url/url-miniprogram.vue +7 -6
  14. package/components/wework-chat-control/url/url.vue +2 -26
  15. package/components/wework-chat-control/util.js +19 -22
  16. package/components/wework-chat-control/video/video.vue +2 -10
  17. package/components/wework-chat-control/voice/voice.vue +1 -1
  18. package/components/wework-chat-panel/chat-panel-controls/company-card/company-card.vue +35 -0
  19. package/components/wework-chat-panel/chat-panel-controls/expression/expression.vue +36 -0
  20. package/components/wework-chat-panel/chat-panel-controls/file-url/file-url.vue +35 -0
  21. package/components/wework-chat-panel/chat-panel-controls/image/image.vue +36 -0
  22. package/components/wework-chat-panel/chat-panel-controls/index.js +35 -0
  23. package/components/wework-chat-panel/chat-panel-controls/jx-sys-text/jx-sys-text.vue +28 -0
  24. package/components/wework-chat-panel/chat-panel-controls/link/link.vue +35 -0
  25. package/components/wework-chat-panel/chat-panel-controls/location/location.vue +35 -0
  26. package/components/wework-chat-panel/chat-panel-controls/text/text.vue +43 -0
  27. package/components/wework-chat-panel/chat-panel-controls/unkonw/unkonw.vue +39 -0
  28. package/components/wework-chat-panel/chat-panel-controls/video/video.vue +37 -0
  29. package/components/wework-chat-panel/chat-panel-controls/voice/voice.vue +35 -0
  30. package/components/wework-chat-panel/chat-panel-item.vue +28 -38
  31. package/components/wework-chat-panel/chat-panel.vue +13 -96
  32. package/package.json +3 -10
  33. package/services/client-chat/client-chat-wechat/client-chat-session.js +196 -92
  34. package/services/client-chat/client-chat-wechat/client-chat.js +20 -33
  35. package/services/client-chat/client-chat-wework/client-chat-concats.js +17 -81
  36. package/services/client-chat/client-chat-wework/client-chat-message.js +5 -45
  37. package/services/client-chat/client-chat-wework/client-chat-session.js +2 -50
  38. package/services/client-chat/client-chat-wework/client-chat-socket.js +1 -9
  39. package/services/client-chat/client-chat-wework/client-chat.js +11 -281
  40. package/services/client-chat/client-chat-wework/utils.js +5 -5
  41. package/uni-common/account-portray/account-portray.vue +51 -0
  42. package/uni-common/account-select/account-select-item.vue +172 -0
  43. package/uni-common/account-select/account-select.vue +252 -0
  44. package/uni-common/all-friend-avatar/all-friend-avatar.vue +49 -0
  45. package/uni-common/friend-avatar/default.svg +1 -0
  46. package/uni-common/friend-avatar/friend-avatar.vue +27 -0
  47. package/uni-common/friend-avatar/index.js +3 -0
  48. package/uni-common/friend-loader/friend-loader.vue +53 -0
  49. package/uni-common/friend-portray/friend-portray.vue +56 -0
  50. package/uni-common/group-avatar/default.svg +1 -0
  51. package/uni-common/group-avatar/group-avatar.vue +18 -0
  52. package/uni-common/group-avatar/index.js +3 -0
  53. package/uni-common/room-avatar/default.svg +6 -0
  54. package/uni-common/room-avatar/index.js +3 -0
  55. package/uni-common/room-avatar/room-avatar.vue +27 -0
  56. package/uni-common/room-loader/room-loader.vue +53 -0
  57. package/uni-common/room-portray/room-portray.vue +56 -0
  58. package/uni-components/chat-control/calling/calling.vue +91 -0
  59. package/uni-components/chat-control/calling/phone-fill.svg +1 -0
  60. package/uni-components/chat-control/calling/vidicon-fill.svg +1 -0
  61. package/uni-components/chat-control/channel-video/channel-video.vue +89 -0
  62. package/uni-components/chat-control/channel-video-card/channel-video-card.vue +105 -0
  63. package/uni-components/chat-control/channel-video-live/channel-video-live.vue +92 -0
  64. package/uni-components/chat-control/chat-control-config-item/chat-control-config-item.vue +20 -0
  65. package/uni-components/chat-control/chat-control-config-item/index.js +3 -0
  66. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-app.vue +25 -0
  67. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-h5.vue +21 -0
  68. package/{components/wework-chat-control/wework-chat-control-config.vue → uni-components/chat-control/chat-control-config.vue} +13 -16
  69. package/uni-components/chat-control/chat-control.vue +218 -0
  70. package/uni-components/chat-control/company-card/company-card.vue +123 -0
  71. package/uni-components/chat-control/const.js +28 -0
  72. package/uni-components/chat-control/expression/expression.vue +41 -0
  73. package/uni-components/chat-control/image/image.vue +68 -0
  74. package/uni-components/chat-control/index.js +89 -0
  75. package/uni-components/chat-control/location/location.vue +110 -0
  76. package/uni-components/chat-control/member-change/member-change.vue +32 -0
  77. package/uni-components/chat-control/quote-message/quote-message.vue +216 -0
  78. package/uni-components/chat-control/real-time-position/real-time-position.vue +62 -0
  79. package/uni-components/chat-control/redpacket/red-envelope.svg +1 -0
  80. package/uni-components/chat-control/redpacket/redpacket.vue +75 -0
  81. package/uni-components/chat-control/share-card/share-card.vue +101 -0
  82. package/uni-components/chat-control/system/system.vue +69 -0
  83. package/uni-components/chat-control/system-batch-message/system-batch-message.vue +30 -0
  84. package/uni-components/chat-control/system-text/system-text.vue +32 -0
  85. package/uni-components/chat-control/text/text.vue +67 -0
  86. package/uni-components/chat-control/text-with-at/text-with-at.vue +51 -0
  87. package/uni-components/chat-control/transfer/red-transfer.svg +1 -0
  88. package/uni-components/chat-control/transfer/transfer.vue +80 -0
  89. package/uni-components/chat-control/unkonw/unkonw.vue +37 -0
  90. package/uni-components/chat-control/url/icons/file-excel-line.svg +1 -0
  91. package/uni-components/chat-control/url/icons/file-info-line.svg +1 -0
  92. package/uni-components/chat-control/url/icons/file-music-line.svg +1 -0
  93. package/uni-components/chat-control/url/icons/file-pdf-line.svg +1 -0
  94. package/uni-components/chat-control/url/icons/file-ppt-line.svg +1 -0
  95. package/uni-components/chat-control/url/icons/file-settings-line.svg +1 -0
  96. package/uni-components/chat-control/url/icons/file-text-line.svg +1 -0
  97. package/uni-components/chat-control/url/icons/file-unknow-line.svg +1 -0
  98. package/uni-components/chat-control/url/icons/file-word-line.svg +1 -0
  99. package/uni-components/chat-control/url/icons/file-zip-line.svg +1 -0
  100. package/uni-components/chat-control/url/icons/index.js +24 -0
  101. package/uni-components/chat-control/url/miniprogram.svg +1 -0
  102. package/uni-components/chat-control/url/url-miniprogram.vue +116 -0
  103. package/uni-components/chat-control/url/url.vue +306 -0
  104. package/uni-components/chat-control/url-new/icons/file-excel-line.svg +1 -0
  105. package/uni-components/chat-control/url-new/icons/file-info-line.svg +1 -0
  106. package/uni-components/chat-control/url-new/icons/file-music-line.svg +1 -0
  107. package/uni-components/chat-control/url-new/icons/file-pdf-line.svg +1 -0
  108. package/uni-components/chat-control/url-new/icons/file-ppt-line.svg +1 -0
  109. package/uni-components/chat-control/url-new/icons/file-settings-line.svg +1 -0
  110. package/uni-components/chat-control/url-new/icons/file-text-line.svg +1 -0
  111. package/uni-components/chat-control/url-new/icons/file-unknow-line.svg +1 -0
  112. package/uni-components/chat-control/url-new/icons/file-word-line.svg +1 -0
  113. package/uni-components/chat-control/url-new/icons/file-zip-line.svg +1 -0
  114. package/uni-components/chat-control/url-new/icons/index.js +24 -0
  115. package/uni-components/chat-control/url-new/url-new.vue +110 -0
  116. package/uni-components/chat-control/utils.js +12 -0
  117. package/uni-components/chat-control/video/video.vue +156 -0
  118. package/uni-components/chat-control/voice/voice.vue +166 -0
  119. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-collect.vue +84 -0
  120. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-system.vue +28 -0
  121. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet.vue +85 -0
  122. package/uni-components/chat-editor/chat-editor-func/chat-editor-func.vue +157 -0
  123. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at-panel.vue +158 -0
  124. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at.vue +61 -0
  125. package/uni-components/chat-editor/chat-editor-func-button/chat-editor-func-button.vue +58 -0
  126. package/uni-components/chat-editor/chat-editor-func-file/chat-editor-func-file.vue +54 -0
  127. package/uni-components/chat-editor/chat-editor-func-image/chat-editor-func-image.vue +42 -0
  128. package/uni-components/chat-editor/chat-editor-func-video/chat-editor-func-video.vue +42 -0
  129. package/uni-components/chat-editor/chat-editor-func-voice/chat-editor-func-voice.vue +25 -0
  130. package/uni-components/chat-editor/chat-editor-message-send/chat-editor-message-send.vue +158 -0
  131. package/uni-components/chat-editor/chat-editor-quote/chat-editor-quote.vue +75 -0
  132. package/uni-components/chat-editor/chat-editor.vue +257 -0
  133. package/uni-components/chat-editor/index.js +10 -0
  134. package/uni-components/chat-editor/util.js +65 -0
  135. package/uni-components/chat-panel/chat-panel-chats-box.vue +238 -0
  136. package/uni-components/chat-panel/chat-panel-chats-forward/chat-panel-chats-forward.vue +273 -0
  137. package/uni-components/chat-panel/chat-panel-chats-item.vue +578 -0
  138. package/uni-components/chat-panel/chat-panel-chats-status/chat-panel-chats-status.vue +71 -0
  139. package/uni-components/chat-panel/chat-panel-chats.vue +368 -0
  140. package/uni-components/chat-panel/chat-panel.vue +227 -0
  141. package/uni-components/contacts-group-select/contacts-group-select-item.vue +85 -0
  142. package/uni-components/contacts-group-select/contacts-group-select-panel.vue +119 -0
  143. package/uni-components/contacts-group-select/contacts-group-select.vue +150 -0
  144. package/components/wechat-chat-control/.DS_Store +0 -0
  145. package/components/wechat-chat-control/transfer/.DS_Store +0 -0
  146. package/components/wechat-chat-control/url/.DS_Store +0 -0
  147. package/components/wechat-chat-control/voice/.DS_Store +0 -0
  148. package/components/wework-chat-control/channel-card/channel-card.vue +0 -144
  149. package/components/wework-chat-control/link/.DS_Store +0 -0
  150. package/components/wework-chat-control/metting/enterprise-wechat.png +0 -0
  151. package/components/wework-chat-control/metting/meeting-video.svg +0 -4
  152. package/components/wework-chat-control/metting/metting.vue +0 -181
  153. package/components/wework-chat-control/text/text-default.vue +0 -99
  154. package/components/wework-chat-control/text/text-quote.vue +0 -105
  155. package/components/wework-chat-control/url/url-channel-live.vue +0 -53
  156. package/components/wework-chat-control/video/.DS_Store +0 -0
  157. package/components/wework-chat-control/wework-chat-control-config-item.vue +0 -24
  158. package/components/wework-chat-control/wework-chat-control-config-msg.vue +0 -25
  159. package/components/wework-chat-panel/chat-panel-chat-status/chat-panel-chat-status.vue +0 -73
@@ -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,
@@ -2,13 +2,13 @@ export const MESSAGE_TYPE = {
2
2
  TEXT: 0,
3
3
  TEXT_W: 1,
4
4
  IMAGE: 14,
5
- URLFile: 15,
6
5
  VOICE: 16,
7
- VIDEO: 22,
6
+ VIDEO: 23,
8
7
  CUSTOM_EXPRESSION: 29,
8
+ CUSTOM_EXPRESSION_W: 104,
9
9
  // MUSIC: 1040187441,
10
10
  // ROOM_CALLING: 64,
11
- SHARE_CARD: 31,
11
+ SHARE_CARD: 41,
12
12
  // COMPANY_CARD: 41,
13
13
  // VIDEO: 43,
14
14
  // CUSTOM_EXPRESSION: 47,
@@ -32,8 +32,7 @@ export const MESSAGE_TYPE = {
32
32
  // QUOTE_MESSAGE: 822083633,
33
33
  CHANNEL_VIDEO: 141,
34
34
  // CHANNEL_VIDEO_CARD: 771751985, // 视频号名片
35
- CHANNEL_VIDEO_LIVE: 146, // 视频号直播
36
- MEETING: 579
35
+ CHANNEL_VIDEO_LIVE: 146 // 视频号直播
37
36
  }
38
37
 
39
38
  function html2Escape (sHtml) {
@@ -67,14 +66,6 @@ function toJson (data) {
67
66
  return data
68
67
  }
69
68
 
70
- function getTextContent (content) {
71
- const data = typeof content === 'string' ? toJson(content) : content
72
- if (data && typeof data === 'object') {
73
- return data.text || ''
74
- }
75
- return content
76
- }
77
-
78
69
  /**
79
70
  * 格式化为短消息
80
71
  */
@@ -82,8 +73,10 @@ export function formatShortMessage (msgType, msgContent) {
82
73
  let shortMessage = msgContent
83
74
  switch (msgType) {
84
75
  case MESSAGE_TYPE.TEXT:
76
+ shortMessage = msgContent
77
+ break
85
78
  case MESSAGE_TYPE.TEXT_W:
86
- shortMessage = getTextContent(msgContent)
79
+ shortMessage = msgContent
87
80
  break
88
81
  case MESSAGE_TYPE.TEXT_WITH_AT:
89
82
  let {atId, content, text} = toJson(msgContent) || {}
@@ -112,15 +105,22 @@ export function formatShortMessage (msgType, msgContent) {
112
105
  case MESSAGE_TYPE.SYSTEM:
113
106
  shortMessage = formatSystemMessage(msgContent)
114
107
  break
115
- case MESSAGE_TYPE.URLFile:
116
- shortMessage = '[文件消息]'
117
- break
118
108
  case MESSAGE_TYPE.URL:
119
109
  case MESSAGE_TYPE.URLNew:
120
110
  const jsonObj = toJson(msgContent)
121
111
  if (typeof jsonObj === 'object') {
122
- 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') {
123
117
  shortMessage = '[小程序消息]'
118
+ } else if (jsonObj.type === 'music') {
119
+ shortMessage = '[音乐消息]'
120
+ } else if (jsonObj.type === 'merged') {
121
+ shortMessage = '[合并消息]'
122
+ } else {
123
+ shortMessage = '[链接消息]'
124
124
  }
125
125
  } else {
126
126
  shortMessage = '[链接消息]'
@@ -160,9 +160,6 @@ export function formatShortMessage (msgType, msgContent) {
160
160
  case MESSAGE_TYPE.CHANNEL_VIDEO_LIVE:
161
161
  shortMessage = '[视频号直播]'
162
162
  break
163
- case MESSAGE_TYPE.MEETING:
164
- shortMessage = '[会议消息]'
165
- break
166
163
  case MESSAGE_TYPE.ROOM_CALLING:
167
164
  case MESSAGE_TYPE.CALLING:
168
165
  shortMessage = '[语音通话消息]'
@@ -227,4 +224,4 @@ export function formatShortSessionMessage (session, contextFn) {
227
224
  }
228
225
  }
229
226
  return formatShortMessage(session.lastMsgType, session.lastMsgContent)
230
- }
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) {
@@ -132,7 +132,7 @@ export default {
132
132
  return parse(this.content) || {}
133
133
  },
134
134
  voiceSrc () {
135
- let url = this.nextContent.resPath
135
+ let url = this.nextContent.url || this.nextContent.resUrl
136
136
  return url
137
137
  },
138
138
  nextId () {
@@ -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>
@@ -0,0 +1,35 @@
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>