askbot-dragon 1.7.26-beta → 1.7.28-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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "askbot-dragon",
3
- "version": "1.7.26-beta",
3
+ "version": "1.7.28-beta",
4
4
  "scripts": {
5
5
  "serve": "vue-cli-service serve",
6
6
  "build": "vue-cli-service build",
@@ -28,10 +28,12 @@
28
28
  "babel-eslint": "^10.1.0",
29
29
  "element-ui": "^2.15.10",
30
30
  "eslint": "^6.7.2",
31
+ "vue-markdown": "^2.2.4",
31
32
  "eslint-plugin-vue": "^6.2.2",
32
33
  "less": "^3.12.2",
33
34
  "less-loader": "^7.0.2",
34
- "vue-template-compiler": "^2.6.11"
35
+ "vue-template-compiler": "^2.6.11",
36
+ "vue-i18n": "^8.26.4"
35
37
  },
36
38
  "eslintConfig": {
37
39
  "root": true,
@@ -4,7 +4,27 @@
4
4
 
5
5
  const OSS = window.OSS
6
6
 
7
- const ossConfig={
7
+ const getPrivateOssConfig = () =>{
8
+ let mainSource = sessionStorage.getItem('_mainSource') ? sessionStorage.getItem('_mainSource') : "askbot";
9
+ switch (mainSource) {
10
+ case "askbot":
11
+ return {
12
+ region: "oss-cn-zhangjiakou",
13
+ accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
14
+ accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
15
+ bucket: "guoranopen-zjk",
16
+ }
17
+ case "lishi":
18
+ return {
19
+ region: "oss-ap-southeast-1",
20
+ accessKeyId: "LTAI5tAusPLDNJJwkvUbqi2T",
21
+ accessKeySecret: "xqPVaunOIbvTe3g9qsXal2IZO6RftK",
22
+ bucket: "askbotopen-ls",
23
+ };
24
+ }
25
+ }
26
+
27
+ const ossConfig = {
8
28
  region: "oss-cn-zhangjiakou",
9
29
  //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
10
30
  accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
@@ -13,6 +33,8 @@ const ossConfig={
13
33
  bucket: "guoranopen-zjk",
14
34
  };
15
35
 
36
+
37
+
16
38
  let IDX = 256, HEX = [], SIZE = 256, BUFFER;
17
39
  while (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);
18
40
  let mainId = sessionStorage.getItem('_mainId') ? sessionStorage.getItem('_mainId') : "";
@@ -48,8 +70,8 @@ function pathGenerate(filename) {
48
70
  }
49
71
 
50
72
 
51
- async function upload(ossConfig, data) {
52
- let ossClient = new OSS(ossConfig);
73
+ async function upload(data) {
74
+ let ossClient = new OSS(getPrivateOssConfig());
53
75
  // object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
54
76
  let objectKey = pathGenerate(data.name);
55
77
  let result = await ossClient.put(objectKey, data);
@@ -57,8 +79,8 @@ async function upload(ossConfig, data) {
57
79
  return result;
58
80
  }
59
81
 
60
- async function multipartUpload(ossConfig, data, callback,extCallback) {
61
- let ossClient = new OSS(ossConfig);
82
+ async function multipartUpload(data, callback,extCallback) {
83
+ let ossClient = new OSS(getPrivateOssConfig());
62
84
  // object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
63
85
  let objectKey = pathGenerate(data.name);
64
86
  let res = await ossClient.multipartUpload(objectKey, data, {
@@ -73,7 +95,8 @@ async function multipartUpload(ossConfig, data, callback,extCallback) {
73
95
  return res;
74
96
  }
75
97
 
76
- function ossFileUrl(ossConfig, path, cname) {
98
+ function ossFileUrl(path, cname) {
99
+ let ossConfig = getPrivateOssConfig()
77
100
  if (cname == null) {
78
101
  return '//' + ossConfig.bucket + '.' + ossConfig.region + '.aliyuncs.com/' + path;
79
102
  } else {
@@ -81,8 +104,8 @@ function ossFileUrl(ossConfig, path, cname) {
81
104
  }
82
105
  }
83
106
 
84
- function uploadImageByBase64(ossConfig,blob) {
85
- let ossClient = new OSS(ossConfig);
107
+ function uploadImageByBase64(blob) {
108
+ let ossClient = new OSS(getPrivateOssConfig());
86
109
 
87
110
  // object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形 式,实现将文件上传至当前Bucket或Bucket下的指定目录。
88
111
  let objectKey = pathGenerate(new Date().getTime());
@@ -91,4 +114,4 @@ function uploadImageByBase64(ossConfig,blob) {
91
114
  return result;
92
115
  }
93
116
 
94
- export {upload, multipartUpload, ossFileUrl,uploadImageByBase64,ossConfig}
117
+ export {upload, multipartUpload, ossFileUrl,uploadImageByBase64,ossConfig, getPrivateOssConfig}
@@ -16,18 +16,22 @@
16
16
  <template v-if="msg.content.renderType == 1">
17
17
  <p v-html="msg.content.text"></p>
18
18
  </template>
19
+ <template v-if="msg.content.renderType == 2">
20
+ <markDownText :chainValues="msg.content.text" :isHistory="isHistory"></markDownText>
21
+ </template>
19
22
  <template v-else>{{ msg.content.text }}</template>
20
23
  </div>
21
24
  <div v-if="msg.content.images && msg.content.images.length != 0" class="answer-kn-image-box">
22
25
  <img v-for="(imageItem, imageItemIndex) in msg.content.images"
23
- style="max-width: 230px;border-radius: 10px;margin-bottom: 15px" :src="imageItem.url"
26
+ style="max-width: 230px;border-radius: 25px;margin-bottom: 15px" :src="imageItem.url"
24
27
  :key="imageItemIndex" alt @click="lookAttach(imageItem.url, imageItem, $event)" />
25
28
  </div>
26
29
  </div>
27
30
  <template v-if="!isLiBang">
28
31
  <div class="ad-list" :class="msg.content.type == 0 ? 'ad-list-recognition' : ''">
29
32
  <template v-if="msg.content.type == 1">
30
- <div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex" class="ad-list-cell">
33
+ <div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex"
34
+ :style="{ paddingBottom: itemIndex === msg.content.list.length - 1 ? 0 : '10px' }" class="ad-list-cell">
31
35
  <div class="alc-title">
32
36
  <div class="alc-box">
33
37
  <div class="alc-source-left">
@@ -174,9 +178,10 @@
174
178
  /* eslint-disable */
175
179
  import previewPdf from "./previewPdf";
176
180
  import { isMobile } from "../assets/js/common";
181
+ import markDownText from "./markDownText.vue";
177
182
  export default {
178
183
  name: "answerDocknowledge",
179
- components: { previewPdf },
184
+ components: { previewPdf, markDownText },
180
185
  data () {
181
186
  return {
182
187
  isPC: true,
@@ -263,14 +268,14 @@ export default {
263
268
  allKnowledgeList: [],
264
269
  loadMoreFlag: false,
265
270
  title: '',
266
- folderName:'',
267
- folderUrl:'',
271
+ folderName: '',
272
+ folderUrl: '',
268
273
  previewKnowledgeId: "",
269
274
  previewKnowledge: {},
270
275
  previewOssPath: ""
271
276
  }
272
277
  },
273
- props: ['msg', 'isAskLightning', 'isMessageRecord', "isApp", "isHasChat", "activeKnowledgeId", "isLiBang"],
278
+ props: ['msg', 'isAskLightning', 'isMessageRecord', "isApp", "isHasChat", "activeKnowledgeId", "isLiBang","isHistory"],
274
279
  beforeMounted () {
275
280
  },
276
281
  watch: {
@@ -332,78 +337,78 @@ export default {
332
337
  //预览图片
333
338
  lookAttach (url, item, event) {
334
339
  // console.log(item.knowledgeId);
335
- // this.$http.get("/knowledge-api/internal/knowledgeBaseStructure/" + "642ffbccde420e2772f7787b")
336
- // debugger
337
- event.preventDefault();
338
- if (this.isAskLightning == 1 && !this.isApp){
339
- window.parent.postMessage({
340
- data: "bot_preview",
341
- item: JSON.stringify(item),
342
- url: url
343
- },"*");
344
- } else {
345
- // if (isMobile()) {
346
- // this.$refs.previewPdf.drawer = true;
347
- // this.$refs.previewPdf.previewShowPopup = false;
348
- // } else {
349
- // this.$refs.previewPdf.drawer = false;
350
- // }
351
- this.title = item.from || item.name
352
- this.folderName = item.folderName
340
+ // this.$http.get("/knowledge-api/internal/knowledgeBaseStructure/" + "642ffbccde420e2772f7787b")
341
+ // debugger
342
+ event.preventDefault();
343
+ if (this.isAskLightning == 1 && !this.isApp) {
344
+ window.parent.postMessage({
345
+ data: "bot_preview",
346
+ item: JSON.stringify(item),
347
+ url: url
348
+ }, "*");
349
+ } else {
350
+ // if (isMobile()) {
351
+ // this.$refs.previewPdf.drawer = true;
352
+ // this.$refs.previewPdf.previewShowPopup = false;
353
+ // } else {
354
+ // this.$refs.previewPdf.drawer = false;
355
+ // }
356
+ this.title = item.from || item.name
357
+ this.folderName = item.folderName
353
358
  this.folderUrl = item.folderUrl
354
359
  this.previewKnowledge = item;
355
- this.previewKnowledgeId = item.knowledgeId
356
- this.$refs.previewPdf.previewShowPopup = false;
357
- this.$refs.previewPdf.drawer = false;
358
- this.previewOssPath = url;
359
- let index = url.lastIndexOf('?')
360
- let type = ''
361
- let httpUrl = '/knowledge-api/knowledge/getTemporaryCertificate'
362
- if (index !== -1) {
363
- url = url.substring(0, index)
364
- type = this.fileType(url)
365
- } else {
366
- type = this.fileType(url)
367
- }
368
- if (type === '' || type === 'OTHER') {
369
- httpUrl = httpUrl += '?needEncrypt=true'
370
- } else {
371
- httpUrl = httpUrl += '?needEncrypt=false'
372
- }
373
- this.$http.post(httpUrl, {
374
- "fileInOssPath":url
375
- }).then(res =>{
376
- if(res.data.code == '0') {
377
- this.previewHref = res.data.data;
378
- this.sourceFileType = url.substring(url.lastIndexOf('.'))
379
- let isOhmPc = sessionStorage.getItem('isOhmPc')
380
- if (isMobile() || isOhmPc == 'true'){
381
- this.$refs.previewPdf.drawer = true;
382
- this.$refs.previewPdf.previewShowPopup = true;
383
- } else {
384
- this.$refs.previewPdf.previewShowPopup = false;
385
- this.$refs.previewPdf.drawer = true;
386
- }
387
- //聊一聊按钮的选中状态
388
- if (this.activeKnowledgeId == item.knowledgeId){
389
- this.$refs.previewPdf.previewKnowledgeId = this.activeKnowledgeId
360
+ this.previewKnowledgeId = item.knowledgeId
361
+ this.$refs.previewPdf.previewShowPopup = false;
362
+ this.$refs.previewPdf.drawer = false;
363
+ this.previewOssPath = url;
364
+ let index = url.lastIndexOf('?')
365
+ let type = ''
366
+ let httpUrl = '/knowledge-api/knowledge/getTemporaryCertificate'
367
+ if (index !== -1) {
368
+ url = url.substring(0, index)
369
+ type = this.fileType(url)
390
370
  } else {
391
- this.$refs.previewPdf.previewKnowledgeId = ""
371
+ type = this.fileType(url)
392
372
  }
393
- this.$refs.previewPdf.fileType = type
394
- this.$refs.previewPdf.tagIds = item.tagIds
395
- this.$refs.previewPdf.isMessageRecord = this.isMessageRecord ? true : false ;
396
- let index = url.indexOf("?");
397
- let newFileInOssPath = url;
398
- if (index !== -1){
399
- newFileInOssPath = url.substring(0, url.indexOf("?"))
400
- }
401
- let fileName = newFileInOssPath.substring(newFileInOssPath.lastIndexOf('.'))
402
- if (fileName === '.doc' || fileName === '.docx' || fileName === '.txt'|| fileName === '.html'){
403
- this.$refs.previewPdf.fileName = fileName;
373
+ if (type === '' || type === 'OTHER' || type == 'IMAGE') {
374
+ httpUrl = httpUrl += '?needEncrypt=true'
404
375
  } else {
405
- this.$refs.previewPdf.fileName = '';
376
+ httpUrl = httpUrl += '?needEncrypt=false'
406
377
  }
378
+ this.$http.post(httpUrl, {
379
+ "fileInOssPath": url
380
+ }).then(res => {
381
+ if (res.data.code == '0') {
382
+ this.previewHref = res.data.data;
383
+ this.sourceFileType = url.substring(url.lastIndexOf('.'))
384
+ let isOhmPc = sessionStorage.getItem('isOhmPc')
385
+ if (isMobile() || isOhmPc == 'true') {
386
+ this.$refs.previewPdf.drawer = true;
387
+ this.$refs.previewPdf.previewShowPopup = true;
388
+ } else {
389
+ this.$refs.previewPdf.previewShowPopup = false;
390
+ this.$refs.previewPdf.drawer = true;
391
+ }
392
+ //聊一聊按钮的选中状态
393
+ if (this.activeKnowledgeId == item.knowledgeId) {
394
+ this.$refs.previewPdf.previewKnowledgeId = this.activeKnowledgeId
395
+ } else {
396
+ this.$refs.previewPdf.previewKnowledgeId = ""
397
+ }
398
+ this.$refs.previewPdf.fileType = type
399
+ this.$refs.previewPdf.tagIds = item.tagIds
400
+ this.$refs.previewPdf.isMessageRecord = this.isMessageRecord ? true : false;
401
+ let index = url.indexOf("?");
402
+ let newFileInOssPath = url;
403
+ if (index !== -1) {
404
+ newFileInOssPath = url.substring(0, url.indexOf("?"))
405
+ }
406
+ let fileName = newFileInOssPath.substring(newFileInOssPath.lastIndexOf('.'))
407
+ if (fileName === '.doc' || fileName === '.docx' || fileName === '.txt' || fileName === '.html') {
408
+ this.$refs.previewPdf.fileName = fileName;
409
+ } else {
410
+ this.$refs.previewPdf.fileName = '';
411
+ }
407
412
  if (item.tagIds && item.tagIds.length != 0) {
408
413
  this.$refs.previewPdf.loading = false
409
414
  return
@@ -431,6 +436,8 @@ export default {
431
436
  return 'VIDEO'
432
437
  } else if (fileType === '.html') {
433
438
  return 'HTML'
439
+ } else if (fileType === '.png' || fileType === '.jpg' || fileType === '.jpeg') {
440
+ return 'IMAGE'
434
441
  } else {
435
442
  return 'OTHER'
436
443
  }
@@ -491,13 +498,13 @@ export default {
491
498
  recommendQues (item, knowledgeId) {
492
499
  this.$emit('recommendQues', item, knowledgeId)
493
500
  },
494
- clickFloder(item) {
501
+ clickFloder (item) {
495
502
  this.$emit('clickFloder', item)
496
503
  },
497
- previewClickFloder() {
504
+ previewClickFloder () {
498
505
  let item = null
499
506
  this.msg.content.list.forEach(element => {
500
- if(element.knowledgeId == this.previewKnowledgeId) {
507
+ if (element.knowledgeId == this.previewKnowledgeId) {
501
508
  item = element
502
509
  }
503
510
  });
@@ -641,24 +648,25 @@ export default {
641
648
 
642
649
  .alc-box-introduction-previewImage {
643
650
  width: 100%;
644
- display: block;
645
- overflow: hidden;
646
- text-overflow: ellipsis;
647
- display: -webkit-box;
648
- -webkit-line-clamp:3;
649
- -webkit-box-orient:vertical;
650
- margin-top: 10px;
651
- color: #616161;
652
- // font-size: 12px;
653
- line-height: 24px;
654
- text-align: left;
655
- img {
656
- max-width: 300px;
657
- width: 100%;
658
- max-height: 150px;
659
- margin: 10px;
660
- cursor: pointer;
661
- }
651
+ display: block;
652
+ overflow: hidden;
653
+ text-overflow: ellipsis;
654
+ display: -webkit-box;
655
+ -webkit-line-clamp: 3;
656
+ -webkit-box-orient: vertical;
657
+ margin-top: 10px;
658
+ color: #616161;
659
+ // font-size: 12px;
660
+ line-height: 24px;
661
+ text-align: left;
662
+
663
+ img {
664
+ max-width: 300px;
665
+ width: 100%;
666
+ max-height: 150px;
667
+ margin: 10px;
668
+ cursor: pointer;
669
+ }
662
670
  }
663
671
 
664
672
  .alc-updateTime {
@@ -1,7 +1,6 @@
1
1
  <!-- 消息记录容器 -->
2
2
  <template>
3
3
  <div id="conversation">
4
- <qw-feedback :msg="qwFeedbackObj"></qw-feedback>
5
4
  <div v-for="(item, index) in processAction" :key="index">
6
5
  <association-intention :msg="item" :msgType="item.type" :isOpen="isOpen"></association-intention>
7
6
  </div>
@@ -38,7 +37,7 @@
38
37
  </div> -->
39
38
 
40
39
  <!-- <text-message :text="text" @submitClick="submitClick"></text-message> -->
41
- <answer-docknowledge :isAskLightning="2" :msg="answerDocknowledge" :isLiBang="false"></answer-docknowledge>
40
+ <answer-docknowledge :isAskLightning="2" :isHasChat="true" :msg="answerDocknowledge" :isLiBang="false"></answer-docknowledge>
42
41
  <welcomeSuggest :msg="welcomeSuggest"></welcomeSuggest>
43
42
  <!-- <voice-component @closeVoice="closeVoice">
44
43
  <div slot="voiceTip">
@@ -122,7 +121,6 @@ import AnswerDocknowledge from "./AnswerDocknowledge.vue";
122
121
  import WelcomeKnowledgeFile from "./welcomeKnowledgeFile";
123
122
  import WelcomeLlmCard from "./welcomeLlmCard";
124
123
  import welcomeSuggest from "./welcomeSuggest"
125
- import QwFeedback from './QwFeedback';
126
124
  export default {
127
125
  name: 'ConversationContainer',
128
126
  components: {
@@ -152,8 +150,7 @@ export default {
152
150
  // ChatContent,
153
151
  AnswerDocknowledge,
154
152
  MyEditor,
155
- welcomeSuggest,
156
- QwFeedback
153
+ welcomeSuggest
157
154
  },
158
155
  props: {
159
156
  messages: Array
@@ -243,7 +240,7 @@ export default {
243
240
  "content": {
244
241
  "images": [{ url: 'https://static.guoranbot.com/images/knowledge/e0f6898c6b0d47fa98e8f71ceab1bde8/安全标志--禁止标志.png' }],
245
242
  "actionType": "answer_doc_knowledge",
246
- "text": "中国的省份名称有湖北省、广西壮族自治区等。",
243
+ "text": "**票据管理规定**\n\n### 车票报销\n- **注意事项**:\n - 车票需注意日期与行程相符。\n - 如所附车票没有标注起止地点的,需自行注明。\n - 非同一次乘车出现票号相连的,不予报销。\n\n### 不予报销的票据\n- **国内白条及非财政部门监制的收据**:一律不予报销。\n- **预存性质的票据**:如预存话费、预存公交车费、购物卡、油卡等,原则上不予报销。\n - 确有客观需求并经部门负责人、财务负责人事先同意的,预存时需获取预付款增值税普通发票。\n - 后续每次实际消费时需取得注明预付卡卡号的消费小票,并在消费完预付卡内余额后及时进行一次性报销。\n - 无法取得消费小票的,请及时与财务同事沟通与确认解决方案。\n\n### 发票要求\n- **字迹不清或压线错格**:应重新开票。\n- **无法取得发票的费用**:公司不予报销,不允许用其他发票替代报销。\n\n### 报销单整理\n- 报销单影像审批完成进入核票流程后,报销人应将该张报销单的票据按照时间顺序分类整理,平铺、整齐的粘贴在A4纸上,票据与票据之间不能重叠遮挡,与报销单一同交到财务部。\n- 驻外人员邮寄回公司本部门的内勤人员,由部门内勤人员代为转交至财务部。\n- 财务收到单据后在汇联易系统中进行核票,纸质票据影像必须与实物一致,符合标准的单据完成审批流程后,进入待付款流程。\n\n### 出差报销\n- 员工出差必须先填写出差申请单,经审批后才能出行。\n- 若有紧急出差的情况,应填写出差申请单后,联系上级领导人进行加急审批。\n- 未填出差申请单,自行购票出行,公司有权不予报销。",
247
244
  "list": [
248
245
  {
249
246
  "owner": null,
@@ -322,8 +319,9 @@ export default {
322
319
  "previewImage": "https://askbot-pdf-all.oss-cn-zhangjiakou.aliyuncs.com/31623ccfe9dd4957bbd59c5823878bbe/2023/12/27/03/39/08/658b9c477cf604285f7cb81d/pdf-image-1913302477976388839.png"
323
320
  }
324
321
  ],
325
- "renderType": 0,
326
- "type": 1
322
+ "renderType": 2,
323
+ "type": 1,
324
+ "isHistory": true
327
325
  },
328
326
  "type": "answer_doc_knowledge"
329
327
  },
@@ -10663,15 +10661,6 @@ export default {
10663
10661
  }
10664
10662
  },
10665
10663
  answerRadios: { "content": { "options": [{ "scope": "KNOWLEDGE", "name": "本文提供了什么内容?", "value": "64915d6e098ec248701da267" }, { "scope": "KNOWLEDGE", "name": "什么是街舞穿搭指南?", "value": "64915d6e098ec248701da267" }, { "scope": "KNOWLEDGE", "name": "为什么街舞爱好者需要关注本文?", "value": "64915d6e098ec248701da267" }], "description": "了解更多", "isKnowledgeSummary": true }, "id": "knowledgeRecdNodeId", "type": "answer_radio", "sessionId": 1687251699065, "keyId": "139480f2-5af1-44fd-a7bd-a73dd7b566b7_________", "isKnowledgeSummary": true },
10666
- qwFeedbackObj: {
10667
- "content": {
10668
- "guideText": "以下问题我已经学会了,感谢您提供的金点子,帮助我更好的成长:",
10669
- "questionList": [
10670
- "打印机卡纸怎么办", "打印机打印模糊", "SAP系统输入编码系统显示报错", "合同已经上传影像归档了,但是在CE中还是关联不到合同", "如何查询社保缴费基数", "如何查询公积金缴费基数"
10671
- ]
10672
- },
10673
- "type": "unidentified_feedback"
10674
- },
10675
10664
  answerRadiosPri: {
10676
10665
  "refAttrId": null,
10677
10666
  "createTime": null,
@@ -42,14 +42,6 @@ export default {
42
42
  props: ["value", "placeholder", "havToolbar"],
43
43
  data () {
44
44
  return {
45
- ossConfig: {
46
- region: "oss-cn-zhangjiakou",
47
- //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
48
- accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
49
- accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
50
- // stsToken: '<Your securityToken(STS)>',
51
- bucket: "guoranopen-zjk",
52
- },
53
45
  ischecked: false,
54
46
  text: ''
55
47
  }
@@ -159,13 +151,12 @@ export default {
159
151
  url: '',
160
152
  }
161
153
  let res = multipartUpload(
162
- this.ossConfig,
163
154
  file,
164
155
  null,
165
156
  imgInfo
166
157
  );
167
158
  res.then(resp => {
168
- imgInfo.url = ossFileUrl(this.ossConfig, resp.name)
159
+ imgInfo.url = ossFileUrl(resp.name)
169
160
  resolve({
170
161
  name: resp.name,
171
162
  default: imgInfo.url
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
  </template>
28
28
  <script>
29
- import {ossConfig,uploadImageByBase64} from "../assets/js/AliyunlssUtil";
29
+ import {uploadImageByBase64} from "../assets/js/AliyunlssUtil";
30
30
 
31
31
  export default {
32
32
  name: "ask_video",
@@ -86,7 +86,7 @@
86
86
  console.debug('img.src',output)
87
87
  let base64 = canvas.toDataURL("image/png")
88
88
  let blob = that.dataURLtoFile(base64,'name')
89
- let promise = uploadImageByBase64(ossConfig,blob);
89
+ let promise = uploadImageByBase64(blob);
90
90
  promise.then((res)=>{
91
91
  console.debug("upload base64 reslut",res);
92
92
  if (res&&res.url){
@@ -803,14 +803,6 @@ export default {
803
803
  videoUploadPercent: false,
804
804
  fileType: ['PICTURE', 'VIDEO', 'AUDIO'],
805
805
  loading: '',
806
- ossConfig: {
807
- region: "oss-cn-zhangjiakou",
808
- //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
809
- accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
810
- accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
811
- // stsToken: '<Your securityToken(STS)>',
812
- bucket: "guoranopen-zjk",
813
- },
814
806
  hideUploadEdit: false,
815
807
  limitNum: 1,
816
808
  refShowPicker: false,
@@ -1505,7 +1497,6 @@ export default {
1505
1497
  url: ''
1506
1498
  }
1507
1499
  let res = multipartUpload(
1508
- this.ossConfig,
1509
1500
  file,
1510
1501
  null,
1511
1502
  imageInfo
@@ -1515,10 +1506,10 @@ export default {
1515
1506
  // let filePath = res.name;
1516
1507
  imageData.urls.push({
1517
1508
  name: file.name,
1518
- url: ossFileUrl(this.ossConfig, res.name),
1509
+ url: ossFileUrl(res.name),
1519
1510
  status: 'success'
1520
1511
  })
1521
- imageInfo.url = ossFileUrl(this.ossConfig, res.name)
1512
+ imageInfo.url = ossFileUrl(res.name)
1522
1513
  imageInfo.status = 'success'
1523
1514
  imageInfo.name = file.name
1524
1515
  for (let j = 0; j < this.extInfoFieldValue[this.filedId].length; j++) {
@@ -2418,7 +2409,6 @@ export default {
2418
2409
  },
2419
2410
  };*/
2420
2411
  let res = multipartUpload(
2421
- this.ossConfig,
2422
2412
  file,
2423
2413
  null,
2424
2414
  imgInfo
@@ -2431,7 +2421,7 @@ export default {
2431
2421
  ossFileUrl(this.ossConfig, res.name)
2432
2422
  );
2433
2423
  console.log('imageData',imageData)*/
2434
- imgInfo.url = ossFileUrl(this.ossConfig, res.name)
2424
+ imgInfo.url = ossFileUrl(res.name)
2435
2425
  imgInfo.status = 'success'
2436
2426
  if (data.file) {
2437
2427
  imgInfo.name = data.file.name
@@ -2491,7 +2481,7 @@ export default {
2491
2481
  console.debug("upload video progress", progress, point);
2492
2482
  if (progress === 1) {
2493
2483
  // this.loadingIns.close();
2494
- videoData.content.url = ossFileUrl(this.ossConfig, point.name);
2484
+ videoData.content.url = ossFileUrl(point.name);
2495
2485
  // this.chooseVideo({data:url},file);
2496
2486
 
2497
2487
  } else {
@@ -0,0 +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
+
32
+ <style scoped></style>
@@ -3,21 +3,23 @@
3
3
  <div class="summaryHeader">
4
4
  <div class="left">
5
5
  <i class="iconfont guoran-tongyichicun-write-29-jiqiren"></i>
6
- <span>智能摘要</span>
6
+ <span>{{ $t('dragonCommon.smartSummary') }}</span>
7
7
  </div>
8
8
  <div class="right">
9
9
  <div class="regenerationBtn" @click="regeneration">
10
- <template v-if="!isLoading">重新生成</template>
10
+ <template v-if="!isLoading">
11
+ {{ $t('dragonCommon.regenerate') }}
12
+ </template>
11
13
  <template v-else>
12
14
  <img
13
- height="20px"
14
- width="20px"
15
- src="../assets/image/loading.gif"
16
- alt
17
- srcset
18
- style="margin-right: 6px"
15
+ height="20px"
16
+ width="20px"
17
+ src="../assets/image/loading.gif"
18
+ alt
19
+ srcset
20
+ style="margin-right: 6px"
19
21
  />
20
- <span>生成中</span>
22
+ <span>{{ $t('dragonCommon.generating') }}</span>
21
23
  </template>
22
24
  </div>
23
25
  <i class="iconfont guoran-tongyichicun-shouqi" @click="closeSummary"></i>
@@ -28,9 +30,9 @@
28
30
  </div>
29
31
  <div class="intelligentBottom" v-if="recommendQuestions.length > 0">
30
32
  <div class="intelligentQues"
31
- v-for="(item,index) in recommendQuestions"
32
- :key="index"
33
- @click="recommendQues(item)"
33
+ v-for="(item, index) in recommendQuestions"
34
+ :key="index"
35
+ @click="recommendQues(item)"
34
36
  >
35
37
  {{ item }}
36
38
  </div>