askbot-dragon 1.7.41-beta → 1.7.43-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 (35) hide show
  1. package/package.json +14 -13
  2. package/public/index.html +8 -10
  3. package/src/assets/js/AliyunlssUtil.js +49 -25
  4. package/src/assets/js/hammer.js +13 -2
  5. package/src/assets/less/converSationContainer/common.less +7 -0
  6. package/src/components/ActionAlertIframe.vue +24 -1
  7. package/src/components/AiGuide.vue +121 -154
  8. package/src/components/AnswerDocknowledge.vue +11 -7
  9. package/src/components/ConversationContainer.vue +99 -208
  10. package/src/components/MyEditor.vue +2 -1
  11. package/src/components/actionSatisfaction.vue +1 -1
  12. package/src/components/answerRadio.vue +1 -1
  13. package/src/components/askVideo.vue +23 -0
  14. package/src/components/associationIntention.vue +11 -7
  15. package/src/components/formTemplate.vue +54 -50
  16. package/src/components/intelligentSummary.vue +5 -1
  17. package/src/components/message/TextMessage.vue +5 -1
  18. package/src/components/message/swiper/ticketSwiper.vue +1 -1
  19. package/src/components/newPdfPosition.vue +878 -0
  20. package/src/components/pagination.vue +129 -0
  21. package/src/components/pdfPosition.vue +213 -33
  22. package/src/components/preview/docView.vue +107 -0
  23. package/src/components/preview/excelView.vue +177 -0
  24. package/src/components/preview/newPositionPreview.vue +338 -0
  25. package/src/components/preview/pdfView.vue +754 -0
  26. package/src/components/previewDoc.vue +4 -0
  27. package/src/components/previewPdf.vue +220 -127
  28. package/src/components/senderMessagePlatform.vue +4 -4
  29. package/src/components/utils/ckeditor.js +1 -1
  30. package/src/components/welcomeKnowledgeFile.vue +5 -1
  31. package/src/components/welcomeLlmCard.vue +5 -1
  32. package/src/locales/cn.json +72 -0
  33. package/src/locales/en.json +73 -0
  34. package/src/locales/jp.json +73 -0
  35. package/src/main.js +18 -0
@@ -70,6 +70,10 @@ export default {
70
70
  officePreviewType: {
71
71
  type: String,
72
72
  default: ''
73
+ },
74
+ language:{
75
+ type:String,
76
+ default:"cn"
73
77
  }
74
78
  },
75
79
  computed: {
@@ -5,8 +5,8 @@
5
5
  另外增加了在知识项目中预览当前文件的一些功能
6
6
  -->
7
7
  <template>
8
- <el-drawer title="我是标题" :visible.sync="drawer" :with-header="false" :append-to-body="true" :destroy-on-close="true"
9
- :modal="false" :direction="previewShowPopup ? 'btt' : 'rtl'" :size="previewShowPopup ? '90%' : '65%'"
8
+ <el-drawer :title="'我是标题'" :visible.sync="drawer" :with-header="false" :append-to-body="true" :destroy-on-close="true"
9
+ :modal="formKnowledgeManagement ? true : false" :direction="previewShowPopup ? 'btt' : 'rtl'" :size="previewShowPopup ? '90%' : '65%'"
10
10
  custom-class="pdf-preview-drawer" v-if="drawer">
11
11
  <!-- v-else-if="drawer" -->
12
12
  <div class="drawer-header" :class="isLiBang ? 'libang_head' : ''" v-if="!isPc">
@@ -32,7 +32,7 @@
32
32
  <div class="header_title">
33
33
  <div class="header_close">
34
34
  <span class="title_left">
35
- {{ title ? title : "查看详情" }}
35
+ {{ title ? title : '查看详情' }}
36
36
  </span>
37
37
  <section @click="close">
38
38
  <i class="iconfont guoran-shanchu"></i>
@@ -56,7 +56,7 @@
56
56
  下载
57
57
  </div>
58
58
  <div class="summaryBtn" :class="showSummary ? 'summaryActiveBtn' : ''" @click="summaryFun"
59
- v-if="isHasChat">
59
+ v-if="isHasChat || formKnowledgeManagement">
60
60
  <i class="iconfont guoran-tongyichicun-write-29-jiqiren"></i>
61
61
  <span>智能摘要</span>
62
62
  </div>
@@ -84,15 +84,20 @@
84
84
  </div>
85
85
  <div id="drawer_content_pre" :class="isLiBang && folderName ? 'libang_content_pre' : ''">
86
86
  <!-- :style="{marginTop:tagIds && tagIds.length != 0 && isPc ? '50px' : ''}" -->
87
- <intelligent-summary v-show="showSummary && isHasChat" :tagIds="tagIds" :knowledgeId="knowledgeId"
87
+ <intelligent-summary
88
+ v-show="showSummary && (isHasChat || formKnowledgeManagement) && fileType !== 'VIDEO' && fileType !== 'IMAGE'"
89
+ :tagIds="tagIds"
90
+ :knowledgeId="knowledgeId"
91
+ :formKnowledgeManagement="formKnowledgeManagement"
88
92
  @closeSummary="closeSummary" @recommendQues="recommendQues"
89
93
  @getSummarySuccess="getSummarySuccess"></intelligent-summary>
90
- <div class="pdf_positon" :style="pdfStyle" v-if="tagIds && tagIds.length != 0 && drawer">
94
+ <div class="pdf_positon" :style="pdfStyle" v-if="tagIds && tagIds.length != 0 && drawer && newVersion === false && newFileType !== 'PPT'">
91
95
  <pdfPosition :tagIds="tagIds" :isMessageRecord="isMessageRecord" :textWatermarkStr="textWatermarkStr">
92
96
  </pdfPosition>
93
97
  </div>
98
+ <new-position-preview ref="newPositionPreview" v-else-if="tagIds && tagIds.length!= 0 && newVersion && newFileType !== 'PPT'" :knowledgeId="knowledgeId" :tagIds="tagIds" :url="previewHref"></new-position-preview>
94
99
  <template v-else>
95
- <div v-if="fileType == 'VIDEO'" style="width: 100%;">
100
+ <div v-if="fileType == 'VIDEO'" style="width: 100%;height: 100%">
96
101
  <video :src="url" controls width="100%;" height="98%"></video>
97
102
  </div>
98
103
  <div v-else-if="fileType == 'HTML'" style="width: 100%;">
@@ -126,62 +131,67 @@ import { zoomElement } from '../assets/js/hammer'
126
131
  import IntelligentSummary from "./intelligentSummary";
127
132
  import { isMobile } from "../assets/js/common";
128
133
  import { Toast } from 'vant';
134
+ import NewPositionPreview from "./preview/newPositionPreview";
129
135
  export default {
130
136
  data () {
131
137
  return {
132
- previewShowPopup: false,
133
- fileText: '',
134
- fileType: "",
135
- isPc: false,
136
- drawer: false,
137
- tagIds: [],
138
- // '6454aa1a70573a6ead6f0f7d', '6454aa1a70573a6ead6f0f81',
139
- loading: true,
140
- previewKnowledgeId: "",
141
- showSummary: true,
142
- iframeHeight: "100%",
143
- isDownload: false,
144
- textWatermarkStr: "",
145
- copy:''
138
+ previewShowPopup: false,
139
+ fileText: '',
140
+ fileType: "",
141
+ isPc: false,
142
+ drawer: false,
143
+ tagIds: [],
144
+ // '6454aa1a70573a6ead6f0f7d', '6454aa1a70573a6ead6f0f81',
145
+ loading: true,
146
+ fileName:'',
147
+ previewKnowledgeId:"",
148
+ showSummary:true,
149
+ iframeHeight:"100%",
150
+ isDownload: false,
151
+ textWatermarkStr:"",
152
+ copy:'',
153
+ newVersion:'',
154
+ previewHref:"",
155
+ newFileType:""
146
156
  }
147
- },
148
- mounted () {
149
- window.addEventListener('message', this.handleIframeMessage, false);
150
- this.isPcFun();
151
- },
152
- props: {
153
- url: {
154
- type: String,
155
- required: true,
156
- },
157
- officePreviewType: {
158
- type: String,
159
- default: ''
160
- },
161
- isMessageRecord: {
162
- type: Boolean,
163
- default: false,
164
- },
165
- sourceFileType: {
166
- type: String,
167
- default: '',
168
- },
169
- title: {
170
- type: String,
171
- default: ''
172
- },
173
- isHasChat: {
174
- type: Boolean,
175
- default: false
176
- },
177
- knowledgeId: {
178
- type: String,
179
- default: '',
180
157
  },
181
- previewOssPath: {
182
- type: String,
183
- default: '',
158
+ mounted() {
159
+ window.addEventListener('message',this.handleIframeMessage,false);
160
+ this.isPcFun();
184
161
  },
162
+ props:{
163
+ url:{
164
+ type: String,
165
+ required: true,
166
+ },
167
+ officePreviewType:{
168
+ type: String,
169
+ default: ''
170
+ },
171
+ isMessageRecord:{
172
+ type: Boolean,
173
+ default:false,
174
+ },
175
+ sourceFileType:{
176
+ type: String,
177
+ default: '',
178
+ },
179
+ title: {
180
+ type: String,
181
+ default: ''
182
+ },
183
+ isHasChat:{
184
+ type:Boolean,
185
+ default:false
186
+ },
187
+ knowledgeId:{
188
+ type: String,
189
+ default: '',
190
+ },
191
+ previewOssPath:{
192
+ type: String,
193
+ default: '',
194
+ },
185
195
  folderName: {
186
196
  type: String,
187
197
  default: '',
@@ -193,8 +203,14 @@ export default {
193
203
  isLiBang: {
194
204
  type: Boolean,
195
205
  default: false
196
- }},
206
+ },
207
+ formKnowledgeManagement:{
208
+ type: Boolean,
209
+ default: false
210
+ }
211
+ },
197
212
  components: {
213
+ NewPositionPreview,
198
214
  IntelligentSummary,
199
215
  pdfPosition
200
216
  },
@@ -203,58 +219,71 @@ export default {
203
219
  if (value) {
204
220
  this.$emit('open')
205
221
  this.$nextTick(() => {
206
- zoomElement(document.getElementById('drawer_content_pre'))
222
+ if (this.tagIds && this.tagIds.length != 0){
223
+ zoomElement(document.getElementById('pdf_container_view'))
224
+ }
225
+ })
226
+ } else {
227
+ this.$emit('close')
228
+ }
229
+ setTimeout(() => {
230
+ let previewIframe = document.getElementsByClassName('preview_iframe')
231
+ Array.from(previewIframe).forEach(item =>{
232
+ item.onload = () =>{
233
+ console.debug('previewIframe 106',previewIframe,this.drawer)
234
+ item.style.backgroundImage = 'none'
235
+ }
236
+ })
207
237
  })
208
- } else {
209
- this.$emit('close')
210
- }
211
- },
212
- showSummary: {
213
- handler (val) {
214
- // if (!val){
215
- // this.$nextTick(() => {
216
- // let preCon = document.querySelector('.pdf_view');
217
- // if (preCon){
218
- // preCon.style.height = 'calc(100% - ' + 50 + 'px)'
219
- // }
220
- // })
221
- // } else {
222
- // this.getSummarySuccess();
223
- // }
224
- if (val) {
225
- this.getSummarySuccess();
238
+ },
239
+ showSummary:{
240
+ handler(val){
241
+ // if (!val){
242
+ // this.$nextTick(() => {
243
+ // let preCon = document.querySelector('.pdf_view');
244
+ // if (preCon){
245
+ // preCon.style.height = 'calc(100% - ' + 50 + 'px)'
246
+ // }
247
+ // })
248
+ // } else {
249
+ // this.getSummarySuccess();
250
+ // }
251
+ if(val) {
252
+ this.getSummarySuccess();
253
+ }
226
254
  }
227
- }
228
- },
229
- knowledgeId: {
230
- handler (val) {
231
- if (val) {
232
- this.getTextWatermark();
255
+ },
256
+ knowledgeId:{
257
+ handler(val){
258
+ if (val){
259
+ this.getTextWatermark();
260
+ }
233
261
  }
234
262
  }
235
- }
236
- },
237
- computed: {
238
- pdfStyle () {
239
- return {
240
- paddingTop: this.isPc ? '30px' : '0', // 30px 是 加上外层的 20 流出 50的上边距展示 放大缩小操作栏
241
- paddingBottom: this.tagIds > 1 ? '60px' : '0',
242
- height: '100%'
243
- }
244
263
  },
245
- previewUrl () {
246
- console.debug('VUE_APP_ENV', process.env.VUE_APP_ENV)
247
- let url = process.env.VUE_APP_ENV === 'production' ? 'https://kkfileview.askbot.cn/onlinePreview?url=' : 'https://test.open.askbot.cn/kkfileview/onlinePreview?url='
248
- // if(this.url != '') {
249
- // if(/[\u4E00-\u9FA5]+/g.test(this.url)) {
250
- // url += btoa(encodeURIComponent(this.url))
251
- // } else {
252
- // url += btoa(this.url)
253
- // }
254
- // }
255
- url = url + this.url
256
- if (this.sourceFileType == '.ppt' || this.sourceFileType == '.pptx' || this.sourceFileType == '.pdf') {
257
- url += '&officePreviewType=pdf'
264
+ computed:{
265
+ pdfStyle() {
266
+ return {
267
+ paddingTop: this.isPc ? '30px' : '0', // 30px 是 加上外层的 20 流出 50的上边距展示 放大缩小操作栏
268
+ paddingBottom: this.tagIds > 1 ? '60px' : '0',
269
+ height: '100%'
270
+ }
271
+ },
272
+ previewUrl() {
273
+ console.debug('VUE_APP_ENV',process.env.VUE_APP_ENV)
274
+ let url = process.env.VUE_APP_ENV === 'production' ? 'https://kkfileview.askbot.cn/onlinePreview?url=' : 'https://test.open.askbot.cn/kkfileview/onlinePreview?url='
275
+ // if(this.url != '') {
276
+ // if(/[\u4E00-\u9FA5]+/g.test(this.url)) {
277
+ // url += btoa(encodeURIComponent(this.url))
278
+ // } else {
279
+ // url += btoa(this.url)
280
+ // }
281
+ // }
282
+ url = url + this.url
283
+ url += '&officePreviewType=pdf'
284
+ if(this.watermark) {
285
+ url = this.watermark.textWatermarkValue ? (url += '&textWatermarkValue=' + this.watermark.textWatermarkValue) : url
286
+ url = this.watermark.visitorWatermarkValue ? (url += '&visitorWatermarkValue=' + this.watermark.visitorWatermarkValue) : url
258
287
  }
259
288
  console.log('textWatermarkStr 216', this.textWatermarkStr)
260
289
  if (this.textWatermarkStr) {
@@ -283,7 +312,7 @@ export default {
283
312
  },
284
313
  loadIframe () {
285
314
 
286
- if (this.fileType == 'VIDEO' || this.fileType == 'WECHAT' || (this.tagIds && this.tagIds.length != 0)) {
315
+ if (this.fileType == 'VIDEO' || this.fileType == 'WECHAT' || (this.tagIds && this.tagIds.length != 0 && this.newFileType !== 'PPT')) {
287
316
  this.loading = false
288
317
  } else {
289
318
  let iframe = document.getElementsByClassName('preview_iframe')[0] || document.getElementsByClassName('preview_iframe_kk')[0];
@@ -373,6 +402,10 @@ export default {
373
402
  })
374
403
  },
375
404
  downLoad () {
405
+ if (this.formKnowledgeManagement){
406
+ this.$emit('downLoad',this.previewOssPath);
407
+ return
408
+ }
376
409
  let url = this.previewOssPath
377
410
  if (decodeURIComponent(url) != url) {
378
411
  url = decodeURIComponent(url)
@@ -384,7 +417,7 @@ export default {
384
417
  }
385
418
  }).then(res => {
386
419
  console.log('downLoad 341', res)
387
- if (res.data || res.bodyText) {
420
+ if (res.data|| res.bodyText) {
388
421
  if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
389
422
  this.copy = res.data
390
423
  if (isMobile()) {
@@ -413,16 +446,17 @@ export default {
413
446
  // }, 2000)
414
447
  // window.open(res.data,'下载', 'noopener')
415
448
  if (isMobile()) {
416
- const iframe = document.createElement("iframe");
417
- iframe.setAttribute("hidden", "hidden");
418
- iframe.onload = () => {
419
- if (iframe) {
420
- console.log("iframe onload....")
421
- iframe.setAttribute('src', 'about:blank');
422
- }
423
- };
424
- document.body.insertBefore(iframe, null);
425
- iframe.setAttribute("src", res.data);
449
+
450
+ const iframe = document.createElement("iframe");
451
+ iframe.setAttribute("hidden", "hidden");
452
+ iframe.onload = () => {
453
+ if (iframe) {
454
+ console.log("iframe onload....")
455
+ iframe.setAttribute('src', 'about:blank');
456
+ }
457
+ };
458
+ document.body.insertBefore(iframe, null);
459
+ iframe.setAttribute("src", res.data );
426
460
  } else {
427
461
  let a = document.createElement('a')
428
462
  a.href = res.data
@@ -430,7 +464,7 @@ export default {
430
464
  a.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }))
431
465
  }
432
466
  this.close()
433
- }
467
+ }
434
468
  }
435
469
  })
436
470
  },
@@ -441,9 +475,70 @@ export default {
441
475
  this.isPc = true
442
476
  }
443
477
  },
444
- clickFloder() {
478
+ clickFloder() {
445
479
  this.$emit('previewClickFloder')
446
- }},
480
+ },
481
+ getOssPath(url){
482
+ let httpUrl = '/knowledge-api/knowledge/getTemporaryCertificate';
483
+ let type = this.getFileType(url)
484
+ this.newFileType = type;
485
+ if (type === 'VIDEO' || type === 'PDF' || type === 'EXCEL' || type === 'TXT' || type === 'DOC') {
486
+ httpUrl += '?needEncrypt=false'
487
+ } else {
488
+ httpUrl += '?needEncrypt=true'
489
+ }
490
+ this.$http.post(httpUrl, {
491
+ "fileInOssPath": url
492
+ }).then(res => {
493
+ console.log('getOssPath',res)
494
+ if (res.data.code == '0'){
495
+ this.previewHref = res.data.data;
496
+ }
497
+ })
498
+ },
499
+ getFileType(url){
500
+ let index = url.lastIndexOf('?')
501
+ let newFileInOssPath = url.substring(0, url.indexOf("?"))
502
+ if (index == -1){
503
+ newFileInOssPath = url
504
+ }
505
+ const fileType = newFileInOssPath.substring(newFileInOssPath.lastIndexOf('.'));
506
+ if (fileType === '.mp4' || fileType === '.MP4' || fileType === '.MOV' || fileType === '.MOVC' || fileType === '.mov' || fileType === '.movc') {
507
+ return 'VIDEO'
508
+ } else if (fileType === '.html') {
509
+ return 'HTML'
510
+ } else if (fileType === '.png' || fileType === '.jpg' || fileType === '.jpeg' || fileType === '.PNG' || fileType === '.JPG' || fileType === '.JPEG') {
511
+ return 'IMAGE'
512
+ } else if (fileType === '.docx' || fileType === '.doc'){
513
+ return 'DOC'
514
+ } else if (fileType === '.ppt' || fileType === '.pptx'){
515
+ return 'PPT'
516
+ } else if (fileType === '.pdf'){
517
+ return 'PDF'
518
+ } else if (fileType === '.txt'){
519
+ return 'TXT'
520
+ } else {
521
+ return 'OTHER'
522
+ }
523
+ },
524
+ //判断是否使用新定位组件
525
+ getLocationInfo(){
526
+ this.newVersion = "";
527
+ this.$http.get('/knowledge-api/knowledge/knowledge-part-location-info/list?ids=' + this.tagIds.join(',')).then(res => {
528
+ console.log('getLocationInfo',res)
529
+ if (res.data.code == 0){
530
+ if (res.data.data && res.data.data.length > 0 && res.data.data[0].extractVersion == 'v3'){
531
+ this.newVersion = true;
532
+ if (this.newFileType !== 'PPT'){
533
+ this.loading = false;
534
+ }
535
+ } else {
536
+ this.newVersion = false;
537
+ }
538
+ }
539
+ })
540
+ },
541
+ },
447
542
  beforeDestroy () {
448
543
  window.removeEventListener('message', this.handleIframeMessage);
449
544
  }
@@ -511,6 +606,7 @@ export default {
511
606
  height: 100%;
512
607
  }
513
608
 
609
+
514
610
  .preview_iframe_html {
515
611
  width: 100%;
516
612
  height: 100%;
@@ -606,6 +702,7 @@ justify-content: space-between;
606
702
  .header-right {
607
703
  display: flex;
608
704
  }
705
+
609
706
  .summaryBtn {
610
707
  flex: none;
611
708
  //width: 95px;
@@ -672,9 +769,9 @@ justify-content: space-between;
672
769
  justify-content: space-between;
673
770
  line-height: 26px;
674
771
  .title_left {
675
- white-space: nowrap; /* 确保文本不会换行 */
676
- overflow: hidden; /* 隐藏超出容器的文本 */
677
- text-overflow: ellipsis; /* 当文本超出容器时显示省略号 */
772
+ white-space: nowrap; /* 确保文本不会换行 */
773
+ overflow: hidden; /* 隐藏超出容器的文本 */
774
+ text-overflow: ellipsis; /* 当文本超出容器时显示省略号 */
678
775
  margin-right: 8px;
679
776
  }
680
777
  }
@@ -707,10 +804,6 @@ justify-content: space-between;
707
804
  overflow: auto;
708
805
  height: calc(100% - 50px);
709
806
  background: #FFF;
710
- background-image: url('https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/cdn-common/images/loading.gif');
711
- background-position: center;
712
- background-size: 50px;
713
- background-repeat: no-repeat;
714
807
  }
715
808
 
716
809
  .libang_content_pre {
@@ -1,13 +1,13 @@
1
1
  <template>
2
2
  <div class="">
3
3
  <span v-if="messagePlateform == 'IM'">
4
- IM人工&nbsp;&nbsp;<span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;将为您服务
4
+ {{$t('senderMessagePlatform.IM')}}&nbsp;&nbsp;<span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;{{$t('senderMessagePlatform.service')}}
5
5
  </span>
6
6
  <span v-if="messagePlateform == 'BOT'">
7
- <span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;将为您服务
7
+ <span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;{{$t('senderMessagePlatform.service')}}
8
8
  </span>
9
9
  <span v-if="messagePlateform == 'Transfer' && (isShow === true || isShow === null)">
10
- <span class="text_color">{{payload.oldSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;将会话转接给&nbsp;&nbsp;<span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>
10
+ <span class="text_color">{{payload.oldSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;{{$t('senderMessagePlatform.transfer')}}&nbsp;&nbsp;<span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>
11
11
  </span>
12
12
  </div>
13
13
  </template>
@@ -20,7 +20,7 @@ export default {
20
20
 
21
21
  }
22
22
  },
23
- props:['source','payload', 'isShow'],
23
+ props:['source','payload',"language", 'isShow'],
24
24
  computed: {
25
25
  messagePlateform() {
26
26
  if(this.payload) {
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
- import { multipartUpload, ossFileUrl } from "./AliyunIssUtil";
2
+ import { multipartUpload, ossFileUrl } from "../../assets/js/AliyunIssUtil";
3
3
  import { v4 as uuidv4 } from "uuid";
4
4
 
5
5
  const getPrivateOssConfig = () => {
@@ -92,7 +92,11 @@ export default {
92
92
  bindCode:{
93
93
  type: String,
94
94
  default: ''
95
- }
95
+ },
96
+ language:{
97
+ type: String,
98
+ default: 'en'
99
+ }
96
100
  },
97
101
  data () {
98
102
  return {
@@ -39,7 +39,11 @@ export default {
39
39
  clickFun (item) {
40
40
  this.$emit('llmCardClickFun', item)
41
41
  }
42
- }
42
+ },
43
+ mounted() {
44
+ let languageCode = sessionStorage.getItem('languageCode');
45
+ console.log('languageCode',languageCode,this.$i18n.locale,localStorage.getItem('languageCode'))
46
+ }
43
47
  };
44
48
  </script>
45
49
 
@@ -0,0 +1,72 @@
1
+ {
2
+ "actionSatisfaction": {
3
+ "satisfaction": "满意",
4
+ "notSatisfied": "不满意"
5
+ },
6
+ "answerRadio": {
7
+ "tip": "AI为您推荐了以下内容",
8
+ "loadMore": "换一批"
9
+ },
10
+ "previewPdf": {
11
+ "intelligentSummary": "智能摘要",
12
+ "chat": "聊一聊",
13
+ "regeneration": "重新生成",
14
+ "generating": "生成中",
15
+ "copyUrl": "下载地址已复制,请前往Safari浏览器访问下载",
16
+ "answer": "答案由",
17
+ "answerTip": "段内容生成"
18
+ },
19
+ "answerDocKnowledge": {
20
+ "title": "AI为您总结生成了以下摘要",
21
+ "sourceFrom": "出自",
22
+ "view": "查看"
23
+ },
24
+ "formTemplate": {
25
+ "report": "报单人",
26
+ "feedbackDes": "反馈描述",
27
+ "orderDes": "工单描述",
28
+ "uploadType": "只能上传图片格式",
29
+ "uploadImageSize": "上传图片大小不能超过 8MB!",
30
+ "uploadVideoType": "只能上传视频格式",
31
+ "uploadVideoSize": "上传视频大小不能超过100MB!",
32
+ "uploadFileSize": "上传附件大小不能超过100MB!",
33
+ "onlyUpload": "仅支持上传",
34
+ "number": "个",
35
+ "textFlag": "必须要有文字",
36
+ "imageOrAttachment": "必须要有图片或附件",
37
+ "imageFlag": "必须要有图片",
38
+ "attachmentFlag": "必须要有附件",
39
+ "image": "图片",
40
+ "file": "附件",
41
+ "and": "和",
42
+ "required": "是必填的",
43
+ "uploading": "文件正在上传,请稍后",
44
+ "pleaseImprove": "请完善",
45
+ "feedbackDesRequired": "反馈描述是必填的",
46
+ "orderDesRequired": "问题描述是必填的"
47
+ },
48
+ "senderMessagePlatform": {
49
+ "IM": "IM人工",
50
+ "service": "将为您服务",
51
+ "transfer": "将会话转接给"
52
+ },
53
+ "common": {
54
+ "drawerTitle": "我是标题",
55
+ "viewDetail": "查看详情",
56
+ "download": "下载",
57
+ "changeBatch": "换一批",
58
+ "lodeMore": "查看更多",
59
+ "previous": "上一段",
60
+ "next": "下一段",
61
+ "selectPlaceholder": "请选择",
62
+ "inputPlaceholder": "请输入",
63
+ "selectDate": "请选择日期",
64
+ "selectTime": "请选择时间",
65
+ "selectDateTime": "请选择日期时间",
66
+ "cancel": "取消",
67
+ "confirm": "确认",
68
+ "submit": "提交",
69
+ "submited": "已提交",
70
+ "confirmed": "已确认"
71
+ }
72
+ }