askbot-dragon 1.7.41-beta → 1.7.44-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 -55
  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 +1091 -1087
  23. package/src/components/AnswerVoice.vue +285 -285
  24. package/src/components/AskIFrame.vue +15 -15
  25. package/src/components/ConversationContainer.vue +10766 -10875
  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 -211
  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 -228
  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 -227
  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 -1334
  65. package/src/components/popup.vue +227 -227
  66. package/src/components/preview/docView.vue +107 -0
  67. package/src/components/preview/excelView.vue +177 -0
  68. package/src/components/preview/newPositionPreview.vue +351 -0
  69. package/src/components/preview/pdfView.vue +760 -0
  70. package/src/components/previewDoc.vue +251 -247
  71. package/src/components/previewPdf.vue +1069 -779
  72. package/src/components/receiverMessagePlatform.vue +65 -65
  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 -50
  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 +72 -0
  92. package/src/locales/en.json +73 -0
  93. package/src/locales/jp.json +73 -0
  94. package/src/main.js +75 -57
  95. package/vue.config.js +54 -54
@@ -1,32 +1,32 @@
1
- <template>
2
- <div>
3
- <el-image-viewer :zIndex="999999" :on-close="closeViewer" :url-list="urlList" />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- import ElementUI from 'element-ui';
9
- // import ElImageViewer from ElementUI.Image.components.ImageViewer;
10
-
11
- export default {
12
- name: "imgView",
13
- components: {
14
- ElImageViewer: ElementUI.Image.components.ImageViewer
15
- },
16
- data () {
17
- return {};
18
- },
19
- props: ["urlList"],
20
- methods: {
21
- closeViewer () {
22
- // 关闭组件后从父级dom销毁这个挂载
23
- if (this.$el.parentNode) {
24
- this.$el.parentNode.removeChild(this.$el);
25
- }
26
- this.$emit("closeViewer");
27
- },
28
- },
29
- };
30
- </script>
31
-
1
+ <template>
2
+ <div>
3
+ <el-image-viewer :zIndex="999999" :on-close="closeViewer" :url-list="urlList" />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import ElementUI from 'element-ui';
9
+ // import ElImageViewer from ElementUI.Image.components.ImageViewer;
10
+
11
+ export default {
12
+ name: "imgView",
13
+ components: {
14
+ ElImageViewer: ElementUI.Image.components.ImageViewer
15
+ },
16
+ data () {
17
+ return {};
18
+ },
19
+ props: ["urlList"],
20
+ methods: {
21
+ closeViewer () {
22
+ // 关闭组件后从父级dom销毁这个挂载
23
+ if (this.$el.parentNode) {
24
+ this.$el.parentNode.removeChild(this.$el);
25
+ }
26
+ this.$emit("closeViewer");
27
+ },
28
+ },
29
+ };
30
+ </script>
31
+
32
32
  <style scoped></style>
@@ -1,228 +1,232 @@
1
- <template>
2
- <div class="intelligentSummary" :class="tagIds.length != 0 ? 'float_intelligentSummary' : ''" id="intelligentSummary">
3
- <div class="summaryHeader">
4
- <div class="left">
5
- <i class="iconfont guoran-tongyichicun-write-29-jiqiren"></i>
6
- <span>智能摘要</span>
7
- </div>
8
- <div class="right">
9
- <div class="regenerationBtn" @click="regeneration">
10
- <template v-if="!isLoading">重新生成</template>
11
- <template v-else>
12
- <img
13
- height="20px"
14
- width="20px"
15
- src="../assets/image/loading.gif"
16
- alt
17
- srcset
18
- style="margin-right: 6px"
19
- />
20
- <span>生成中</span>
21
- </template>
22
- </div>
23
- <i class="iconfont guoran-tongyichicun-shouqi" @click="closeSummary"></i>
24
- </div>
25
- </div>
26
- <div class="summaryContent">
27
- <span>{{ typedContent }}</span>
28
- </div>
29
- <div class="intelligentBottom" v-if="recommendQuestions.length > 0">
30
- <div class="intelligentQues"
31
- v-for="(item,index) in recommendQuestions"
32
- :key="index"
33
- @click="recommendQues(item)"
34
- >
35
- {{ item }}
36
- </div>
37
- </div>
38
- </div>
39
- </template>
40
-
41
- <script>
42
- export default {
43
- name: "intelligentSummary",
44
- data(){
45
- return{
46
- summary:"",
47
- recommendQuestions:[],
48
- isLoading:false,
49
- typedContent:"",
50
- typingSpeed:20
51
- }
52
- },
53
- props:{
54
- knowledgeId:{
55
- type:String
56
- },
57
- tagIds:{
58
- type:Array,
59
- default() {
60
- return []
61
- }
62
- }
63
- },
64
- methods:{
65
- getKnowledgeSummary() {
66
- let url = "/knowledge-api/knowledge/detail/" + this.knowledgeId;
67
- this.typedContent = "";
68
- this.summary = "";
69
- this.$http.get(url).then(res => {
70
- console.log('res',res)
71
- if (res.data.data){
72
- this.summary = res.data.data.summary;
73
- this.recommendQuestions = res.data.data.recommendQuestions ? res.data.data.recommendQuestions.splice(0,5) : [];
74
- if (!this.summary){
75
- this.regeneration();
76
- } else {
77
- this.typedContent = this.summary;
78
- }
79
- }
80
- this.$nextTick(() => {
81
- this.$emit('getSummarySuccess')
82
- })
83
- })
84
- },
85
- regeneration(){
86
- let url = "/knowledge-api/knowledge/analyze/summary";
87
- let obj = {
88
- "mainId": sessionStorage.getItem('_mainId') || localStorage.getItem('_mainId'),
89
- "userId": sessionStorage.getItem('_uid') || localStorage.getItem('_uid'),
90
- "knowledgeId": this.knowledgeId,
91
- "async": false
92
- }
93
- this.isLoading = true;
94
- this.typedContent = "";
95
- this.summary = "";
96
- this.$http.post(url,obj).then(res => {
97
- console.log('regeneration',res)
98
- if (res.data.data){
99
- this.summary = res.data.data.summary;
100
- this.recommendQuestions = res.data.data.recommendQuestions ? res.data.data.recommendQuestions.splice(0,5) : [];
101
- this.startTypingEffect();
102
- } else {
103
- this.$nextTick(() => {
104
- this.$emit('getSummarySuccess')
105
- })
106
- }
107
- this.isLoading = false;
108
- })
109
- },
110
- closeSummary(){
111
- this.$emit('closeSummary')
112
- },
113
- recommendQues(item){
114
- this.$emit('recommendQues',item,this.knowledgeId)
115
- },
116
- startTypingEffect() {
117
- let i = 0;
118
- const interval = setInterval(() => {
119
- if (i < this.summary.length) {
120
- this.typedContent += this.summary.charAt(i);
121
- i++;
122
- } else {
123
- clearInterval(interval);
124
- setTimeout(() => {
125
- this.$emit('getSummarySuccess')
126
- },240)
127
- }
128
- }, this.typingSpeed);
129
- },
130
- },
131
- mounted() {
132
- this.getKnowledgeSummary();
133
- }
134
- };
135
- </script>
136
-
137
- <style scoped lang="less">
138
- .intelligentSummary{
139
- background-color: #ffffff;
140
- border-radius: 20px;
141
- border: 1px solid #366AFF;
142
- margin-bottom: 20px;
143
- .summaryHeader{
144
- display: flex;
145
- align-items: center;
146
- justify-content: space-between;
147
- padding: 14px 16px;
148
- font-size: 14px;
149
- .left{
150
- //display: flex;
151
- //align-items: center;
152
- color: #366aff;
153
- i{
154
- padding-right: 6px;
155
- }
156
- }
157
- .right{
158
- display: flex;
159
- align-items: center;
160
- color: #366aff;
161
- .regenerationBtn{
162
- height: 26px;
163
- background: #E9EFFF;
164
- border-radius: 12px;
165
- color: #366AFF;
166
- display: flex;
167
- align-items: center;
168
- justify-content: center;
169
- cursor: pointer;
170
- padding: 0 10px;
171
- margin-right: 10px;
172
- font-size: 12px;
173
- }
174
- i{
175
- cursor: pointer;
176
- font-size: 14px;
177
- }
178
- }
179
- }
180
- .summaryContent{
181
- line-height: 26px;
182
- padding: 0 16px 16px 16px;
183
- font-size: 14px;
184
- text-align: left;
185
- }
186
- .intelligentBottom{
187
- background: #F9FAFD;
188
- padding: 0 20px;
189
- border-bottom-left-radius: 20px;
190
- border-bottom-right-radius: 20px;
191
- display: flex;
192
- align-items: center;
193
- flex-wrap: wrap;
194
- .intelligentQues{
195
- height: 26px;
196
- display: flex;
197
- align-items: center;
198
- justify-content: center;
199
- padding: 0 8px;
200
- background: #E5EBFF;
201
- color: #366AFF;
202
- border-radius: 10px;
203
- margin-right: 5px;
204
- margin-top: 5px;
205
- margin-bottom: 5px;
206
- font-size: 12px;
207
- cursor: pointer;
208
- white-space: nowrap;
209
- }
210
- }
211
- ::-webkit-scrollbar{
212
- background-color: transparent;
213
- height: 6px;
214
- }
215
- }
216
- .float_intelligentSummary {
217
- position: absolute;
218
- z-index: 999;
219
- top: 60px;
220
- left: 16px;
221
- width: calc(100% - 32px);
222
- box-shadow: 0 0 10px rgba(0,0,0,.12);
223
- .summaryContent {
224
- max-height: 30vh;
225
- overflow-y: auto;
226
- }
227
- }
1
+ <template>
2
+ <div class="intelligentSummary" :class="tagIds.length != 0 ? 'float_intelligentSummary' : ''" id="intelligentSummary">
3
+ <div class="summaryHeader">
4
+ <div class="left">
5
+ <i class="iconfont guoran-tongyichicun-write-29-jiqiren"></i>
6
+ <span>智能摘要</span>
7
+ </div>
8
+ <div class="right">
9
+ <div class="regenerationBtn" @click="regeneration">
10
+ <template v-if="!isLoading">重新生成</template>
11
+ <template v-else>
12
+ <img
13
+ height="20px"
14
+ width="20px"
15
+ src="../assets/image/loading.gif"
16
+ alt
17
+ srcset
18
+ style="margin-right: 6px"
19
+ />
20
+ <span>生成中</span>
21
+ </template>
22
+ </div>
23
+ <i class="iconfont guoran-tongyichicun-shouqi" @click="closeSummary"></i>
24
+ </div>
25
+ </div>
26
+ <div class="summaryContent">
27
+ <span>{{ typedContent }}</span>
28
+ </div>
29
+ <div class="intelligentBottom" v-if="recommendQuestions.length > 0 && !formKnowledgeManagement">
30
+ <div class="intelligentQues"
31
+ v-for="(item,index) in recommendQuestions"
32
+ :key="index"
33
+ @click="recommendQues(item)"
34
+ >
35
+ {{ item }}
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </template>
40
+
41
+ <script>
42
+ export default {
43
+ name: "intelligentSummary",
44
+ data(){
45
+ return{
46
+ summary:"",
47
+ recommendQuestions:[],
48
+ isLoading:false,
49
+ typedContent:"",
50
+ typingSpeed:20
51
+ }
52
+ },
53
+ props:{
54
+ knowledgeId:{
55
+ type:String
56
+ },
57
+ tagIds:{
58
+ type:Array,
59
+ default() {
60
+ return []
61
+ }
62
+ },
63
+ formKnowledgeManagement:{
64
+ type: Boolean,
65
+ default: false
66
+ }
67
+ },
68
+ methods:{
69
+ getKnowledgeSummary() {
70
+ let url = "/knowledge-api/knowledge/detail/" + this.knowledgeId;
71
+ this.typedContent = "";
72
+ this.summary = "";
73
+ this.$http.get(url).then(res => {
74
+ console.log('res',res)
75
+ if (res.data.data){
76
+ this.summary = res.data.data.summary;
77
+ this.recommendQuestions = res.data.data.recommendQuestions ? res.data.data.recommendQuestions.splice(0,5) : [];
78
+ if (!this.summary){
79
+ this.regeneration();
80
+ } else {
81
+ this.typedContent = this.summary;
82
+ }
83
+ }
84
+ this.$nextTick(() => {
85
+ this.$emit('getSummarySuccess')
86
+ })
87
+ })
88
+ },
89
+ regeneration(){
90
+ let url = "/knowledge-api/knowledge/analyze/summary";
91
+ let obj = {
92
+ "mainId": sessionStorage.getItem('_mainId') || localStorage.getItem('_mainId'),
93
+ "userId": sessionStorage.getItem('_uid') || localStorage.getItem('_uid'),
94
+ "knowledgeId": this.knowledgeId,
95
+ "async": false
96
+ }
97
+ this.isLoading = true;
98
+ this.typedContent = "";
99
+ this.summary = "";
100
+ this.$http.post(url,obj).then(res => {
101
+ console.log('regeneration',res)
102
+ if (res.data.data){
103
+ this.summary = res.data.data.summary;
104
+ this.recommendQuestions = res.data.data.recommendQuestions ? res.data.data.recommendQuestions.splice(0,5) : [];
105
+ this.startTypingEffect();
106
+ } else {
107
+ this.$nextTick(() => {
108
+ this.$emit('getSummarySuccess')
109
+ })
110
+ }
111
+ this.isLoading = false;
112
+ })
113
+ },
114
+ closeSummary(){
115
+ this.$emit('closeSummary')
116
+ },
117
+ recommendQues(item){
118
+ this.$emit('recommendQues',item,this.knowledgeId)
119
+ },
120
+ startTypingEffect() {
121
+ let i = 0;
122
+ const interval = setInterval(() => {
123
+ if (i < this.summary.length) {
124
+ this.typedContent += this.summary.charAt(i);
125
+ i++;
126
+ } else {
127
+ clearInterval(interval);
128
+ setTimeout(() => {
129
+ this.$emit('getSummarySuccess')
130
+ },240)
131
+ }
132
+ }, this.typingSpeed);
133
+ },
134
+ },
135
+ mounted() {
136
+ this.getKnowledgeSummary();
137
+ }
138
+ };
139
+ </script>
140
+
141
+ <style scoped lang="less">
142
+ .intelligentSummary{
143
+ background-color: #ffffff;
144
+ border-radius: 20px;
145
+ border: 1px solid #366AFF;
146
+ margin-bottom: 20px;
147
+ .summaryHeader{
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: space-between;
151
+ padding: 14px 16px;
152
+ font-size: 14px;
153
+ .left{
154
+ //display: flex;
155
+ //align-items: center;
156
+ color: #366aff;
157
+ i{
158
+ padding-right: 6px;
159
+ }
160
+ }
161
+ .right{
162
+ display: flex;
163
+ align-items: center;
164
+ color: #366aff;
165
+ .regenerationBtn{
166
+ height: 26px;
167
+ background: #E9EFFF;
168
+ border-radius: 12px;
169
+ color: #366AFF;
170
+ display: flex;
171
+ align-items: center;
172
+ justify-content: center;
173
+ cursor: pointer;
174
+ padding: 0 10px;
175
+ margin-right: 10px;
176
+ font-size: 12px;
177
+ }
178
+ i{
179
+ cursor: pointer;
180
+ font-size: 14px;
181
+ }
182
+ }
183
+ }
184
+ .summaryContent{
185
+ line-height: 26px;
186
+ padding: 0 16px 16px 16px;
187
+ font-size: 14px;
188
+ text-align: left;
189
+ }
190
+ .intelligentBottom{
191
+ background: #F9FAFD;
192
+ padding: 0 20px;
193
+ border-bottom-left-radius: 20px;
194
+ border-bottom-right-radius: 20px;
195
+ display: flex;
196
+ align-items: center;
197
+ flex-wrap: wrap;
198
+ .intelligentQues{
199
+ height: 26px;
200
+ display: flex;
201
+ align-items: center;
202
+ justify-content: center;
203
+ padding: 0 8px;
204
+ background: #E5EBFF;
205
+ color: #366AFF;
206
+ border-radius: 10px;
207
+ margin-right: 5px;
208
+ margin-top: 5px;
209
+ margin-bottom: 5px;
210
+ font-size: 12px;
211
+ cursor: pointer;
212
+ white-space: nowrap;
213
+ }
214
+ }
215
+ ::-webkit-scrollbar{
216
+ background-color: transparent;
217
+ height: 6px;
218
+ }
219
+ }
220
+ .float_intelligentSummary {
221
+ position: absolute;
222
+ z-index: 999;
223
+ top: 60px;
224
+ left: 16px;
225
+ width: calc(100% - 32px);
226
+ box-shadow: 0 0 10px rgba(0,0,0,.12);
227
+ .summaryContent {
228
+ max-height: 30vh;
229
+ overflow-y: auto;
230
+ }
231
+ }
228
232
  </style>