@aochuang/client-sdk 1.0.359 → 1.0.360

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 (157) hide show
  1. package/components/index.js +6 -1
  2. package/components/session-select/session-select-item.vue +8 -9
  3. package/components/wechat-chat-control/image/image.vue +13 -8
  4. package/components/wechat-chat-control/url/url-miniprogram.vue +1 -5
  5. package/components/wework-chat-control/channel-card/channel-card.vue +144 -0
  6. package/components/wework-chat-control/channel-live/channel-live.vue +7 -2
  7. package/components/wework-chat-control/company-card/company-card.vue +1 -1
  8. package/components/wework-chat-control/custom-expression/custom-expression.vue +2 -1
  9. package/components/wework-chat-control/file-url/file-url.vue +34 -16
  10. package/components/wework-chat-control/image/image.vue +137 -2
  11. package/components/wework-chat-control/index.js +15 -7
  12. package/components/wework-chat-control/location/location.vue +3 -3
  13. package/components/wework-chat-control/merge-message/merge-message-panel.vue +63 -0
  14. package/components/wework-chat-control/merge-message/merge-message.vue +84 -0
  15. package/components/wework-chat-control/merge-message/util.js +59 -0
  16. package/components/wework-chat-control/metting/enterprise-wechat.png +0 -0
  17. package/components/wework-chat-control/metting/meeting-video.svg +4 -0
  18. package/components/wework-chat-control/metting/metting.vue +181 -0
  19. package/components/wework-chat-control/red-envelopes/red-envelopes.vue +3 -2
  20. package/components/wework-chat-control/text/text-default.vue +99 -0
  21. package/components/wework-chat-control/text/text-quote.vue +105 -0
  22. package/components/wework-chat-control/text/text.vue +24 -144
  23. package/components/wework-chat-control/url/url-channel-live.vue +53 -0
  24. package/components/wework-chat-control/url/url-miniprogram.vue +6 -7
  25. package/components/wework-chat-control/url/url.vue +26 -2
  26. package/components/wework-chat-control/util.js +26 -17
  27. package/components/wework-chat-control/video/video.vue +10 -2
  28. package/components/wework-chat-control/voice/voice.vue +9 -2
  29. package/components/wework-chat-control/wework-chat-control-config-item.vue +24 -0
  30. package/components/wework-chat-control/wework-chat-control-config-msg.vue +25 -0
  31. package/{uni-components/chat-control/chat-control-config.vue → components/wework-chat-control/wework-chat-control-config.vue} +16 -13
  32. package/components/wework-chat-panel/chat-panel-chat-status/chat-panel-chat-status.vue +73 -0
  33. package/components/wework-chat-panel/chat-panel-item.vue +56 -25
  34. package/components/wework-chat-panel/chat-panel.vue +96 -13
  35. package/package.json +10 -3
  36. package/services/client-chat/client-chat-wechat/client-chat-session.js +92 -196
  37. package/services/client-chat/client-chat-wechat/client-chat.js +33 -20
  38. package/services/client-chat/client-chat-wework/client-chat-concats.js +81 -17
  39. package/services/client-chat/client-chat-wework/client-chat-message.js +45 -5
  40. package/services/client-chat/client-chat-wework/client-chat-session.js +50 -2
  41. package/services/client-chat/client-chat-wework/client-chat-socket.js +9 -1
  42. package/services/client-chat/client-chat-wework/client-chat.js +281 -11
  43. package/services/client-chat/client-chat-wework/utils.js +5 -5
  44. package/components/wework-chat-panel/chat-panel-controls/company-card/company-card.vue +0 -35
  45. package/components/wework-chat-panel/chat-panel-controls/expression/expression.vue +0 -36
  46. package/components/wework-chat-panel/chat-panel-controls/file-url/file-url.vue +0 -35
  47. package/components/wework-chat-panel/chat-panel-controls/image/image.vue +0 -36
  48. package/components/wework-chat-panel/chat-panel-controls/index.js +0 -35
  49. package/components/wework-chat-panel/chat-panel-controls/jx-sys-text/jx-sys-text.vue +0 -28
  50. package/components/wework-chat-panel/chat-panel-controls/link/link.vue +0 -35
  51. package/components/wework-chat-panel/chat-panel-controls/location/location.vue +0 -35
  52. package/components/wework-chat-panel/chat-panel-controls/text/text.vue +0 -43
  53. package/components/wework-chat-panel/chat-panel-controls/unkonw/unkonw.vue +0 -39
  54. package/components/wework-chat-panel/chat-panel-controls/video/video.vue +0 -37
  55. package/components/wework-chat-panel/chat-panel-controls/voice/voice.vue +0 -35
  56. package/uni-common/account-portray/account-portray.vue +0 -51
  57. package/uni-common/account-select/account-select-item.vue +0 -172
  58. package/uni-common/account-select/account-select.vue +0 -252
  59. package/uni-common/all-friend-avatar/all-friend-avatar.vue +0 -49
  60. package/uni-common/friend-avatar/default.svg +0 -1
  61. package/uni-common/friend-avatar/friend-avatar.vue +0 -27
  62. package/uni-common/friend-avatar/index.js +0 -3
  63. package/uni-common/friend-loader/friend-loader.vue +0 -53
  64. package/uni-common/friend-portray/friend-portray.vue +0 -56
  65. package/uni-common/group-avatar/default.svg +0 -1
  66. package/uni-common/group-avatar/group-avatar.vue +0 -18
  67. package/uni-common/group-avatar/index.js +0 -3
  68. package/uni-common/room-avatar/default.svg +0 -6
  69. package/uni-common/room-avatar/index.js +0 -3
  70. package/uni-common/room-avatar/room-avatar.vue +0 -27
  71. package/uni-common/room-loader/room-loader.vue +0 -53
  72. package/uni-common/room-portray/room-portray.vue +0 -56
  73. package/uni-components/chat-control/calling/calling.vue +0 -91
  74. package/uni-components/chat-control/calling/phone-fill.svg +0 -1
  75. package/uni-components/chat-control/calling/vidicon-fill.svg +0 -1
  76. package/uni-components/chat-control/channel-video/channel-video.vue +0 -89
  77. package/uni-components/chat-control/channel-video-card/channel-video-card.vue +0 -105
  78. package/uni-components/chat-control/channel-video-live/channel-video-live.vue +0 -92
  79. package/uni-components/chat-control/chat-control-config-item/chat-control-config-item.vue +0 -20
  80. package/uni-components/chat-control/chat-control-config-item/index.js +0 -3
  81. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-app.vue +0 -25
  82. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-h5.vue +0 -21
  83. package/uni-components/chat-control/chat-control.vue +0 -218
  84. package/uni-components/chat-control/company-card/company-card.vue +0 -123
  85. package/uni-components/chat-control/const.js +0 -28
  86. package/uni-components/chat-control/expression/expression.vue +0 -41
  87. package/uni-components/chat-control/image/image.vue +0 -68
  88. package/uni-components/chat-control/index.js +0 -89
  89. package/uni-components/chat-control/location/location.vue +0 -110
  90. package/uni-components/chat-control/member-change/member-change.vue +0 -32
  91. package/uni-components/chat-control/quote-message/quote-message.vue +0 -216
  92. package/uni-components/chat-control/real-time-position/real-time-position.vue +0 -62
  93. package/uni-components/chat-control/redpacket/red-envelope.svg +0 -1
  94. package/uni-components/chat-control/redpacket/redpacket.vue +0 -75
  95. package/uni-components/chat-control/share-card/share-card.vue +0 -101
  96. package/uni-components/chat-control/system/system.vue +0 -69
  97. package/uni-components/chat-control/system-batch-message/system-batch-message.vue +0 -30
  98. package/uni-components/chat-control/system-text/system-text.vue +0 -32
  99. package/uni-components/chat-control/text/text.vue +0 -67
  100. package/uni-components/chat-control/text-with-at/text-with-at.vue +0 -51
  101. package/uni-components/chat-control/transfer/red-transfer.svg +0 -1
  102. package/uni-components/chat-control/transfer/transfer.vue +0 -80
  103. package/uni-components/chat-control/unkonw/unkonw.vue +0 -37
  104. package/uni-components/chat-control/url/icons/file-excel-line.svg +0 -1
  105. package/uni-components/chat-control/url/icons/file-info-line.svg +0 -1
  106. package/uni-components/chat-control/url/icons/file-music-line.svg +0 -1
  107. package/uni-components/chat-control/url/icons/file-pdf-line.svg +0 -1
  108. package/uni-components/chat-control/url/icons/file-ppt-line.svg +0 -1
  109. package/uni-components/chat-control/url/icons/file-settings-line.svg +0 -1
  110. package/uni-components/chat-control/url/icons/file-text-line.svg +0 -1
  111. package/uni-components/chat-control/url/icons/file-unknow-line.svg +0 -1
  112. package/uni-components/chat-control/url/icons/file-word-line.svg +0 -1
  113. package/uni-components/chat-control/url/icons/file-zip-line.svg +0 -1
  114. package/uni-components/chat-control/url/icons/index.js +0 -24
  115. package/uni-components/chat-control/url/miniprogram.svg +0 -1
  116. package/uni-components/chat-control/url/url-miniprogram.vue +0 -116
  117. package/uni-components/chat-control/url/url.vue +0 -306
  118. package/uni-components/chat-control/url-new/icons/file-excel-line.svg +0 -1
  119. package/uni-components/chat-control/url-new/icons/file-info-line.svg +0 -1
  120. package/uni-components/chat-control/url-new/icons/file-music-line.svg +0 -1
  121. package/uni-components/chat-control/url-new/icons/file-pdf-line.svg +0 -1
  122. package/uni-components/chat-control/url-new/icons/file-ppt-line.svg +0 -1
  123. package/uni-components/chat-control/url-new/icons/file-settings-line.svg +0 -1
  124. package/uni-components/chat-control/url-new/icons/file-text-line.svg +0 -1
  125. package/uni-components/chat-control/url-new/icons/file-unknow-line.svg +0 -1
  126. package/uni-components/chat-control/url-new/icons/file-word-line.svg +0 -1
  127. package/uni-components/chat-control/url-new/icons/file-zip-line.svg +0 -1
  128. package/uni-components/chat-control/url-new/icons/index.js +0 -24
  129. package/uni-components/chat-control/url-new/url-new.vue +0 -110
  130. package/uni-components/chat-control/utils.js +0 -12
  131. package/uni-components/chat-control/video/video.vue +0 -156
  132. package/uni-components/chat-control/voice/voice.vue +0 -166
  133. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-collect.vue +0 -84
  134. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-system.vue +0 -28
  135. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet.vue +0 -85
  136. package/uni-components/chat-editor/chat-editor-func/chat-editor-func.vue +0 -157
  137. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at-panel.vue +0 -158
  138. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at.vue +0 -61
  139. package/uni-components/chat-editor/chat-editor-func-button/chat-editor-func-button.vue +0 -58
  140. package/uni-components/chat-editor/chat-editor-func-file/chat-editor-func-file.vue +0 -54
  141. package/uni-components/chat-editor/chat-editor-func-image/chat-editor-func-image.vue +0 -42
  142. package/uni-components/chat-editor/chat-editor-func-video/chat-editor-func-video.vue +0 -42
  143. package/uni-components/chat-editor/chat-editor-func-voice/chat-editor-func-voice.vue +0 -25
  144. package/uni-components/chat-editor/chat-editor-message-send/chat-editor-message-send.vue +0 -158
  145. package/uni-components/chat-editor/chat-editor-quote/chat-editor-quote.vue +0 -75
  146. package/uni-components/chat-editor/chat-editor.vue +0 -257
  147. package/uni-components/chat-editor/index.js +0 -10
  148. package/uni-components/chat-editor/util.js +0 -65
  149. package/uni-components/chat-panel/chat-panel-chats-box.vue +0 -238
  150. package/uni-components/chat-panel/chat-panel-chats-forward/chat-panel-chats-forward.vue +0 -273
  151. package/uni-components/chat-panel/chat-panel-chats-item.vue +0 -578
  152. package/uni-components/chat-panel/chat-panel-chats-status/chat-panel-chats-status.vue +0 -71
  153. package/uni-components/chat-panel/chat-panel-chats.vue +0 -368
  154. package/uni-components/chat-panel/chat-panel.vue +0 -227
  155. package/uni-components/contacts-group-select/contacts-group-select-item.vue +0 -85
  156. package/uni-components/contacts-group-select/contacts-group-select-panel.vue +0 -119
  157. package/uni-components/contacts-group-select/contacts-group-select.vue +0 -150
@@ -1,123 +0,0 @@
1
- <template>
2
- <view class="bi-chat-control-company-card" :class="['bi-chat-control-company-card--' + type]">
3
- <div class="bi-chat-control-company-card__main">
4
- <div class="bi-chat-control-company-card__avatar">
5
- <bi-avatar :src="avatar"></bi-avatar>
6
- </div>
7
- <div class="bi-chat-control-company-card__fields">
8
- <div class="bi-chat-control-company-card__title">{{name}}</div>
9
- <div class="bi-chat-control-company-card__other">
10
- <view
11
- v-if="icon"
12
- class="bi-chat-control-company-card__icon"
13
- :style="{'background-image': `url(${icon})`}"
14
- ></view>
15
- <view class="bi-chat-control-company-card__name">
16
- {{description}}
17
- </view>
18
- </div>
19
- </div>
20
- </div>
21
- <div class="bi-chat-control-company-card__foot">
22
- <span class="bi-chat-control-company-card__category">企业微信名片</span>
23
- </div>
24
- </view>
25
- </template>
26
- <script>
27
- import BiAvatar from '@aochuang/common/uni-components/avatar/avatar.vue'
28
- import { toJson } from '../../../utils/data'
29
-
30
- export default {
31
- name: 'AcChatControlCompanyCard',
32
- components: {
33
- BiAvatar
34
- },
35
- props: {
36
- type: {
37
- type: String,
38
- default: 'default',
39
- validator (value) {
40
- return ['default', 'thumb'].includes(value)
41
- }
42
- },
43
- data: {
44
- type: String
45
- }
46
- },
47
- computed: {
48
- content () {
49
- return toJson(this.data)
50
- },
51
- description () {
52
- return this.content.openimdesc
53
- },
54
- icon () {
55
- return this.content.openimdescicon
56
- },
57
- name () {
58
- return this.content.nickname
59
- },
60
- avatar () {
61
- return this.content.bigheadimgurl || this.content.smallheadimgurl
62
- }
63
- }
64
- }
65
- </script>
66
- <style type="less">
67
- .bi-chat-control-company-card--thumb {
68
- &.bi-chat-control-company-card{
69
- width: 100%;
70
- border: 1px solid #eee;
71
- border-radius: 3px;
72
- box-sizing: border-box;
73
- }
74
- }
75
- .bi-chat-control-company-card__main{
76
- display: flex;
77
- flex-direction: row;
78
- padding: 10px;
79
- width: 216px;
80
- max-width: 100%;
81
- }
82
- .bi-chat-control-company-card__fields{
83
- flex: 1;
84
- min-width: 0;
85
- padding-left: 10px;
86
- }
87
- .bi-chat-control-company-card__title{
88
- font-size: 14px;
89
- overflow: hidden;
90
- text-overflow: ellipsis;
91
- white-space: nowrap;
92
- margin-bottom: 4px;
93
- }
94
- .bi-chat-control-company-card__foot{
95
- border-top: 1px solid #eee;
96
- height: 24px;
97
- line-height: 24px;
98
- padding: 0 10px;
99
- box-sizing: content-box;
100
- }
101
- .bi-chat-control-company-card__category{
102
- color: #999;
103
- font-size: 12px;
104
- }
105
- .bi-chat-control-company-card__other{
106
- color: #888;
107
- font-size: 12px;
108
- overflow: hidden;
109
- text-overflow: ellipsis;
110
- white-space: nowrap;
111
- display: flex;
112
- flex-direction: row;
113
- align-items: center;
114
- }
115
- .bi-chat-control-company-card__icon{
116
- width: 14px;
117
- height: 14px;
118
- background-position: 50% 50%;
119
- background-repeat: no-repeat;
120
- background-size: cover;
121
- margin-right: 4px;
122
- }
123
- </style>
@@ -1,28 +0,0 @@
1
- export const MESSAGE_TYPE = {
2
- TEXT: 1,
3
- IMAGE: 3,
4
- VOICE: 34,
5
- SYS_VOICE: 64,
6
- SHARE_CARD: 42,
7
- COMPANY_CARD: 66,
8
- VIDEO: 43,
9
- CUSTOM_EXPRESSION: 47,
10
- LOCATION: 48,
11
- URL: 49,
12
- URLNew: 1090519089,
13
- CALLING: 50,
14
- REAL_TIME_POSITION: -1879048186,
15
- READ_ENVELOPES: 436207665,
16
- ACCOUNT_TRANSFER: 419430449,
17
- SYSTEM: 10000,
18
- SYSTEM_BATCH_MESSAGE: 10002,
19
- JX_SYS_TEXT: 90000,
20
- MEMBER_CHANGE: 570425393,
21
- SYSTEM_MONEY: -10001,
22
- TIME_DIVIDER: -12346789,
23
- TEXT_WITH_AT: 90001,
24
- QUOTE_MESSAGE: 822083633,
25
- CHANNEL_VIDEO: 754974769,
26
- CHANNEL_VIDEO_CARD: 771751985, // 视频号名片
27
- CHANNEL_VIDEO_LIVE: 973078577 // 视频号直播
28
- }
@@ -1,41 +0,0 @@
1
- <template>
2
- <view class="bi-chat-control-expression">
3
- <image class="bi-chat-control-expression__control" mode="widthFix" :src="innerSrc" @click="handleImageClick"></image>
4
- </view>
5
- </template>
6
-
7
- <script>
8
- import { formatOssPath } from '@aochuang/common/utils/oss'
9
-
10
- export default {
11
- name: 'BiChatControlExpression',
12
- props: {
13
- data: {
14
- type: String
15
- }
16
- },
17
- computed: {
18
- innerSrc () {
19
- return formatOssPath(this.data)
20
- }
21
- },
22
- methods: {
23
- handleImageClick () {
24
- if (!this.data) {
25
- return
26
- }
27
- uni.previewImage({
28
- urls: [this.data]
29
- })
30
- }
31
- }
32
- }
33
- </script>
34
-
35
- <style lang="less">
36
- .bi-chat-control-expression__control{
37
- max-width: 140px;
38
- width: 140px;
39
- height: auto;
40
- }
41
- </style>
@@ -1,68 +0,0 @@
1
- <template>
2
- <view class="bi-chat-control-image" :class="['bi-chat-control-image--' + type]">
3
- <image class="bi-chat-control-image__control" mode="widthFix" :src="innerSrc" @click="handleImageClick"></image>
4
- </view>
5
- </template>
6
-
7
- <script>
8
- import { formatOssPath } from '@aochuang/common/utils/oss'
9
-
10
- export default {
11
- name: 'BiChatControlImage',
12
- props: {
13
- data: {
14
- type: String
15
- },
16
- type: {
17
- type: String,
18
- default: 'default',
19
- validator (value) {
20
- return ['default', 'quote', 'thumb'].includes(value)
21
- }
22
- }
23
- },
24
- computed: {
25
- innerSrc () {
26
- return formatOssPath(this.data)
27
- }
28
- },
29
- methods: {
30
- handleImageClick () {
31
- if (!this.data) {
32
- return
33
- }
34
- uni.previewImage({
35
- urls: [this.data]
36
- })
37
- }
38
- }
39
- }
40
- </script>
41
-
42
- <style lang="less">
43
- .bi-chat-control-image--default {
44
- .bi-chat-control-image__control{
45
- max-width: 180px;
46
- width: 180px;
47
- }
48
- }
49
- .bi-chat-control-image--thumb {
50
- .bi-chat-control-image__control{
51
- max-width: 100%;
52
- max-height: 120px;
53
- object-fit: cover;
54
- background-color: #f8f8f8;
55
- /deep/ div {
56
- background-position: 50% 50%;
57
- background-size: contain!important;
58
- }
59
- /deep/ img {
60
- object-fit: cover;
61
- }
62
- }
63
- }
64
- .bi-chat-control-image__control{
65
- height: auto;
66
- vertical-align: top;
67
- }
68
- </style>
@@ -1,89 +0,0 @@
1
- import { toJson } from '../../utils/data'
2
- import { formatSystemMessage } from './utils'
3
- import * as CONST from './const'
4
-
5
- export const MESSAGE_TYPE = CONST.MESSAGE_TYPE
6
-
7
- /**
8
- * 格式化为短消息
9
- */
10
- export function formatShortMessage (msgType, msgContent) {
11
- let shortMessage = msgContent
12
- switch (msgType) {
13
- case MESSAGE_TYPE.TEXT:
14
- shortMessage = msgContent
15
- break
16
- case MESSAGE_TYPE.TEXT_WITH_AT:
17
- let {atId, content, text} = toJson(msgContent) || {}
18
- shortMessage = text
19
- break
20
- case MESSAGE_TYPE.IMAGE:
21
- shortMessage = '[图片消息]'
22
- break
23
- case MESSAGE_TYPE.VIDEO:
24
- shortMessage = '[视频消息]'
25
- break
26
- case MESSAGE_TYPE.CUSTOM_EXPRESSION:
27
- shortMessage = '[自定义表情消息]'
28
- break
29
- case MESSAGE_TYPE.VOICE:
30
- shortMessage = '[语音消息]'
31
- break
32
- case MESSAGE_TYPE.JX_SYS_TEXT:
33
- case MESSAGE_TYPE.MEMBER_CHANGE:
34
- case MESSAGE_TYPE.SYSTEM_MONEY:
35
- shortMessage = '[系统消息]'
36
- break
37
- case MESSAGE_TYPE.SYSTEM:
38
- shortMessage = formatSystemMessage(msgContent)
39
- break
40
- case MESSAGE_TYPE.URL:
41
- case MESSAGE_TYPE.URLNew:
42
- const jsonObj = toJson(msgContent)
43
- if (typeof jsonObj === 'object') {
44
- if(jsonObj.type === 'file') {
45
- shortMessage = '[文件消息]'
46
- } else if(jsonObj.type === 'link') {
47
- shortMessage = '[链接消息]'
48
- } else if(jsonObj.type === 'miniprogram') {
49
- shortMessage = '[小程序消息]'
50
- } else if (jsonObj.type === 'music') {
51
- shortMessage = '[音乐消息]'
52
- }
53
- } else {
54
- shortMessage = '[链接消息]'
55
- }
56
- break
57
- case MESSAGE_TYPE.READ_ENVELOPES:
58
- shortMessage = '[红包消息]'
59
- break
60
- case MESSAGE_TYPE.ACCOUNT_TRANSFER:
61
- shortMessage = '[转账消息]'
62
- break
63
- case MESSAGE_TYPE.COMPANY_CARD:
64
- case MESSAGE_TYPE.SHARE_CARD:
65
- shortMessage = '[名片消息]'
66
- break
67
- case MESSAGE_TYPE.LOCATION:
68
- shortMessage = '[位置消息]'
69
- break
70
- case MESSAGE_TYPE.QUOTE_MESSAGE:
71
- shortMessage = '[引用消息]'
72
- break
73
- case MESSAGE_TYPE.CHANNEL_VIDEO:
74
- shortMessage = '[视频号消息]'
75
- break
76
- case MESSAGE_TYPE.CHANNEL_VIDEO_CARD:
77
- shortMessage = '[视频号名片]'
78
- break
79
- case MESSAGE_TYPE.CHANNEL_VIDEO_LIVE:
80
- shortMessage = '[视频号直播]'
81
- break
82
- default:
83
- if (msgContent) {
84
- shortMessage = '[未知消息]'
85
- }
86
- break
87
- }
88
- return shortMessage
89
- }
@@ -1,110 +0,0 @@
1
- <template>
2
- <view class="bi-chat-control-location" :class="['bi-chat-control-location--' + type]">
3
- <template v-if="content">
4
- <template v-if="type === 'default'">
5
- <view class="bi-chat-control-location__main">
6
- <view class="bi-chat-control-location__head">
7
- <view class="bi-chat-control-location__title">{{address}}</view>
8
- </view>
9
- <view class="bi-chat-control-location__body">
10
- <view v-if="offline" class="bi-chat-control-location__offline">
11
- <view class="bi-chat-control-location__offline-label">腾讯地图经纬度坐标:</view>
12
- <view class="bi-chat-control-location__offline-value">{{longitude}}、{{latitude}}</view>
13
- <view class="bi-chat-control-location__offline-tips">提示:离线模式无法显示地图</view>
14
- </view>
15
- <bi-static-map v-else width="220" height="160" :lng="longitude" :lat="latitude"></bi-static-map>
16
- </view>
17
- </view>
18
- </template>
19
- <template v-else-if="type === 'quote'">
20
- <view class="bi-chat-control-location__main">
21
- <view class="bi-chat-control-location__title">{{address}}</view>
22
- <view class="bi-chat-control-location__map">
23
- <bi-static-map width="54" height="54" :lng="longitude" :lat="latitude"></bi-static-map>
24
- </view>
25
- </view>
26
- </template>
27
- </template>
28
- <template v-else>
29
- <view class="bi-chat-control-location__exception">
30
- 无法解析地理位置数据
31
- </view>
32
- </template>
33
- </view>
34
- </template>
35
-
36
- <script>
37
- import BiStaticMap from '@/common/static-map/static-map.vue'
38
- import { parseXml } from '@/utils/data'
39
-
40
-
41
- export default {
42
- name: 'BiChatControlLocation',
43
- components: {
44
- BiStaticMap
45
- },
46
- props: {
47
- type: {
48
- type: String,
49
- default: 'default',
50
- validator (value) {
51
- return ['default', 'quote'].includes(value)
52
- }
53
- },
54
- data: {
55
- type: String
56
- }
57
- },
58
- computed: {
59
- offline () {
60
- return false
61
- },
62
- content () {
63
- // 政企版有这种数据,需要去除一下
64
- // jojo4943:<br><msg><br> <location x="28.231337" y="113.041611" scale="15" label="湖南省长沙市开福区国润月湖郡7栋" maptype="roadmap" poiname="马栏山博创园" poiid="qqmap_1533871097335282393" buildingId="" floorName="" poiCategoryTips="房产小区:产业园区" poiBusinessHour="" poiPhone="" poiPriceTips="" isFromPoiList="true" adcode="430105" cityname="长沙市" fromusername="jojo4943" /><br></msg><br>
65
- const content = parseXml((this.data || '').replace(/^.*?(?=<)/, '').replace(/<br>/ig, '')) || {}
66
- if (!content || !content.msg || !content.msg.location) {
67
- return
68
- }
69
- return content
70
- },
71
- address () {
72
- return (this.content.msg.location.cityname || '') + (this.content.msg.location.label || '') + (this.content.msg.location.poiname || '')
73
- },
74
- latitude () {
75
- return Number(this.content.msg.location.x)
76
- },
77
- longitude () {
78
- return Number(this.content.msg.location.y)
79
- }
80
- }
81
- }
82
- </script>
83
-
84
- <style lang="less">
85
- .bi-chat-control-location--default {
86
- .bi-chat-control-location__main{
87
- width: 220px;
88
- }
89
- .bi-chat-control-location__title{
90
- padding: 12px;
91
- }
92
- .bi-chat-control-location__exception{
93
- color: #999;
94
- }
95
- }
96
- .bi-chat-control-location--quote {
97
- .bi-chat-control-location__title{
98
- display: -webkit-box;
99
- -webkit-box-orient: vertical;
100
- -webkit-line-clamp: 2; /* 限制为3行 */
101
- overflow: hidden;
102
- margin-right: 8px;
103
- }
104
- .bi-chat-control-location__main{
105
- display: flex;
106
- flex-direction: row;
107
- align-items: center;
108
- }
109
- }
110
- </style>
@@ -1,32 +0,0 @@
1
- <template>
2
- <view class="bi-chat-control-member-change">
3
- {{ content.content }}
4
- </view>
5
- </template>
6
-
7
- <script>
8
- import { toJson } from '../../../utils/data.js'
9
-
10
- export default {
11
- name: 'BiChatControlMemberChange',
12
- props: {
13
- data: {
14
- type: String
15
- }
16
- },
17
- computed: {
18
- content () {
19
- return toJson(this.data)
20
- }
21
- }
22
- }
23
- </script>
24
-
25
- <style lang="less">
26
- .bi-chat-control-member-change{
27
- color: #999;
28
- font-size: 12px;
29
- padding: 12px;
30
- text-align: center;
31
- }
32
- </style>
@@ -1,216 +0,0 @@
1
- <template>
2
- <view class="bi-chat-control-quote-message" :class="[dir ? 'is-dir-' + dir : null]" v-if="quoteMessageInfo">
3
- <view class="bi-chat-control-quote-message__inner">
4
- <view class="bi-chat-control-quote-message__arrow" :style="{'border-color': innerColor}"></view>
5
- <view class="bi-chat-control-quote-message__content" :style="{'background-color': innerColor}">
6
- <rich-text :nodes="showContent"></rich-text>
7
- </view>
8
- </view>
9
- <view class="bi-chat-control-quote-message__wrap">
10
- <template v-if="loading">
11
- <view class="bi-chat-control-quote-message__loading">
12
- <view>引用内容正在加载中...</view>
13
- </view>
14
- </template>
15
- <template v-else>
16
- <template v-if="errorMsg">
17
- <view class="bi-chat-control-quote-message__exception">{{ errorMsg }}</view>
18
- </template>
19
- <template v-else>
20
- <view class="bi-chat-control-quote-message__main">
21
- <view class="bi-chat-control-quote-message__user">{{ quoteMessageInfo.quoteSendName }}:</view>
22
- <view class="bi-chat-control-quote-message__msg">
23
- <template v-if="quoteMessageInfo && quoteMessageInfo.quoteSendType === 1">
24
- <rich-text v-if="quoteContent" :nodes="showQuoteContentText"></rich-text>
25
- </template>
26
- <template v-else>
27
- <template v-if="quoteMessageInfo && quoteMessageInfo.quoteSendType">
28
- <slot name="sub-message" :data="quoteMessage"></slot>
29
- </template>
30
- <template v-else>
31
- <rich-text v-if="quoteContent" :nodes="showQuoteContentText"></rich-text>
32
- </template>
33
- </template>
34
- </view>
35
- </view>
36
- </template>
37
- </template>
38
- </view>
39
- </view>
40
- </template>
41
- <script>
42
- import { toJson } from '../../../utils/data'
43
- import { html2Escape } from '../../../utils/string'
44
- import { getFriendMessageBySvrId, getRoomMessageBySvrId } from '@/apis/message'
45
- import { parseWechatEmoji } from '@aochuang/common/uni-common/wechat-emoji/index.js'
46
- import parseHtml from '@/utils/html-parser.js'
47
-
48
- export default {
49
- name: 'AcWechatChatPanelControlQuoteMessage',
50
- props: {
51
- quotable: {
52
- type: Boolean
53
- },
54
- dir: {
55
- type: String,
56
- validator (value) {
57
- if (!value) {
58
- return true
59
- }
60
- return ['left', 'right'].includes(value)
61
- }
62
- },
63
- data: {
64
- type: String
65
- },
66
- wechatAccountId: {
67
- type: String,
68
- required: true
69
- },
70
- wechatFriendId: {
71
- type: String
72
- },
73
- wechatChatroomId: {
74
- type: String
75
- }
76
- },
77
- data () {
78
- return {
79
- loading: false,
80
- quoteMessage: null,
81
- errorMsg: null
82
- }
83
- },
84
- created () {
85
- const {wechatAccountId, wechatFriendId, wechatChatroomId} = this
86
- const {msgSvrId, wechatTime, quoteSendType} = (this.quoteMessageInfo || {})
87
- if (quoteSendType !== 1) {
88
- if (wechatChatroomId) {
89
- this.loading = true
90
- getRoomMessageBySvrId({
91
- wechatAccountId,
92
- wechatChatroomId,
93
- msgSvrId,
94
- wechatTime
95
- }).then(({ data }) => {
96
- if (!data) {
97
- this.errorMsg = '未找到引用消息内容,请在手机中查看'
98
- } else {
99
- this.quoteMessage = data
100
- }
101
- this.$emit('load')
102
- }).finally(() => {
103
- this.loading = false
104
- })
105
- } else {
106
- this.loading = true
107
- getFriendMessageBySvrId({
108
- wechatAccountId,
109
- wechatFriendId,
110
- msgSvrId,
111
- wechatTime
112
- }).then(({ data }) => {
113
- if (!data) {
114
- this.errorMsg = '未找到引用消息内容,请在手机中查看'
115
- } else {
116
- this.quoteMessage = data
117
- }
118
- this.$emit('load')
119
- }).finally(() => {
120
- this.loading = false
121
- })
122
- }
123
- }
124
- },
125
- computed: {
126
- quoteMessageInfo () {
127
- const data = (this.data || '').replace(/^[\w-_@]+:\{/, '{')
128
- return toJson(data)
129
- },
130
- quoteContent () {
131
- if (!this.quoteMessageInfo.quoteSendContent) {
132
- return ''
133
- }
134
- return html2Escape(this.quoteMessageInfo.quoteSendContent)
135
- },
136
- showContent () {
137
- return parseHtml(parseWechatEmoji(this.quoteMessageInfo.content))
138
- },
139
- showQuoteContentText () {
140
- if (!this.quoteMessageInfo.quoteSendContent) {
141
- return ''
142
- }
143
- return parseHtml(parseWechatEmoji(this.quoteMessageInfo.quoteSendContent))
144
- },
145
- innerColor () {
146
- if (this.dir === 'right') {
147
- return '#c9e3fc'
148
- } else {
149
- return '#ffffff'
150
- }
151
- }
152
- }
153
- }
154
- </script>
155
- <style lang="less">
156
- .bi-chat-control-quote-message{
157
- .bi-chat-control-quote-message__inner{
158
- display: flex;
159
- flex-direction: row;
160
- }
161
- &.is-dir-left {
162
- .bi-chat-control-quote-message__arrow{
163
- left: -8px;
164
- transform: rotate(-90deg);
165
- }
166
- }
167
- &.is-dir-right {
168
- .bi-chat-control-quote-message__arrow{
169
- right: -8px;
170
- transform: rotate(90deg);
171
- }
172
- .bi-chat-control-quote-message__inner{
173
- justify-content: flex-end;
174
- }
175
- }
176
- }
177
- .bi-chat-control-quote-message__arrow{
178
- border: 6px solid transparent;
179
- border-left-color: transparent!important;
180
- border-right-color: transparent!important;
181
- border-top: 0;
182
- position: absolute;
183
- top: 14px;
184
- z-index: 10;
185
- }
186
- .bi-chat-control-quote-message__content{
187
- padding: 8px 12px;
188
- border-radius: 3px;
189
- }
190
- .bi-chat-control-quote-message__main{
191
- background-color: rgba(0,0,0,.06);
192
- border-radius: 3px;
193
- padding: 8px;
194
- margin-top: 6px;
195
- display: flex;
196
- flex-direction: column;
197
- }
198
- .bi-chat-control-quote-message__loading,
199
- .bi-chat-control-quote-message__exception {
200
- background-color: rgba(0,0,0,.06);
201
- border-radius: 3px;
202
- padding: 8px;
203
- margin-top: 6px;
204
- display: flex;
205
- flex-direction: row;
206
- }
207
- .bi-chat-control-quote-message__text{
208
- text-align: left;
209
- img {
210
- vertical-align: top;
211
- }
212
- }
213
- .bi-chat-control-quote-message__user{
214
- white-space: nowrap;
215
- }
216
- </style>