askbot-dragon 1.7.22-beta → 1.7.24-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 -12
  2. package/public/index.html +8 -10
  3. package/src/assets/js/AliyunlssUtil.js +50 -26
  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 +108 -100
  9. package/src/components/ConversationContainer.vue +13 -220
  10. package/src/components/MyEditor.vue +2 -1
  11. package/src/components/actionSatisfaction.vue +3 -3
  12. package/src/components/answerRadio.vue +3 -3
  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/imgView.vue +32 -0
  17. package/src/components/intelligentSummary.vue +8 -4
  18. package/src/components/markDownText.vue +128 -0
  19. package/src/components/message/TextMessage.vue +15 -11
  20. package/src/components/message/swiper/ticketSwiper.vue +1 -1
  21. package/src/components/newPdfPosition.vue +878 -0
  22. package/src/components/pdfPosition.vue +217 -37
  23. package/src/components/popup.vue +2 -2
  24. package/src/components/previewDoc.vue +6 -2
  25. package/src/components/previewPdf.vue +159 -134
  26. package/src/components/senderMessagePlatform.vue +4 -4
  27. package/src/components/utils/ckeditor.js +1 -1
  28. package/src/components/welcomeKnowledgeFile.vue +6 -2
  29. package/src/components/welcomeLlmCard.vue +5 -1
  30. package/src/components/welcomeSuggest.vue +1 -1
  31. package/src/locales/cn.json +72 -0
  32. package/src/locales/en.json +73 -0
  33. package/src/locales/jp.json +73 -0
  34. package/src/main.js +18 -0
  35. package/src/components/QwFeedback.vue +0 -302
package/package.json CHANGED
@@ -1,37 +1,39 @@
1
1
  {
2
2
  "name": "askbot-dragon",
3
- "version": "1.7.22-beta",
3
+ "version": "1.7.24-beta",
4
4
  "scripts": {
5
5
  "serve": "vue-cli-service serve",
6
6
  "build": "vue-cli-service build",
7
7
  "lint": "vue-cli-service lint"
8
8
  },
9
9
  "dependencies": {
10
+ "vue-markdown": "^2.2.4"
10
11
  },
11
12
  "devDependencies": {
13
+ "@vue/cli-plugin-babel": "~4.5.0",
14
+ "@vue/cli-plugin-eslint": "~4.5.0",
15
+ "@vue/cli-service": "~4.5.0",
12
16
  "audio-loader": "^1.0.3",
17
+ "babel-eslint": "^10.1.0",
13
18
  "core-js": "^3.6.5",
19
+ "element-ui": "^2.15.10",
20
+ "eslint": "^6.7.2",
21
+ "eslint-plugin-vue": "^6.2.2",
14
22
  "install": "^0.13.0",
15
23
  "jquery": "^3.5.1",
24
+ "less": "^3.12.2",
25
+ "less-loader": "^7.0.2",
16
26
  "lodash": "^4.17.21",
17
27
  "uuid": "^8.3.2",
18
28
  "v-viewer": "^1.6.4",
19
29
  "vant": "^2.12.51",
20
30
  "vconsole": "^3.9.1",
21
31
  "vue": "^2.6.11",
32
+ "vue-i18n": "^8.26.4",
22
33
  "vue-resource": "^1.5.1",
34
+ "vue-template-compiler": "^2.6.11",
23
35
  "vue-video-player": "^5.0.2",
24
- "weixin-js-sdk": "^1.6.0",
25
- "@vue/cli-plugin-babel": "~4.5.0",
26
- "@vue/cli-plugin-eslint": "~4.5.0",
27
- "@vue/cli-service": "~4.5.0",
28
- "babel-eslint": "^10.1.0",
29
- "element-ui": "^2.15.10",
30
- "eslint": "^6.7.2",
31
- "eslint-plugin-vue": "^6.2.2",
32
- "less": "^3.12.2",
33
- "less-loader": "^7.0.2",
34
- "vue-template-compiler": "^2.6.11"
36
+ "weixin-js-sdk": "^1.6.0"
35
37
  },
36
38
  "eslintConfig": {
37
39
  "root": true,
package/public/index.html CHANGED
@@ -15,7 +15,7 @@
15
15
  const o = {};
16
16
  Object.keys(entries).forEach((key) => {
17
17
  const [k, v] = entries[key];
18
-
18
+
19
19
  o[k] = v;
20
20
  });
21
21
  return o;
@@ -25,13 +25,11 @@
25
25
  </script>
26
26
  <!-- 项目图标 -->
27
27
  <link rel="stylesheet" href="//at.alicdn.com/t/c/font_2913049_ee8dx548hg.css"/>
28
- <!-- guoran图标 -->
29
- <link rel="stylesheet" href="//at.alicdn.com/t/c/font_2913049_qtm7orae3l.css"/>
28
+ <!-- iconfont图标 -->
29
+ <link rel="stylesheet" href="//at.alicdn.com/t/c/font_2913049_mfmhkqumc7i.css"/>
30
30
  <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
31
-
32
- <!-- aliyun-oss -->
31
+ <!-- aliyun-oss -->
33
32
  <script src="https://static.guoranbot.com/cdn-common/alyun-oss/aliyun-oss-sdk-6.17.1.min.js"></script>
34
-
35
33
  <!-- vue -->
36
34
  <!-- <script src="https://static.guoranbot.com/vue/2.6.11/dist/vue.min.js"></script>
37
35
  <script src="https://static.guoranbot.com/vue-router/3.3.2/dist/vue-router.min.js"></script> -->
@@ -43,14 +41,14 @@
43
41
  <!-- vant -->
44
42
  <!-- <script src="https://static.guoranbot.com/vant/2.12/lib/vant.min.js"></script>
45
43
  <link rel="stylesheet" href="https://static.guoranbot.com/vant/2.12/lib/index.css" /> -->
46
-
44
+
47
45
  <!-- pdf.js -->
48
46
  <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.5.141/pdf.min.js" integrity="sha512-BagCUdQjQ2Ncd42n5GGuXQn1qwkHL2jCSkxN5+ot9076d5wAI8bcciSooQaI3OG3YLj6L97dKAFaRvhSXVO0/Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
49
47
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.5.141/pdf.worker.min.js" integrity="sha512-6UHd2tcWIvg5hIYHXb3lnNO61tWfriGen6KddwGYTSUUazWGYESTHDDxJFEQkCy1cSL//yXKc1gcL+51/DTLFQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
50
48
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.5.141/pdf_viewer.min.js" integrity="sha512-tYEGuMBQkCfSlBKJ3dNgS06wbb/MNE6nO2poZ1Y5brix8NajGcDcfEvuL38wJDOTkq0j5ojASNmrzv/8/wgGHQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
51
49
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.5.141/pdf_viewer.min.css" integrity="sha512-Jf9DLkegLgARLR151csVkPvcVt4cOUhslrSZwiTAe9mqFL/BbYRDmxCOioCtbHifEgjsBFbrVhOMQ3mYPDLrqQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> -->
52
-
53
-
50
+
51
+
54
52
  <script src="https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/cdn-common/pdfJS2.1.266/pdf.min.js" referrerpolicy="no-referrer"></script>
55
53
  <script src="https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/cdn-common/pdfJS2.1.266/pdf.worker.min.js" referrerpolicy="no-referrer"></script>
56
54
  <script src="https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/cdn-common/pdfJS2.1.266/pdf_viewer.js" referrerpolicy="no-referrer"></script>
@@ -71,5 +69,5 @@
71
69
  <div id="app"></div>
72
70
  <!-- built files will be auto injected -->
73
71
  </body>
74
-
72
+
75
73
  </html>
@@ -1,22 +1,23 @@
1
1
 
2
2
 
3
+
3
4
  // const OSS = require('ali-oss');
4
5
 
5
6
  const OSS = window.OSS
6
7
 
7
- const ossConfig={
8
+ const ossConfig = {
8
9
  region: "oss-cn-zhangjiakou",
9
- //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
10
- accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
11
- accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
12
- // stsToken: '<Your securityToken(STS)>',
13
- bucket: "guoranopen-zjk",
10
+ //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
11
+ accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
12
+ accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
13
+ // stsToken: '<Your securityToken(STS)>',
14
+ bucket: "guoranopen-zjk",
14
15
  };
15
16
 
16
17
  let IDX = 256, HEX = [], SIZE = 256, BUFFER;
17
18
  while (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);
18
19
  let mainId = sessionStorage.getItem('_mainId') ? sessionStorage.getItem('_mainId') : "";
19
- function uid(len) {
20
+ function uid (len) {
20
21
  let i = 0, tmp = (len || 11);
21
22
  if (!BUFFER || ((IDX + tmp) > SIZE * 2)) {
22
23
  for (BUFFER = '', IDX = 0; i < SIZE; i++) {
@@ -27,7 +28,7 @@ function uid(len) {
27
28
  return BUFFER.substring(IDX, IDX++ + tmp);
28
29
  }
29
30
 
30
- function dataFormat(fmt, date = new Date()) {
31
+ function dataFormat (fmt, date = new Date()) {
31
32
  const o = {
32
33
  "M+": date.getMonth() + 1, //月份
33
34
  "d+": date.getDate(), //日
@@ -43,12 +44,12 @@ function dataFormat(fmt, date = new Date()) {
43
44
  return fmt;
44
45
  }
45
46
 
46
- function pathGenerate(filename) {
47
+ function pathGenerate (filename) {
47
48
  return "front-oss/" + mainId + '/' + dataFormat("yyyy/MM/dd/hh/mm/") + uid(32) + "/" + filename;
48
49
  }
49
50
 
50
51
 
51
- async function upload(ossConfig, data) {
52
+ async function upload (ossConfig, data) {
52
53
  let ossClient = new OSS(ossConfig);
53
54
  // object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
54
55
  let objectKey = pathGenerate(data.name);
@@ -57,23 +58,46 @@ async function upload(ossConfig, data) {
57
58
  return result;
58
59
  }
59
60
 
60
- async function multipartUpload(ossConfig, data, callback,extCallback) {
61
- let ossClient = new OSS(ossConfig);
62
- // object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
63
- let objectKey = pathGenerate(data.name);
64
- let res = await ossClient.multipartUpload(objectKey, data, {
65
- progress: function (p, checkpoint) {
66
- console.debug('progress callback', p, checkpoint);
67
- // 断点记录点。浏览器重启后无法直接继续上传,您需要手动触发上传操作。
68
- if (callback && callback instanceof Function) {
69
- callback(p, checkpoint,data,extCallback);
61
+ async function multipartUpload (ossConfig, data, callback, extCallback) {
62
+ if (process.env.VUE_APP_UPLOAD_PRIVATE) {
63
+ return new Promise((resolve) => {
64
+ let url = process.env.VUE_APP_UPLOAD_PRIVATE
65
+ let xhr = new XMLHttpRequest()
66
+ const formData = new FormData()
67
+ formData.append('file', data)
68
+ xhr.open("POST", url, true);
69
+ // xhr.setRequestHeader("Content-Type", "multipart/form-data")
70
+ xhr.onload = (res) => {
71
+ let reslout = JSON.parse(res.target.response)
72
+ resolve({
73
+ code: reslout.code,
74
+ res: {
75
+ requestUrls: [reslout.data]
76
+ },
77
+ name: reslout.data
78
+ })
70
79
  }
71
- }
72
- });
73
- return res;
80
+ xhr.send(formData)
81
+ })
82
+
83
+ } else {
84
+ let ossClient = new OSS(ossConfig);
85
+ // object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
86
+ let objectKey = pathGenerate(data.name);
87
+ let res = await ossClient.multipartUpload(objectKey, data, {
88
+ progress: function (p, checkpoint) {
89
+ console.debug('progress callback', p, checkpoint);
90
+ // 断点记录点。浏览器重启后无法直接继续上传,您需要手动触发上传操作。
91
+ if (callback && callback instanceof Function) {
92
+ callback(p, checkpoint, data, extCallback);
93
+ }
94
+ }
95
+ });
96
+ return res;
97
+ }
74
98
  }
75
99
 
76
- function ossFileUrl(ossConfig, path, cname) {
100
+ function ossFileUrl (ossConfig, path, cname) {
77
101
  if (cname == null) {
78
102
  return '//' + ossConfig.bucket + '.' + ossConfig.region + '.aliyuncs.com/' + path;
79
103
  } else {
@@ -81,7 +105,7 @@ function ossFileUrl(ossConfig, path, cname) {
81
105
  }
82
106
  }
83
107
 
84
- function uploadImageByBase64(ossConfig,blob) {
108
+ function uploadImageByBase64 (ossConfig, blob) {
85
109
  let ossClient = new OSS(ossConfig);
86
110
 
87
111
  // object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形 式,实现将文件上传至当前Bucket或Bucket下的指定目录。
@@ -91,4 +115,4 @@ function uploadImageByBase64(ossConfig,blob) {
91
115
  return result;
92
116
  }
93
117
 
94
- export {upload, multipartUpload, ossFileUrl,uploadImageByBase64,ossConfig}
118
+ export { upload, multipartUpload, ossFileUrl, uploadImageByBase64, ossConfig }
@@ -3,6 +3,15 @@ export function zoomElement (el) {
3
3
  let store = {
4
4
  scale: 1
5
5
  };
6
+ if (!el){
7
+ return
8
+ }
9
+ let scale = 1;
10
+ if (el.style.transform){
11
+ let transForm = el.style.transform;
12
+ var values = transForm.split('(')[1].split(')')[0].split(',');
13
+ scale = values[0] ? values[0] : 1
14
+ }
6
15
  // 缩放事件的处理
7
16
  el.addEventListener('touchstart', function (event) {
8
17
  let touches = event.touches;
@@ -67,13 +76,15 @@ export function zoomElement (el) {
67
76
  newScale = 3;
68
77
  }
69
78
  // 最小缩放比例限制
70
- if(newScale < 1) {
71
- newScale = 1;
79
+ if(newScale < scale) {
80
+ newScale = scale;
72
81
  }
73
82
  // 记住使用的缩放值
74
83
  store.scale = newScale;
75
84
  // 图像应用缩放效果
76
85
  el.style.transform = 'scale(' + newScale + ')';
86
+ el.style.transformOrigin = 'top left'
87
+
77
88
  }
78
89
  });
79
90
  document.addEventListener('touchend', function () {
@@ -35,6 +35,13 @@
35
35
  border-radius: 6px;
36
36
  background-color: #bfceec !important;
37
37
  }
38
+ @media screen and (max-width: 767px){
39
+ ::-webkit-scrollbar {
40
+ width: 0;
41
+ height: 0;
42
+ background-color:@system_bordercolor_4;
43
+ }
44
+ }
38
45
 
39
46
  // 弹窗body
40
47
  .el-dialog__body{
@@ -26,7 +26,7 @@
26
26
  class="grzh-iframe"
27
27
  :src="actionAlertIframe.template"
28
28
  width="100%"
29
- height="95%"
29
+ height="90%"
30
30
  :scrolling="actionAlertIframe.scrolling"
31
31
  frameborder="no"
32
32
  border="0"
@@ -87,6 +87,29 @@ export default {
87
87
  this.actionAlertIframe.template = this.actionAlertIframe.template + "&iframeId=" + this.tampId
88
88
  }
89
89
  this.actionAlertIframe.template = this.actionAlertIframe.template.split("&amp;").join("&")
90
+
91
+ // 监听回退事件
92
+ let _that = this;
93
+
94
+ (function () {
95
+ console.log(95, 'addEventListener window.onpopstate');
96
+ if (window.history && window.history.pushState) {
97
+ console.log(97, 'window.history && window.history.pushState');
98
+ window.onpopstate = function (e) {
99
+ console.log(9999, 'window.onpopstate innner', e);
100
+ if (_that.showAskFullScreen) {
101
+ window.history.go(1);
102
+ }
103
+ // window.history.pushState('forward', null, '');
104
+ // window.history.forward(1);
105
+ _that.showAskFullScreen = false;
106
+ if ( e && e.stopPropagation ) {
107
+ console.log(105, 'e.stopPropagation');
108
+ e.stopPropagation();
109
+ }
110
+ };
111
+ }
112
+ })();
90
113
  },
91
114
  };
92
115
  </script>