askbot-dragon 1.6.24-beta → 1.6.26-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 (90) 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 +55 -58
  5. package/public/index.html +72 -74
  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 +92 -92
  11. package/src/assets/js/Base64Util.js +22 -22
  12. package/src/assets/js/common.js +75 -75
  13. package/src/assets/js/hammer.js +100 -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 +199 -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 +177 -177
  21. package/src/components/AiGuide.vue +466 -466
  22. package/src/components/AnswerDocknowledge.vue +597 -597
  23. package/src/components/AnswerVoice.vue +285 -285
  24. package/src/components/AskIFrame.vue +15 -15
  25. package/src/components/ConversationContainer.vue +5039 -4969
  26. package/src/components/FileType.vue +86 -86
  27. package/src/components/Message.vue +27 -27
  28. package/src/components/MyEditor.vue +345 -0
  29. package/src/components/actionSatisfaction.vue +107 -107
  30. package/src/components/actionSendToBot.vue +62 -62
  31. package/src/components/answerDissatisfaction.vue +62 -62
  32. package/src/components/answerRadio.vue +186 -132
  33. package/src/components/ask-components/DissatisfactionOptions.vue +57 -57
  34. package/src/components/ask-components/Msgloading.vue +37 -37
  35. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  36. package/src/components/askVideo.vue +162 -162
  37. package/src/components/assetDetails.vue +370 -370
  38. package/src/components/assetMessage.vue +228 -228
  39. package/src/components/associationIntention.vue +355 -355
  40. package/src/components/attachmentPreview.vue +90 -90
  41. package/src/components/botActionSatisfactor.vue +68 -68
  42. package/src/components/chatContent.vue +513 -513
  43. package/src/components/feedBack.vue +136 -136
  44. package/src/components/fielListView.vue +351 -351
  45. package/src/components/file/AliyunOssComponents.vue +108 -108
  46. package/src/components/formTemplate.vue +3572 -3576
  47. package/src/components/kkview.vue +1138 -1138
  48. package/src/components/loadingProcess.vue +164 -164
  49. package/src/components/message/ActionAlertIframe.vue +112 -112
  50. package/src/components/message/ShopMessage.vue +164 -164
  51. package/src/components/message/TextMessage.vue +924 -924
  52. package/src/components/message/TicketMessage.vue +201 -201
  53. package/src/components/message/swiper/index.js +4 -4
  54. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  55. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  56. package/src/components/msgLoading.vue +231 -231
  57. package/src/components/myPopup.vue +70 -70
  58. package/src/components/newPdfPosition.vue +877 -877
  59. package/src/components/pdfPosition.vue +1508 -1508
  60. package/src/components/popup.vue +227 -227
  61. package/src/components/previewDoc.vue +242 -242
  62. package/src/components/previewPdf.vue +319 -319
  63. package/src/components/receiverMessagePlatform.vue +65 -65
  64. package/src/components/recommend.vue +80 -80
  65. package/src/components/selector/hOption.vue +20 -20
  66. package/src/components/selector/hSelector.vue +199 -199
  67. package/src/components/selector/hWrapper.vue +216 -216
  68. package/src/components/senderMessagePlatform.vue +50 -50
  69. package/src/components/source/BotMessage.vue +24 -24
  70. package/src/components/source/CustomMessage.vue +24 -24
  71. package/src/components/test.vue +260 -260
  72. package/src/components/tree.vue +294 -294
  73. package/src/components/utils/AliyunIssUtil.js +81 -81
  74. package/src/components/utils/ckeditor.js +174 -174
  75. package/src/components/utils/format_date.js +25 -25
  76. package/src/components/utils/index.js +6 -6
  77. package/src/components/utils/math_utils.js +29 -29
  78. package/src/components/voiceComponent.vue +119 -119
  79. package/src/components/welcomeKnowledgeFile.vue +263 -229
  80. package/src/components/welcomeLlmCard.vue +138 -138
  81. package/src/main.js +57 -60
  82. package/vue.config.js +54 -55
  83. package/src/components/utils/ckeditorImageUpload/command.js +0 -110
  84. package/src/components/utils/ckeditorImageUpload/editing.js +0 -12
  85. package/src/components/utils/ckeditorImageUpload/plugin-image.js +0 -12
  86. package/src/components/utils/ckeditorImageUpload/toolbar-ui.js +0 -41
  87. package/src/components/utils/ckeditorfileUpload/common.js +0 -182
  88. package/src/components/utils/ckeditorfileUpload/editing.js +0 -12
  89. package/src/components/utils/ckeditorfileUpload/plugin_file.js +0 -12
  90. package/src/components/utils/ckeditorfileUpload/toolbar_ui.js +0 -35
@@ -1,139 +1,139 @@
1
- <template>
2
- <div class="message_list-welcome-m">
3
- <div class="mlwm-title">{{ msgContent.title }}</div>
4
- <div class="mlwm-des">
5
- <span class="mlwm-des-pre">{{ msgContent.description }}</span>
6
- <div class="mlwm-des-after" v-if="false">
7
- <span class="mlwm-des-after-cir"></span>
8
- <span class="mlwm-des-after-text">可以试着这样问我:</span>
9
- </div>
10
- </div>
11
- <div class="mlwm-msg-type">
12
- <div v-for="(item, itemIndex) in msgContent.items"
13
- :key="item.id"
14
- :class="['mmt-cell', 'mmt-cell-' + itemIndex]"
15
- @click="clickFun(item)"
16
- >
17
- <div class="mmt-cell-img">
18
- <img :src="item.icon" alt="" srcset="">
19
- </div>
20
- <div class="mmt-cell-des">
21
- <span class="mmt-cell-des-title">{{item.title}}</span>
22
- <span class="mmt-cell-des-detail">{{item.description}}</span>
23
- </div>
24
- </div>
25
- </div>
26
- </div>
27
- </template>
28
-
29
- <script>
30
- export default {
31
- name: "welcomeLlmCard",
32
- props:{
33
- msgContent:{
34
- type:Object,
35
- default(){
36
- return {}
37
- }
38
- }
39
- },
40
- methods:{
41
- clickFun(item){
42
- this.$emit('llmCardClickFun',item)
43
- }
44
- }
45
- };
46
- </script>
47
-
48
- <style scoped lang="less">
49
- .message_list-welcome-m{
50
- .mlwm-title {
51
- font-size: 18px;
52
- font-weight: 600;
53
- color: #333333;
54
- }
55
- .mlwm-des{
56
- color: #666666;
57
- margin-top: 9px;
58
- font-size: 14px;
59
- font-weight: 500;
60
- .mlwm-des-after {
61
- display: flex;
62
- align-items: center;
63
- height: 28px;
64
- line-height: 28px;
65
- .mlwm-des-after-cir {
66
- flex: none;
67
- width: 6px;
68
- height: 6px;
69
- background: #366AFF;
70
- border-radius: 50%;
71
- margin-right: 6px;
72
- }
73
- }
74
- }
75
-
76
- .mlwm-msg-type{
77
- margin-top: 9px;
78
- .mmt-cell{
79
- flex: 1;
80
- padding: 10px;
81
- background: #F0F4FF;
82
- border-radius: 8px;
83
- margin: 8px 0;
84
- display: flex;
85
- justify-content: space-between;
86
- align-items: center;
87
- cursor: pointer;
88
- .mmt-cell-img{
89
- flex: none;
90
- width: 46px;
91
- margin-right: 8px;
92
- img {
93
- height: 46px;
94
- width: 46px;
95
- }
96
- }
97
- .mmt-cell-des{
98
- flex: auto;
99
- text-align: left;
100
- display: flex;
101
- flex-direction: column;
102
- padding-right: 12px;
103
- .mmt-cell-des-title {
104
- font-size: 14px;
105
- color: #000000;
106
- font-weight: 600;
107
- margin-bottom: 6px;
108
- }
109
- .mmt-cell-des-detail{
110
- font-size: 12px;
111
- display: flex;
112
- align-items: center;
113
- .mmt-cell-avatar{
114
- flex: none;
115
- width: 20px;
116
- margin-right: 8px;
117
- display: flex;
118
- align-items: center;
119
- img {
120
- height: 20px;
121
- width: 20px;
122
- border-radius: 50%;
123
- }
124
- }
125
- .mmt-creator-name{
126
- padding-right: 6px;
127
- border-right: 1px solid #666666;
128
- color: #666666;
129
- }
130
- .mmt-update-time{
131
- color: #666666;
132
- padding-left: 6px;
133
- }
134
- }
135
- }
136
- }
137
- }
138
- }
1
+ <template>
2
+ <div class="message_list-welcome-m">
3
+ <div class="mlwm-title">{{ msgContent.title }}</div>
4
+ <div class="mlwm-des">
5
+ <span class="mlwm-des-pre">{{ msgContent.description }}</span>
6
+ <div class="mlwm-des-after" v-if="false">
7
+ <span class="mlwm-des-after-cir"></span>
8
+ <span class="mlwm-des-after-text">可以试着这样问我:</span>
9
+ </div>
10
+ </div>
11
+ <div class="mlwm-msg-type">
12
+ <div v-for="(item, itemIndex) in msgContent.items"
13
+ :key="item.id"
14
+ :class="['mmt-cell', 'mmt-cell-' + itemIndex]"
15
+ @click="clickFun(item)"
16
+ >
17
+ <div class="mmt-cell-img">
18
+ <img :src="item.icon" alt="" srcset="">
19
+ </div>
20
+ <div class="mmt-cell-des">
21
+ <span class="mmt-cell-des-title">{{item.title}}</span>
22
+ <span class="mmt-cell-des-detail">{{item.description}}</span>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </template>
28
+
29
+ <script>
30
+ export default {
31
+ name: "welcomeLlmCard",
32
+ props:{
33
+ msgContent:{
34
+ type:Object,
35
+ default(){
36
+ return {}
37
+ }
38
+ }
39
+ },
40
+ methods:{
41
+ clickFun(item){
42
+ this.$emit('llmCardClickFun',item)
43
+ }
44
+ }
45
+ };
46
+ </script>
47
+
48
+ <style scoped lang="less">
49
+ .message_list-welcome-m{
50
+ .mlwm-title {
51
+ font-size: 18px;
52
+ font-weight: 600;
53
+ color: #333333;
54
+ }
55
+ .mlwm-des{
56
+ color: #666666;
57
+ margin-top: 9px;
58
+ font-size: 14px;
59
+ font-weight: 500;
60
+ .mlwm-des-after {
61
+ display: flex;
62
+ align-items: center;
63
+ height: 28px;
64
+ line-height: 28px;
65
+ .mlwm-des-after-cir {
66
+ flex: none;
67
+ width: 6px;
68
+ height: 6px;
69
+ background: #366AFF;
70
+ border-radius: 50%;
71
+ margin-right: 6px;
72
+ }
73
+ }
74
+ }
75
+
76
+ .mlwm-msg-type{
77
+ margin-top: 9px;
78
+ .mmt-cell{
79
+ flex: 1;
80
+ padding: 10px;
81
+ background: #F0F4FF;
82
+ border-radius: 8px;
83
+ margin: 8px 0;
84
+ display: flex;
85
+ justify-content: space-between;
86
+ align-items: center;
87
+ cursor: pointer;
88
+ .mmt-cell-img{
89
+ flex: none;
90
+ width: 46px;
91
+ margin-right: 8px;
92
+ img {
93
+ height: 46px;
94
+ width: 46px;
95
+ }
96
+ }
97
+ .mmt-cell-des{
98
+ flex: auto;
99
+ text-align: left;
100
+ display: flex;
101
+ flex-direction: column;
102
+ padding-right: 12px;
103
+ .mmt-cell-des-title {
104
+ font-size: 14px;
105
+ color: #000000;
106
+ font-weight: 600;
107
+ margin-bottom: 6px;
108
+ }
109
+ .mmt-cell-des-detail{
110
+ font-size: 12px;
111
+ display: flex;
112
+ align-items: center;
113
+ .mmt-cell-avatar{
114
+ flex: none;
115
+ width: 20px;
116
+ margin-right: 8px;
117
+ display: flex;
118
+ align-items: center;
119
+ img {
120
+ height: 20px;
121
+ width: 20px;
122
+ border-radius: 50%;
123
+ }
124
+ }
125
+ .mmt-creator-name{
126
+ padding-right: 6px;
127
+ border-right: 1px solid #666666;
128
+ color: #666666;
129
+ }
130
+ .mmt-update-time{
131
+ color: #666666;
132
+ padding-left: 6px;
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
139
139
  </style>
package/src/main.js CHANGED
@@ -1,60 +1,57 @@
1
- import Vue from 'vue'
2
- import App from './App.vue'
3
- import VueResource from 'vue-resource'
4
- import ElementUI from 'element-ui';
5
- import { requestUrl } from './api/index';
6
- import { utils } from '../src/components/utils/index';
7
- // /*import 'element-ui/lib/theme-chalk/index.css';*/
8
- import './assets/theme/index.css'
9
- import 'video.js/dist/video-js.css'
10
- import Vant from 'vant';
11
- import 'vant/lib/index.css';
12
-
13
- import CKEditor from '@ckeditor/ckeditor5-vue2';
14
- Vue.use(CKEditor);
15
-
16
- /*import VConsole from 'vconsole'
17
- const vConsole = new VConsole();
18
- Vue.use(vConsole);*/
19
- import $ from 'jquery'
20
- Vue.prototype._$ = $;
21
- Vue.use(Vant);
22
- Date.prototype.Format = function (fmt) { //author: meizz
23
- var o = {
24
- "M+": this.getMonth() + 1, //月份
25
- "d+": this.getDate(), //日
26
- "h+": this.getHours(), //小时
27
- "m+": this.getMinutes(), //分
28
- "s+": this.getSeconds(), //秒
29
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
30
- "S": this.getMilliseconds() //毫秒
31
- };
32
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
33
- for (var k in o)
34
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
35
- return fmt;
36
- }
37
- Vue.config.productionTip = false
38
- Vue.use(VueResource)
39
- Vue.use(ElementUI)
40
- //导入图片预览viewer组件以及css
41
- import Viewer from 'v-viewer'
42
- import 'viewerjs/dist/viewer.css'
43
- Vue.use(Viewer, {
44
- defaultOptions: {
45
- zIndex: 9999,//解决图片放大的层级问题
46
- }
47
- });
48
- // setDeafaults配置
49
- Viewer.setDefaults({
50
- Options: { "inline": true, "button": true, "navbar": true, "title": true, "toolbar": true, "tooltip": true, "movable": true, "zoomable": true, "rotatable": true, "scalable": true, "transition": true, "fullscreen": true, "keyboard": true, "url": "data-source" }
51
- })
52
-
53
-
54
-
55
- Vue.prototype.requestUrl = requestUrl;
56
- Vue.prototype.utils = utils;
57
-
58
- new Vue({
59
- render: h => h(App),
60
- }).$mount('#app')
1
+ import Vue from 'vue'
2
+ import App from './App.vue'
3
+ import VueResource from 'vue-resource'
4
+ import ElementUI from 'element-ui';
5
+ import { requestUrl } from './api/index';
6
+ import { utils } from '../src/components/utils/index';
7
+ // /*import 'element-ui/lib/theme-chalk/index.css';*/
8
+ import './assets/theme/index.css'
9
+ import 'video.js/dist/video-js.css'
10
+ import Vant from 'vant';
11
+ import 'vant/lib/index.css';
12
+
13
+ /*import VConsole from 'vconsole'
14
+ const vConsole = new VConsole();
15
+ Vue.use(vConsole);*/
16
+ import $ from 'jquery'
17
+ Vue.prototype._$ = $;
18
+ Vue.use(Vant);
19
+ Date.prototype.Format = function (fmt) { //author: meizz
20
+ var o = {
21
+ "M+": this.getMonth() + 1, //月份
22
+ "d+": this.getDate(), //日
23
+ "h+": this.getHours(), //小时
24
+ "m+": this.getMinutes(), //分
25
+ "s+": this.getSeconds(), //秒
26
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
27
+ "S": this.getMilliseconds() //毫秒
28
+ };
29
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
30
+ for (var k in o)
31
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
32
+ return fmt;
33
+ }
34
+ Vue.config.productionTip = false
35
+ Vue.use(VueResource)
36
+ Vue.use(ElementUI)
37
+ //导入图片预览viewer组件以及css
38
+ import Viewer from 'v-viewer'
39
+ import 'viewerjs/dist/viewer.css'
40
+ Vue.use(Viewer, {
41
+ defaultOptions: {
42
+ zIndex: 9999,//解决图片放大的层级问题
43
+ }
44
+ });
45
+ // setDeafaults配置
46
+ Viewer.setDefaults({
47
+ Options: { "inline": true, "button": true, "navbar": true, "title": true, "toolbar": true, "tooltip": true, "movable": true, "zoomable": true, "rotatable": true, "scalable": true, "transition": true, "fullscreen": true, "keyboard": true, "url": "data-source" }
48
+ })
49
+
50
+
51
+
52
+ Vue.prototype.requestUrl = requestUrl;
53
+ Vue.prototype.utils = utils;
54
+
55
+ new Vue({
56
+ render: h => h(App),
57
+ }).$mount('#app')
package/vue.config.js CHANGED
@@ -1,56 +1,55 @@
1
- const webpack = require('webpack')
2
-
3
-
4
- module.exports = {
5
- // 修改的配置
6
- // 将baseUrl: '/api',改为baseUrl: '/',
7
- devServer: {
8
- port: '8082', // 指定打开浏览器的端口号
9
- proxy: {
10
- '/api/': {
11
- // target: 'http://test.open.abitai.com:9001',
12
- target: 'http://test.open.askbot.cn:32001',
13
- changeOrigin: true,
14
- ws: true,
15
- pathRewrite: {
16
- '^/api': '/'
17
- }
18
- },
19
- '/open/': {
20
- target: 'http://new-test.guoranbot.com:32001',
21
- changeOrigin: true,
22
- pathRewrite: {
23
- '^/open': '/'
24
- }
25
- },
26
- '/order-api': {
27
- target: 'http://master.test.askbot.cn:32022',
28
- /*target:'http://new-test.guoranbot.com:30672',*/
29
- changeOrigin: true,
30
- ws: true,
31
- pathRewrite: {
32
- '^/order-api': '/'
33
- }
34
- },
35
- '/knowledge-api/': {
36
- target: 'http://master.test.askbot.cn:30202',
37
- changeOrigin: true,
38
- ws: true,
39
- pathRewrite: {
40
- '^/knowledge-api': '/'
41
- }
42
- },
43
- },
44
- },
45
- configureWebpack: {
46
- externals: {
47
- // 'vue': 'Vue',
48
- // 属性名称 element-ui, 表示遇到 import xxx from 'element-ui' 这类引入 'element-ui'的,
49
- // 不去 node_modules 中找,而是去找 全局变量 ELEMENT
50
- // 'element-ui': 'ELEMENT',
51
- // 'vant': 'Vant',
52
- 'ckeditor': 'ClassicEditor',
53
- },
54
- },
55
-
1
+ const webpack = require('webpack')
2
+
3
+
4
+ module.exports = {
5
+ // 修改的配置
6
+ // 将baseUrl: '/api',改为baseUrl: '/',
7
+ devServer: {
8
+ port: '8082', // 指定打开浏览器的端口号
9
+ proxy: {
10
+ '/api/': {
11
+ // target: 'http://test.open.abitai.com:9001',
12
+ target: 'http://test.open.askbot.cn:32001',
13
+ changeOrigin: true,
14
+ ws: true,
15
+ pathRewrite: {
16
+ '^/api': '/'
17
+ }
18
+ },
19
+ '/open/': {
20
+ target: 'http://new-test.guoranbot.com:32001',
21
+ changeOrigin: true,
22
+ pathRewrite: {
23
+ '^/open': '/'
24
+ }
25
+ },
26
+ '/order-api': {
27
+ target: 'http://master.test.askbot.cn:32022',
28
+ /*target:'http://new-test.guoranbot.com:30672',*/
29
+ changeOrigin: true,
30
+ ws: true,
31
+ pathRewrite: {
32
+ '^/order-api': '/'
33
+ }
34
+ },
35
+ '/knowledge-api/': {
36
+ target: 'http://master.test.askbot.cn:30202',
37
+ changeOrigin: true,
38
+ ws: true,
39
+ pathRewrite: {
40
+ '^/knowledge-api': '/'
41
+ }
42
+ },
43
+ },
44
+ },
45
+ configureWebpack: {
46
+ externals: {
47
+ // 'vue': 'Vue',
48
+ // 属性名称 element-ui, 表示遇到 import xxx from 'element-ui' 这类引入 'element-ui'的,
49
+ // 不去 node_modules 中找,而是去找 全局变量 ELEMENT
50
+ // 'element-ui': 'ELEMENT',
51
+ // 'vant': 'Vant',
52
+ },
53
+ },
54
+
56
55
  };
@@ -1,110 +0,0 @@
1
- import Command from "@ckeditor/ckeditor5-core/src/command";
2
- import { multipartUpload, ossFileUrl } from "../AliyunIssUtil";
3
- const ossConfig = {
4
- region: "oss-cn-zhangjiakou",
5
- //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
6
- accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
7
- accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
8
- // stsToken: '<Your securityToken(STS)>',
9
- bucket: "guoranopen-zjk",
10
- }
11
- export default class ImageCommand extends Command {
12
- refresh() {
13
- this.isEnabled = true;
14
- }
15
- execute(file) {
16
- if (file){
17
- this.forEachFiles(file.file)
18
- return
19
- }
20
- var inputObj = document.createElement('input')
21
- inputObj.setAttribute('id', '_ef');
22
- inputObj.setAttribute('type', 'file');
23
- inputObj.setAttribute('accept','image/jpeg,image/png,image/gif,image/bmp,image/webp,image/tiff')
24
- inputObj.setAttribute("style", 'visibility:hidden');
25
- document.body.appendChild(inputObj);
26
- inputObj.click();
27
- inputObj.onchange = () => {
28
- // 循环上传文件
29
- let files = inputObj.files;
30
- for (let index = 0; index < files.length; index++) {
31
- const filed = files[index];
32
- let command = this.editor.commands.get("insertAskComponent");
33
- command.execute({
34
- tag: "span-editable",
35
- options: {
36
- name: filed.name + '正在上传...',
37
- data: index,
38
- editable:false,
39
- type:'upload'
40
- },
41
- })
42
- this.upload(filed).then(res =>{
43
- // let command = this.editor.commands.get("insertAskComponent");
44
- command.execute({
45
- tag: "img",
46
- options: {
47
- width:'100%',
48
- alt: filed.name + index,
49
- src: res.default
50
- },
51
- });
52
- })
53
- }
54
- }
55
- }
56
- forEachFiles(files){
57
- for (let index = 0; index < files.length; index++) {
58
- const filed = files[index];
59
- let command = this.editor.commands.get("insertAskComponent");
60
- command.execute({
61
- tag: "span-editable",
62
- options: {
63
- name: filed.name + '正在上传...',
64
- data: index,
65
- editable: false,
66
- type: 'upload'
67
- },
68
- })
69
- this.upload(filed).then(res => {
70
- // let command = this.editor.commands.get("insertAskComponent");
71
- command.execute({
72
- tag: "img",
73
- options: {
74
- width: '100%',
75
- alt: filed.name + index,
76
- src: res.default
77
- },
78
- });
79
- })
80
- }
81
- }
82
- upload(file) {
83
- return new Promise((resolve) => {
84
- /* this._initRequest();
85
- this._initListeners( resolve, reject, file );
86
- this._sendRequest( file );*/
87
- this.uploadFile(file, resolve)
88
- })
89
- }
90
- uploadFile(file, resolve) {
91
- let imgInfo = {
92
- url: '',
93
- }
94
- let res = multipartUpload(
95
- ossConfig,
96
- file,
97
- null,
98
- imgInfo
99
- );
100
- console.log(res,'resprespresp');
101
- res.then(resp => {
102
- imgInfo.url = ossFileUrl(ossConfig, resp.name)
103
- console.log(resp,'resprespresp');
104
- console.log(imgInfo)
105
- resolve({
106
- default: imgInfo.url
107
- })
108
- })
109
- }
110
- }
@@ -1,12 +0,0 @@
1
- import Plugin from "@ckeditor/ckeditor5-core/src/plugin";
2
- import ImageCommand from "./command";
3
- export default class MyimageUpload extends Plugin {
4
- static get pluginName() {
5
- return "imageUpload";
6
- }
7
- init() {
8
- const editor = this.editor;
9
- // 注册一个 BoldCommand 命令
10
- editor.commands.add('imageUpload', new ImageCommand(editor));
11
- }
12
- }
@@ -1,12 +0,0 @@
1
- import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
2
- import ToolbarUI from './toolbar-ui'
3
- import ImageUpload from './editing'
4
-
5
- export default class MyimageUpload extends Plugin {
6
- static get requires() {
7
- return [ImageUpload, ToolbarUI];
8
- }
9
- static get pluginName() {
10
- return 'MyimageUpload';
11
- }
12
- }