askbot-dragon 1.7.49-beta → 1.7.52-beta

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 (95) 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 -56
  5. package/public/index.html +73 -75
  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 +141 -117
  11. package/src/assets/js/Base64Util.js +22 -22
  12. package/src/assets/js/common.js +252 -252
  13. package/src/assets/js/hammer.js +100 -89
  14. package/src/assets/js/script.js +36 -36
  15. package/src/assets/less/common.css +6773 -6773
  16. package/src/assets/less/converSationContainer/common.less +199 -192
  17. package/src/assets/less/converSationContainer/converSatonContainer.less +493 -493
  18. package/src/assets/less/iconfont.css +37 -37
  19. package/src/assets/less/ticketMessage.less +294 -294
  20. package/src/components/ActionAlertIframe.vue +177 -154
  21. package/src/components/AiGuide.vue +438 -471
  22. package/src/components/AnswerDocknowledge.vue +1100 -1088
  23. package/src/components/AnswerVoice.vue +285 -285
  24. package/src/components/AskIFrame.vue +15 -15
  25. package/src/components/ConversationContainer.vue +10766 -10873
  26. package/src/components/FileType.vue +86 -86
  27. package/src/components/Message.vue +27 -27
  28. package/src/components/MyEditor.vue +342 -341
  29. package/src/components/QwFeedback.vue +301 -301
  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 +211 -213
  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 +162 -139
  38. package/src/components/assetDetails.vue +378 -378
  39. package/src/components/assetMessage.vue +228 -226
  40. package/src/components/associationIntention.vue +378 -374
  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 +3501 -3497
  48. package/src/components/imgView.vue +31 -31
  49. package/src/components/intelligentSummary.vue +231 -229
  50. package/src/components/kkview.vue +1138 -1138
  51. package/src/components/loadingProcess.vue +164 -164
  52. package/src/components/markDownText.vue +197 -197
  53. package/src/components/message/ActionAlertIframe.vue +112 -112
  54. package/src/components/message/ShopMessage.vue +164 -164
  55. package/src/components/message/TextMessage.vue +928 -924
  56. package/src/components/message/TicketMessage.vue +201 -201
  57. package/src/components/message/swiper/index.js +4 -4
  58. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  59. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  60. package/src/components/msgLoading.vue +231 -231
  61. package/src/components/myPopup.vue +70 -70
  62. package/src/components/newPdfPosition.vue +878 -0
  63. package/src/components/pagination.vue +129 -0
  64. package/src/components/pdfPosition.vue +1514 -1342
  65. package/src/components/popup.vue +227 -227
  66. package/src/components/preview/docView.vue +112 -0
  67. package/src/components/preview/excelView.vue +179 -0
  68. package/src/components/preview/newPositionPreview.vue +370 -0
  69. package/src/components/preview/pdfView.vue +824 -0
  70. package/src/components/previewDoc.vue +251 -247
  71. package/src/components/previewPdf.vue +1093 -774
  72. package/src/components/receiverMessagePlatform.vue +65 -66
  73. package/src/components/recommend.vue +80 -80
  74. package/src/components/selector/hOption.vue +20 -20
  75. package/src/components/selector/hSelector.vue +199 -199
  76. package/src/components/selector/hWrapper.vue +216 -216
  77. package/src/components/senderMessagePlatform.vue +50 -55
  78. package/src/components/source/BotMessage.vue +24 -24
  79. package/src/components/source/CustomMessage.vue +24 -24
  80. package/src/components/test.vue +260 -260
  81. package/src/components/tree.vue +307 -307
  82. package/src/components/utils/AliyunIssUtil.js +103 -103
  83. package/src/components/utils/ckeditor.js +185 -185
  84. package/src/components/utils/format_date.js +25 -25
  85. package/src/components/utils/index.js +6 -6
  86. package/src/components/utils/math_utils.js +29 -29
  87. package/src/components/voiceComponent.vue +119 -119
  88. package/src/components/welcomeKnowledgeFile.vue +344 -340
  89. package/src/components/welcomeLlmCard.vue +144 -140
  90. package/src/components/welcomeSuggest.vue +97 -97
  91. package/src/locales/cn.json +71 -61
  92. package/src/locales/en.json +73 -62
  93. package/src/locales/jp.json +73 -0
  94. package/src/main.js +75 -76
  95. 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 };