askbot-dragon 1.5.49 → 1.5.50

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 (82) hide show
  1. package/README.md +27 -27
  2. package/babel.config.js +6 -6
  3. package/dragon.iml +7 -7
  4. package/package.json +56 -55
  5. package/public/index.html +73 -72
  6. package/src/App.vue +31 -31
  7. package/src/api/index.js +1 -1
  8. package/src/api/mock.http +2 -2
  9. package/src/api/requestUrl.js +185 -185
  10. package/src/assets/js/AliyunlssUtil.js +92 -92
  11. package/src/assets/js/Base64Util.js +22 -22
  12. package/src/assets/js/common.js +75 -75
  13. package/src/assets/js/hammer.js +89 -89
  14. package/src/assets/js/obsBrowser.js +63 -0
  15. package/src/assets/js/script.js +36 -36
  16. package/src/assets/less/common.css +6773 -6773
  17. package/src/assets/less/converSationContainer/common.less +192 -192
  18. package/src/assets/less/converSationContainer/converSatonContainer.less +493 -493
  19. package/src/assets/less/iconfont.css +37 -37
  20. package/src/assets/less/ticketMessage.less +294 -294
  21. package/src/components/ActionAlertIframe.vue +154 -154
  22. package/src/components/AiGuide.vue +468 -468
  23. package/src/components/AnswerDocknowledge.vue +581 -556
  24. package/src/components/AnswerVoice.vue +285 -285
  25. package/src/components/AskIFrame.vue +15 -15
  26. package/src/components/ConversationContainer.vue +4969 -5038
  27. package/src/components/FileType.vue +86 -86
  28. package/src/components/Message.vue +27 -27
  29. package/src/components/MyEditor.vue +348 -346
  30. package/src/components/actionSatisfaction.vue +107 -107
  31. package/src/components/actionSendToBot.vue +62 -62
  32. package/src/components/answerDissatisfaction.vue +62 -62
  33. package/src/components/answerRadio.vue +132 -186
  34. package/src/components/ask-components/DissatisfactionOptions.vue +57 -57
  35. package/src/components/ask-components/Msgloading.vue +37 -37
  36. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  37. package/src/components/askVideo.vue +142 -139
  38. package/src/components/assetDetails.vue +370 -370
  39. package/src/components/assetMessage.vue +228 -228
  40. package/src/components/associationIntention.vue +349 -349
  41. package/src/components/attachmentPreview.vue +90 -90
  42. package/src/components/botActionSatisfactor.vue +68 -68
  43. package/src/components/chatContent.vue +513 -513
  44. package/src/components/feedBack.vue +136 -136
  45. package/src/components/fielListView.vue +351 -351
  46. package/src/components/file/AliyunOssComponents.vue +108 -108
  47. package/src/components/formTemplate.vue +3577 -3572
  48. package/src/components/kkview.vue +1138 -1138
  49. package/src/components/loadingProcess.vue +164 -164
  50. package/src/components/message/ActionAlertIframe.vue +112 -112
  51. package/src/components/message/ShopMessage.vue +164 -164
  52. package/src/components/message/TextMessage.vue +924 -924
  53. package/src/components/message/TicketMessage.vue +201 -201
  54. package/src/components/message/swiper/index.js +4 -4
  55. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  56. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  57. package/src/components/msgLoading.vue +231 -231
  58. package/src/components/myPopup.vue +70 -70
  59. package/src/components/pdfPosition.vue +1328 -1322
  60. package/src/components/popup.vue +227 -227
  61. package/src/components/previewDoc.vue +242 -242
  62. package/src/components/previewPdf.vue +353 -306
  63. package/src/components/receiverMessagePlatform.vue +65 -65
  64. package/src/components/recommend.vue +80 -80
  65. package/src/components/selector/hOption.vue +20 -20
  66. package/src/components/selector/hSelector.vue +199 -199
  67. package/src/components/selector/hWrapper.vue +216 -216
  68. package/src/components/senderMessagePlatform.vue +50 -50
  69. package/src/components/source/BotMessage.vue +24 -24
  70. package/src/components/source/CustomMessage.vue +24 -24
  71. package/src/components/test.vue +260 -260
  72. package/src/components/tree.vue +294 -294
  73. package/src/components/utils/AliyunIssUtil.js +81 -81
  74. package/src/components/utils/ckeditor.js +177 -174
  75. package/src/components/utils/format_date.js +25 -25
  76. package/src/components/utils/index.js +6 -6
  77. package/src/components/utils/math_utils.js +29 -29
  78. package/src/components/voiceComponent.vue +119 -119
  79. package/src/components/welcomeKnowledgeFile.vue +307 -270
  80. package/src/components/welcomeLlmCard.vue +134 -134
  81. package/src/main.js +57 -57
  82. package/vue.config.js +54 -54
@@ -1,202 +1,202 @@
1
- <template>
2
- <div class="media-body">
3
- <div class="ticketMessage">
4
- <ticket-swiper ref="swiper" :content="content" :type="type" @touchEnd="touchEnd">
5
- <template>
6
- <ticket-swiper-item v-for="(item, _index) in formatContent(content.cards)" :key="_index" :content="content">
7
- <template>
8
- <div class="ticketMessageContain">
9
- <div :class="{ isPhoneClass: isPhone === true, isCompayClass: isCompany === true }">
10
- <div :class="{ isIosClass: isIos === true, isAndroidClass: isAndroid === true }">
11
- <div class="htmlClass">
12
- <div v-for="(items, ind) in item.content.htmlList" :key="'Out_' + ind" class="html-item">
13
- <div class="img" v-if="items.type === 'IMAGE'">
14
- <img :src="items.src">
15
- </div>
16
- <div class="singleClass" v-if="items.type === 'SINGLE'">
17
- <div v-html="itemss" class="singleItem" v-for="(itemss, inde) in items.list" :key="'s_' + inde">
18
- </div>
19
- </div>
20
- <div class="doubleClass" v-if="items.type === 'DOUBLE' && item.version != 1">
21
- <div class="doubleItem" v-for="(itemss, index) in items.list" :key="'__' + index"
22
- v-html="itemss">
23
- </div>
24
- </div>
25
- <div class="updateDoubleClass" v-if="items.type === 'DOUBLE' && item.version == 1">
26
- <div class="doubleItem" :style="{ 'width': itemss.style.col / itemss.style.colums * 100 + '%' }"
27
- v-for="(itemss, index) in items.tampList" :key="'__D' + index" v-html="itemss.html">
28
- </div>
29
- <!-- <div class="doubleItem" v-for="(itemss,index) in items.tampList" :key="'__'+index">
30
- {{itemss.style.col/itemss.style.colums*100}}{{itemss.html}}
31
- </div> -->
32
- </div>
33
- <div class="tripleClass" v-if="items.type === 'TRIPLE'">
34
- <div v-html="itemss" class="tripleItem" v-for="(itemss, index) in items.list"
35
- :key="'__t_' + index">
36
- </div>
37
- </div>
38
- <div class="quadrupleClass" v-if="items.type === 'QUADRUPLE'">
39
- <div v-html="itemss" class="quadrupleItem" v-for="(itemss, index) in items.list"
40
- :key="'_q__' + index"></div>
41
- </div>
42
- </div>
43
- </div>
44
- <div class="button-list">
45
- <div v-for="(items, index) in item.content.buttonList" :key="'____' + index" class="button-item">
46
- <div @click="btnClick(items)" class="buttonClassItem">
47
- <span class="btn-name">{{ items.name }}</span>
48
- </div>
49
- </div>
50
- </div>
51
- </div>
52
- </div>
53
- </div>
54
- </template>
55
- </ticket-swiper-item>
56
- </template>
57
- </ticket-swiper>
58
- </div>
59
- </div>
60
- </template>
61
- <script>
62
- import ticketSwiper from "./swiper/ticketSwiper";
63
- import ticketSwiperItem from "./swiper/ticketSwiperItem";
64
- export default {
65
- name: "TicketMessage",
66
- props: {
67
- content: {
68
- type: Object,
69
- default() {
70
- return {}
71
- }
72
- },
73
- type: {
74
- type: String,
75
- default: ''
76
- }
77
- },
78
- components: {
79
- ticketSwiperItem,
80
- ticketSwiper
81
- },
82
- data() {
83
- return {
84
- device: 'PC',
85
- slideWidth: '',
86
- swiperStyle: {},
87
- currIndex: 1,
88
- distance: 0,
89
- isAndroid: false,
90
- isIos: false,
91
- isPhone: false,
92
- isCompany: false,
93
- swiper: false,
94
- text: [],
95
- textarea: [],
96
- onoff: true
97
- }
98
- },
99
- created() {
100
- this.isIosOrIsAndroid()
101
- this.isMobile()
102
- },
103
- mounted() {
104
- // console.log(JSON.stringify(this.content.cards));
105
- // this.content.cards.forEach(element => {
106
- // if (element.version == 1) {
107
- // element.content.htmlList.forEach((item) => {
108
- // item.tampList = [];
109
- // item.list.forEach((cell, cellIndex) => {
110
- // let tampCell = {
111
- // html: cell,
112
- // style: item.style[cellIndex]
113
- // }
114
- // item.tampList.push(tampCell);
115
- // })
116
- // })
117
- // }
118
- // });
119
- // this.content.cards = [...this.content.cards];
120
- // console.log(this.content.cards);
121
- },
122
- methods: {
123
- formatContent(arr) {
124
- arr.forEach(element => {
125
- if (element.version == 1) {
126
- element.content.htmlList.forEach((item) => {
127
- item.tampList = [];
128
- item.list && item.list.forEach((cell, cellIndex) => {
129
- let tampCell = {
130
- html: cell,
131
- style: item.style[cellIndex]
132
- }
133
- item.tampList.push(tampCell);
134
- })
135
- })
136
- }
137
- });
138
- return arr;
139
- },
140
- SwiperImgLoad() {
141
- if (!this.loadCheck) {
142
- this.$emit("SwiperImgLoadEvent");
143
- this.loadCheck = true;
144
- }
145
- },
146
- slideLoadOn() {
147
- this.$refs.swiper.slideOn();
148
- },
149
- btnClick(items) {
150
- items.apiKey = this.content.apiKey
151
- let that = this;
152
- if (that.onoff) {
153
- that.onoff = false;
154
- console.debug('card_template', items)
155
- this.$emit('btnClick', items, this.content.apiKey)
156
- setTimeout(function () {
157
- that.onoff = true;
158
- }, 600)
159
- } else {
160
- //如果一直走else分支可能是你没有在页面的data下面挂载onoff:true,不然一直都会走else
161
- console.debug("请稍后点击")
162
- }
163
- },
164
-
165
- isIosOrIsAndroid() {
166
- var u = navigator.userAgent;
167
- var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
168
- var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
169
- if (isAndroid) {
170
- this.isAndroid = true
171
- }
172
- if (isiOS) {
173
- this.isIos = true
174
- }
175
- },
176
- isMobile() {
177
- let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
178
- if (flag) {
179
- this.isPhone = true
180
- }
181
- else {
182
- this.isCompany = true
183
- }
184
- },
185
- touchMove() {
186
-
187
- },
188
- touchEnd(index) {
189
- this.$emit('touchEnd', index)
190
- }
191
-
192
- },
193
- }
194
- </script>
195
-
196
- <style lang="less">
197
- @import "../../assets/less/ticketMessage";
198
-
199
- a {
200
- text-decoration: none;
201
- }
1
+ <template>
2
+ <div class="media-body">
3
+ <div class="ticketMessage">
4
+ <ticket-swiper ref="swiper" :content="content" :type="type" @touchEnd="touchEnd">
5
+ <template>
6
+ <ticket-swiper-item v-for="(item, _index) in formatContent(content.cards)" :key="_index" :content="content">
7
+ <template>
8
+ <div class="ticketMessageContain">
9
+ <div :class="{ isPhoneClass: isPhone === true, isCompayClass: isCompany === true }">
10
+ <div :class="{ isIosClass: isIos === true, isAndroidClass: isAndroid === true }">
11
+ <div class="htmlClass">
12
+ <div v-for="(items, ind) in item.content.htmlList" :key="'Out_' + ind" class="html-item">
13
+ <div class="img" v-if="items.type === 'IMAGE'">
14
+ <img :src="items.src">
15
+ </div>
16
+ <div class="singleClass" v-if="items.type === 'SINGLE'">
17
+ <div v-html="itemss" class="singleItem" v-for="(itemss, inde) in items.list" :key="'s_' + inde">
18
+ </div>
19
+ </div>
20
+ <div class="doubleClass" v-if="items.type === 'DOUBLE' && item.version != 1">
21
+ <div class="doubleItem" v-for="(itemss, index) in items.list" :key="'__' + index"
22
+ v-html="itemss">
23
+ </div>
24
+ </div>
25
+ <div class="updateDoubleClass" v-if="items.type === 'DOUBLE' && item.version == 1">
26
+ <div class="doubleItem" :style="{ 'width': itemss.style.col / itemss.style.colums * 100 + '%' }"
27
+ v-for="(itemss, index) in items.tampList" :key="'__D' + index" v-html="itemss.html">
28
+ </div>
29
+ <!-- <div class="doubleItem" v-for="(itemss,index) in items.tampList" :key="'__'+index">
30
+ {{itemss.style.col/itemss.style.colums*100}}{{itemss.html}}
31
+ </div> -->
32
+ </div>
33
+ <div class="tripleClass" v-if="items.type === 'TRIPLE'">
34
+ <div v-html="itemss" class="tripleItem" v-for="(itemss, index) in items.list"
35
+ :key="'__t_' + index">
36
+ </div>
37
+ </div>
38
+ <div class="quadrupleClass" v-if="items.type === 'QUADRUPLE'">
39
+ <div v-html="itemss" class="quadrupleItem" v-for="(itemss, index) in items.list"
40
+ :key="'_q__' + index"></div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ <div class="button-list">
45
+ <div v-for="(items, index) in item.content.buttonList" :key="'____' + index" class="button-item">
46
+ <div @click="btnClick(items)" class="buttonClassItem">
47
+ <span class="btn-name">{{ items.name }}</span>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </template>
55
+ </ticket-swiper-item>
56
+ </template>
57
+ </ticket-swiper>
58
+ </div>
59
+ </div>
60
+ </template>
61
+ <script>
62
+ import ticketSwiper from "./swiper/ticketSwiper";
63
+ import ticketSwiperItem from "./swiper/ticketSwiperItem";
64
+ export default {
65
+ name: "TicketMessage",
66
+ props: {
67
+ content: {
68
+ type: Object,
69
+ default() {
70
+ return {}
71
+ }
72
+ },
73
+ type: {
74
+ type: String,
75
+ default: ''
76
+ }
77
+ },
78
+ components: {
79
+ ticketSwiperItem,
80
+ ticketSwiper
81
+ },
82
+ data() {
83
+ return {
84
+ device: 'PC',
85
+ slideWidth: '',
86
+ swiperStyle: {},
87
+ currIndex: 1,
88
+ distance: 0,
89
+ isAndroid: false,
90
+ isIos: false,
91
+ isPhone: false,
92
+ isCompany: false,
93
+ swiper: false,
94
+ text: [],
95
+ textarea: [],
96
+ onoff: true
97
+ }
98
+ },
99
+ created() {
100
+ this.isIosOrIsAndroid()
101
+ this.isMobile()
102
+ },
103
+ mounted() {
104
+ // console.log(JSON.stringify(this.content.cards));
105
+ // this.content.cards.forEach(element => {
106
+ // if (element.version == 1) {
107
+ // element.content.htmlList.forEach((item) => {
108
+ // item.tampList = [];
109
+ // item.list.forEach((cell, cellIndex) => {
110
+ // let tampCell = {
111
+ // html: cell,
112
+ // style: item.style[cellIndex]
113
+ // }
114
+ // item.tampList.push(tampCell);
115
+ // })
116
+ // })
117
+ // }
118
+ // });
119
+ // this.content.cards = [...this.content.cards];
120
+ // console.log(this.content.cards);
121
+ },
122
+ methods: {
123
+ formatContent(arr) {
124
+ arr.forEach(element => {
125
+ if (element.version == 1) {
126
+ element.content.htmlList.forEach((item) => {
127
+ item.tampList = [];
128
+ item.list && item.list.forEach((cell, cellIndex) => {
129
+ let tampCell = {
130
+ html: cell,
131
+ style: item.style[cellIndex]
132
+ }
133
+ item.tampList.push(tampCell);
134
+ })
135
+ })
136
+ }
137
+ });
138
+ return arr;
139
+ },
140
+ SwiperImgLoad() {
141
+ if (!this.loadCheck) {
142
+ this.$emit("SwiperImgLoadEvent");
143
+ this.loadCheck = true;
144
+ }
145
+ },
146
+ slideLoadOn() {
147
+ this.$refs.swiper.slideOn();
148
+ },
149
+ btnClick(items) {
150
+ items.apiKey = this.content.apiKey
151
+ let that = this;
152
+ if (that.onoff) {
153
+ that.onoff = false;
154
+ console.debug('card_template', items)
155
+ this.$emit('btnClick', items, this.content.apiKey)
156
+ setTimeout(function () {
157
+ that.onoff = true;
158
+ }, 600)
159
+ } else {
160
+ //如果一直走else分支可能是你没有在页面的data下面挂载onoff:true,不然一直都会走else
161
+ console.debug("请稍后点击")
162
+ }
163
+ },
164
+
165
+ isIosOrIsAndroid() {
166
+ var u = navigator.userAgent;
167
+ var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
168
+ var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
169
+ if (isAndroid) {
170
+ this.isAndroid = true
171
+ }
172
+ if (isiOS) {
173
+ this.isIos = true
174
+ }
175
+ },
176
+ isMobile() {
177
+ let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
178
+ if (flag) {
179
+ this.isPhone = true
180
+ }
181
+ else {
182
+ this.isCompany = true
183
+ }
184
+ },
185
+ touchMove() {
186
+
187
+ },
188
+ touchEnd(index) {
189
+ this.$emit('touchEnd', index)
190
+ }
191
+
192
+ },
193
+ }
194
+ </script>
195
+
196
+ <style lang="less">
197
+ @import "../../assets/less/ticketMessage";
198
+
199
+ a {
200
+ text-decoration: none;
201
+ }
202
202
  </style>
@@ -1,4 +1,4 @@
1
- import Swiper from "./ticketSwiper";
2
- import SwiperItem from "./ticketSwiperItem";
3
-
4
- export { Swiper, SwiperItem };
1
+ import Swiper from "./ticketSwiper";
2
+ import SwiperItem from "./ticketSwiperItem";
3
+
4
+ export { Swiper, SwiperItem };