askbot-dragon 1.7.44-beta → 1.7.48-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 +75 -73
  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 +117 -141
  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 +89 -100
  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 +192 -199
  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 +154 -177
  21. package/src/components/AiGuide.vue +471 -438
  22. package/src/components/AnswerDocknowledge.vue +1088 -1091
  23. package/src/components/AnswerVoice.vue +285 -285
  24. package/src/components/AskIFrame.vue +15 -15
  25. package/src/components/ConversationContainer.vue +10873 -10766
  26. package/src/components/FileType.vue +86 -86
  27. package/src/components/Message.vue +27 -27
  28. package/src/components/MyEditor.vue +341 -342
  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 +139 -162
  38. package/src/components/assetDetails.vue +378 -378
  39. package/src/components/assetMessage.vue +226 -228
  40. package/src/components/associationIntention.vue +374 -378
  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 +3497 -3501
  48. package/src/components/imgView.vue +31 -31
  49. package/src/components/intelligentSummary.vue +229 -231
  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 +924 -928
  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/pdfPosition.vue +1342 -1514
  63. package/src/components/popup.vue +227 -227
  64. package/src/components/previewDoc.vue +247 -251
  65. package/src/components/previewPdf.vue +774 -1069
  66. package/src/components/receiverMessagePlatform.vue +66 -65
  67. package/src/components/recommend.vue +80 -80
  68. package/src/components/selector/hOption.vue +20 -20
  69. package/src/components/selector/hSelector.vue +199 -199
  70. package/src/components/selector/hWrapper.vue +216 -216
  71. package/src/components/senderMessagePlatform.vue +55 -50
  72. package/src/components/source/BotMessage.vue +24 -24
  73. package/src/components/source/CustomMessage.vue +24 -24
  74. package/src/components/test.vue +260 -260
  75. package/src/components/tree.vue +307 -307
  76. package/src/components/utils/AliyunIssUtil.js +103 -103
  77. package/src/components/utils/ckeditor.js +185 -185
  78. package/src/components/utils/format_date.js +25 -25
  79. package/src/components/utils/index.js +6 -6
  80. package/src/components/utils/math_utils.js +29 -29
  81. package/src/components/voiceComponent.vue +119 -119
  82. package/src/components/welcomeKnowledgeFile.vue +340 -344
  83. package/src/components/welcomeLlmCard.vue +140 -144
  84. package/src/components/welcomeSuggest.vue +97 -97
  85. package/src/locales/cn.json +61 -71
  86. package/src/locales/en.json +62 -73
  87. package/src/main.js +76 -75
  88. package/vue.config.js +54 -54
  89. package/src/components/newPdfPosition.vue +0 -878
  90. package/src/components/pagination.vue +0 -129
  91. package/src/components/preview/docView.vue +0 -107
  92. package/src/components/preview/excelView.vue +0 -177
  93. package/src/components/preview/newPositionPreview.vue +0 -351
  94. package/src/components/preview/pdfView.vue +0 -760
  95. package/src/locales/jp.json +0 -73
@@ -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,232 +1,230 @@
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
- }
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>{{ $t('dragonCommon.smartSummary') }}</span>
7
+ </div>
8
+ <div class="right">
9
+ <div class="regenerationBtn" @click="regeneration">
10
+ <template v-if="!isLoading">
11
+ {{ $t('dragonCommon.regenerate') }}
12
+ </template>
13
+ <template v-else>
14
+ <img
15
+ height="20px"
16
+ width="20px"
17
+ src="../assets/image/loading.gif"
18
+ alt
19
+ srcset
20
+ style="margin-right: 6px"
21
+ />
22
+ <span>{{ $t('dragonCommon.generating') }}</span>
23
+ </template>
24
+ </div>
25
+ <i class="iconfont guoran-tongyichicun-shouqi" @click="closeSummary"></i>
26
+ </div>
27
+ </div>
28
+ <div class="summaryContent">
29
+ <span>{{ typedContent }}</span>
30
+ </div>
31
+ <div class="intelligentBottom" v-if="recommendQuestions.length > 0">
32
+ <div class="intelligentQues"
33
+ v-for="(item, index) in recommendQuestions"
34
+ :key="index"
35
+ @click="recommendQues(item)"
36
+ >
37
+ {{ item }}
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </template>
42
+
43
+ <script>
44
+ export default {
45
+ name: "intelligentSummary",
46
+ data(){
47
+ return{
48
+ summary:"",
49
+ recommendQuestions:[],
50
+ isLoading:false,
51
+ typedContent:"",
52
+ typingSpeed:20
53
+ }
54
+ },
55
+ props:{
56
+ knowledgeId:{
57
+ type:String
58
+ },
59
+ tagIds:{
60
+ type:Array,
61
+ default() {
62
+ return []
63
+ }
64
+ }
65
+ },
66
+ methods:{
67
+ getKnowledgeSummary() {
68
+ let url = "/knowledge-api/knowledge/detail/" + this.knowledgeId;
69
+ this.typedContent = "";
70
+ this.summary = "";
71
+ this.$http.get(url).then(res => {
72
+ console.log('res',res)
73
+ if (res.data.data){
74
+ this.summary = res.data.data.summary;
75
+ this.recommendQuestions = res.data.data.recommendQuestions ? res.data.data.recommendQuestions.splice(0,5) : [];
76
+ if (!this.summary){
77
+ this.regeneration();
78
+ } else {
79
+ this.typedContent = this.summary;
80
+ }
81
+ }
82
+ this.$nextTick(() => {
83
+ this.$emit('getSummarySuccess')
84
+ })
85
+ })
86
+ },
87
+ regeneration(){
88
+ let url = "/knowledge-api/knowledge/analyze/summary";
89
+ let obj = {
90
+ "mainId": sessionStorage.getItem('_mainId') || localStorage.getItem('_mainId'),
91
+ "userId": sessionStorage.getItem('_uid') || localStorage.getItem('_uid'),
92
+ "knowledgeId": this.knowledgeId,
93
+ "async": false
94
+ }
95
+ this.isLoading = true;
96
+ this.typedContent = "";
97
+ this.summary = "";
98
+ this.$http.post(url,obj).then(res => {
99
+ console.log('regeneration',res)
100
+ if (res.data.data){
101
+ this.summary = res.data.data.summary;
102
+ this.recommendQuestions = res.data.data.recommendQuestions ? res.data.data.recommendQuestions.splice(0,5) : [];
103
+ this.startTypingEffect();
104
+ } else {
105
+ this.$nextTick(() => {
106
+ this.$emit('getSummarySuccess')
107
+ })
108
+ }
109
+ this.isLoading = false;
110
+ })
111
+ },
112
+ closeSummary(){
113
+ this.$emit('closeSummary')
114
+ },
115
+ recommendQues(item){
116
+ this.$emit('recommendQues',item,this.knowledgeId)
117
+ },
118
+ startTypingEffect() {
119
+ let i = 0;
120
+ const interval = setInterval(() => {
121
+ if (i < this.summary.length) {
122
+ this.typedContent += this.summary.charAt(i);
123
+ i++;
124
+ } else {
125
+ clearInterval(interval);
126
+ setTimeout(() => {
127
+ this.$emit('getSummarySuccess')
128
+ },240)
129
+ }
130
+ }, this.typingSpeed);
131
+ },
132
+ },
133
+ mounted() {
134
+ this.getKnowledgeSummary();
135
+ }
136
+ };
137
+ </script>
138
+
139
+ <style scoped lang="less">
140
+ .intelligentSummary{
141
+ background-color: #ffffff;
142
+ border-radius: 20px;
143
+ border: 1px solid #366AFF;
144
+ margin-bottom: 20px;
145
+ .summaryHeader{
146
+ display: flex;
147
+ align-items: center;
148
+ justify-content: space-between;
149
+ padding: 14px 16px;
150
+ font-size: 14px;
151
+ .left{
152
+ //display: flex;
153
+ //align-items: center;
154
+ color: #366aff;
155
+ i{
156
+ padding-right: 6px;
157
+ }
158
+ }
159
+ .right{
160
+ display: flex;
161
+ align-items: center;
162
+ color: #366aff;
163
+ .regenerationBtn{
164
+ height: 26px;
165
+ background: #E9EFFF;
166
+ border-radius: 12px;
167
+ color: #366AFF;
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: center;
171
+ cursor: pointer;
172
+ padding: 0 10px;
173
+ margin-right: 10px;
174
+ font-size: 12px;
175
+ }
176
+ i{
177
+ cursor: pointer;
178
+ font-size: 14px;
179
+ }
180
+ }
181
+ }
182
+ .summaryContent{
183
+ line-height: 26px;
184
+ padding: 0 16px 16px 16px;
185
+ font-size: 14px;
186
+ text-align: left;
187
+ }
188
+ .intelligentBottom{
189
+ background: #F9FAFD;
190
+ padding: 0 20px;
191
+ border-bottom-left-radius: 20px;
192
+ border-bottom-right-radius: 20px;
193
+ display: flex;
194
+ align-items: center;
195
+ flex-wrap: wrap;
196
+ .intelligentQues{
197
+ height: 26px;
198
+ display: flex;
199
+ align-items: center;
200
+ justify-content: center;
201
+ padding: 0 8px;
202
+ background: #E5EBFF;
203
+ color: #366AFF;
204
+ border-radius: 10px;
205
+ margin-right: 5px;
206
+ margin-top: 5px;
207
+ margin-bottom: 5px;
208
+ font-size: 12px;
209
+ cursor: pointer;
210
+ white-space: nowrap;
211
+ }
212
+ }
213
+ ::-webkit-scrollbar{
214
+ background-color: transparent;
215
+ height: 6px;
216
+ }
217
+ }
218
+ .float_intelligentSummary {
219
+ position: absolute;
220
+ z-index: 999;
221
+ top: 60px;
222
+ left: 16px;
223
+ width: calc(100% - 32px);
224
+ box-shadow: 0 0 10px rgba(0,0,0,.12);
225
+ .summaryContent {
226
+ max-height: 30vh;
227
+ overflow-y: auto;
228
+ }
229
+ }
232
230
  </style>