askbot-dragon 1.5.75-beta → 1.5.76-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 (87) 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 +58 -58
  5. package/public/index.html +74 -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 +11 -11
  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 +112 -112
  21. package/src/components/AiGuide.vue +468 -467
  22. package/src/components/AnswerDocknowledge.vue +493 -532
  23. package/src/components/AnswerVoice.vue +285 -285
  24. package/src/components/AskIFrame.vue +15 -15
  25. package/src/components/ConversationContainer.vue +4802 -4834
  26. package/src/components/FileType.vue +86 -86
  27. package/src/components/Message.vue +27 -27
  28. package/src/components/actionSatisfaction.vue +107 -107
  29. package/src/components/actionSendToBot.vue +62 -62
  30. package/src/components/answerDissatisfaction.vue +62 -62
  31. package/src/components/answerRadio.vue +132 -132
  32. package/src/components/ask-components/DissatisfactionOptions.vue +57 -57
  33. package/src/components/ask-components/Msgloading.vue +37 -37
  34. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  35. package/src/components/askVideo.vue +139 -162
  36. package/src/components/assetDetails.vue +370 -370
  37. package/src/components/assetMessage.vue +228 -228
  38. package/src/components/associationIntention.vue +349 -349
  39. package/src/components/attachmentPreview.vue +90 -90
  40. package/src/components/botActionSatisfactor.vue +68 -68
  41. package/src/components/chatContent.vue +513 -513
  42. package/src/components/feedBack.vue +136 -136
  43. package/src/components/fielListView.vue +351 -351
  44. package/src/components/file/AliyunOssComponents.vue +108 -108
  45. package/src/components/formTemplate.vue +3606 -3608
  46. package/src/components/kkview.vue +1138 -1138
  47. package/src/components/loadingProcess.vue +164 -164
  48. package/src/components/message/ActionAlertIframe.vue +112 -112
  49. package/src/components/message/ShopMessage.vue +164 -164
  50. package/src/components/message/TextMessage.vue +924 -924
  51. package/src/components/message/TicketMessage.vue +201 -201
  52. package/src/components/message/swiper/index.js +4 -4
  53. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  54. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  55. package/src/components/msgLoading.vue +231 -231
  56. package/src/components/myPopup.vue +70 -70
  57. package/src/components/pdfPosition.vue +1322 -1521
  58. package/src/components/popup.vue +227 -227
  59. package/src/components/previewDoc.vue +242 -242
  60. package/src/components/previewPdf.vue +302 -315
  61. package/src/components/receiverMessagePlatform.vue +65 -65
  62. package/src/components/recommend.vue +80 -80
  63. package/src/components/selector/hOption.vue +20 -20
  64. package/src/components/selector/hSelector.vue +199 -199
  65. package/src/components/selector/hWrapper.vue +216 -216
  66. package/src/components/senderMessagePlatform.vue +50 -50
  67. package/src/components/source/BotMessage.vue +24 -24
  68. package/src/components/source/CustomMessage.vue +24 -24
  69. package/src/components/test.vue +260 -260
  70. package/src/components/tree.vue +294 -294
  71. package/src/components/utils/AliyunIssUtil.js +81 -81
  72. package/src/components/utils/ckeditor.js +174 -174
  73. package/src/components/utils/ckeditorImageUpload/command.js +109 -109
  74. package/src/components/utils/ckeditorImageUpload/editing.js +11 -11
  75. package/src/components/utils/ckeditorImageUpload/plugin-image.js +11 -11
  76. package/src/components/utils/ckeditorImageUpload/toolbar-ui.js +40 -40
  77. package/src/components/utils/ckeditorfileUpload/common.js +180 -180
  78. package/src/components/utils/ckeditorfileUpload/editing.js +11 -11
  79. package/src/components/utils/ckeditorfileUpload/plugin_file.js +11 -11
  80. package/src/components/utils/ckeditorfileUpload/toolbar_ui.js +34 -34
  81. package/src/components/utils/format_date.js +25 -25
  82. package/src/components/utils/index.js +6 -6
  83. package/src/components/utils/math_utils.js +29 -29
  84. package/src/components/voiceComponent.vue +119 -119
  85. package/src/main.js +60 -60
  86. package/vue.config.js +55 -55
  87. package/src/components/newPdfPosition.vue +0 -878
@@ -1,181 +1,181 @@
1
- import Command from "@ckeditor/ckeditor5-core/src/command";
2
- import { multipartUpload, ossFileUrl } from "../AliyunIssUtil";
3
- import { v4 as uuidv4 } from "uuid";
4
-
5
- const ossConfig = {
6
- region: "oss-cn-zhangjiakou",
7
- //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
8
- accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
9
- accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
10
- // stsToken: '<Your securityToken(STS)>',
11
- bucket: "guoranopen-zjk",
12
- }
13
-
14
- function findListener(askPluginListeners, type) {
15
- for (let i = 0, len = askPluginListeners.length; i < len; i++) {
16
- if (askPluginListeners[i].event === type) {
17
- return askPluginListeners[i];
18
- }
19
- }
20
- }
21
-
22
- export default class FileCommand extends Command {
23
- refresh() {
24
- this.isEnabled = true;
25
- }
26
- execute(file) {
27
- if (file){
28
- this.forEachFiles(file.file)
29
- return
30
- }
31
- var inputObj = document.createElement('input')
32
- inputObj.setAttribute('id', '_ef');
33
- inputObj.setAttribute('type', 'file');
34
- inputObj.setAttribute('accept','*')
35
- inputObj.setAttribute("style", 'visibility:hidden');
36
- document.body.appendChild(inputObj);
37
- inputObj.click();
38
- inputObj.onchange = () => {
39
- // 循环上传文件
40
- let files = inputObj.files;
41
- for (let index = 0; index < files.length; index++) {
42
- const filed = files[index];
43
- let uid = uuidv4()
44
- let command = this.editor.commands.get("insertAskComponent");
45
- const listeners = this.editor.config.get('askPluginListener');
46
- let beforeButtonInsert = findListener(listeners, "UPLOAD");
47
- if(filed.type.includes('image')) {
48
- if(this.editor.uploadImg) {
49
- this.editor.uploadImg.push(uid)
50
- } else {
51
- this.editor.uploadImg = []
52
- this.editor.uploadImg.push(uid)
53
- }
54
- this.ImgUploadCallback({ command, filed, uid, index, beforeButtonInsert})
55
- } else {
56
- this.FileUploadCallback({ command, filed, uid ,beforeButtonInsert})
57
- }
58
- }
59
- }
60
- }
61
- ImgUploadCallback({command, filed, uid, index}){
62
- command.execute({
63
- tag: "span-editable",
64
- options: {
65
- name: filed.name + '正在上传...',
66
- data: uid,
67
- editable:false,
68
- type:'upload'
69
- },
70
- })
71
- this.upload(filed).then(res =>{
72
- this.delChildrenNode('image')
73
- command.execute({
74
- tag: "img",
75
- options: {
76
- width:'100%',
77
- alt: filed.name + index,
78
- src: res.default
79
- },
80
- });
81
- this.editor.execute('insertParagraph', {
82
- position: this.editor.model.document.selection.focus
83
- })
84
- })
85
- }
86
- FileUploadCallback({filed, uid, beforeButtonInsert}) {
87
- beforeButtonInsert.process({
88
- type: "UPLOAD",
89
- param:{
90
- uid:uid,
91
- type:'pending',
92
- name:filed.name
93
- }
94
- });
95
- this.upload(filed).then(res =>{
96
- beforeButtonInsert.process({
97
- type: "UPLOAD",
98
- param:{
99
- uid: uid,
100
- name:filed.name,
101
- type:'success',
102
- url: res.default
103
- }
104
- })
105
- })
106
- }
107
- delChildrenNode(type) {
108
- let root = this.editor.model.document.getRoot()
109
- let children = root.getChildren()
110
- for(let child of children){
111
- console.log(child._children._nodes,'child._children._nodes');
112
- for (let index = 0; index < child._children._nodes.length; index++) {
113
- if(child._children._nodes[index].name == 'askComponentPlaceholderContainer'){
114
- if(child._children._nodes[index]._children._nodes[0]) {
115
- let attrs = child._children._nodes[index]._children._nodes[0]._attrs
116
- if(attrs) {
117
- let attrsList = [...attrs.keys()]
118
- for (let j = 0; j < attrsList.length; j++) {
119
- if(attrsList[j] == 'data') {
120
- if(type == 'file') {
121
- this.editor.uploadImg = this.editor.uploadImg.filter(id =>{return id != attrs.get(attrsList[j]).id })
122
- } else {
123
- this.editor.uploadImg = this.editor.uploadImg.filter(id =>{return id != attrs.get(attrsList[j]) })
124
- }
125
- }
126
- }
127
- }
128
- this.editor.model.change(writer => {
129
- writer.remove(child._children._nodes[index]._children._nodes[0]);
130
- });
131
- }
132
- }
133
- }
134
- }
135
- }
136
- forEachFiles(files){
137
- for (let index = 0; index < files.length; index++) {
138
- const filed = files[index];
139
- this.upload(filed).then(res =>{
140
- // 需要回调通知父组件 上传成功
141
- let command = this.editor.commands.get("insertAskComponent");
142
- command.execute({
143
- tag: "span-editable",
144
- options: {
145
- name: filed.name,
146
- data: res.default,
147
- editable:false,
148
- type:'MyFile'
149
- },
150
- })
151
- })
152
- }
153
- }
154
-
155
- upload(file) {
156
- return new Promise((resolve) => {
157
- /* this._initRequest();
158
- this._initListeners( resolve, reject, file );
159
- this._sendRequest( file );*/
160
- this.uploadFile(file, resolve)
161
- })
162
- }
163
- uploadFile(file, resolve) {
164
- let imgInfo = {
165
- url: '',
166
- }
167
- let res = multipartUpload(
168
- ossConfig,
169
- file,
170
- null,
171
- imgInfo
172
- );
173
- res.then(resp => {
174
- imgInfo.url = ossFileUrl(ossConfig, resp.name)
175
- resolve({
176
- name: resp.name,
177
- default: imgInfo.url
178
- })
179
- })
180
- }
1
+ import Command from "@ckeditor/ckeditor5-core/src/command";
2
+ import { multipartUpload, ossFileUrl } from "../AliyunIssUtil";
3
+ import { v4 as uuidv4 } from "uuid";
4
+
5
+ const ossConfig = {
6
+ region: "oss-cn-zhangjiakou",
7
+ //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
8
+ accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
9
+ accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
10
+ // stsToken: '<Your securityToken(STS)>',
11
+ bucket: "guoranopen-zjk",
12
+ }
13
+
14
+ function findListener(askPluginListeners, type) {
15
+ for (let i = 0, len = askPluginListeners.length; i < len; i++) {
16
+ if (askPluginListeners[i].event === type) {
17
+ return askPluginListeners[i];
18
+ }
19
+ }
20
+ }
21
+
22
+ export default class FileCommand extends Command {
23
+ refresh() {
24
+ this.isEnabled = true;
25
+ }
26
+ execute(file) {
27
+ if (file){
28
+ this.forEachFiles(file.file)
29
+ return
30
+ }
31
+ var inputObj = document.createElement('input')
32
+ inputObj.setAttribute('id', '_ef');
33
+ inputObj.setAttribute('type', 'file');
34
+ inputObj.setAttribute('accept','*')
35
+ inputObj.setAttribute("style", 'visibility:hidden');
36
+ document.body.appendChild(inputObj);
37
+ inputObj.click();
38
+ inputObj.onchange = () => {
39
+ // 循环上传文件
40
+ let files = inputObj.files;
41
+ for (let index = 0; index < files.length; index++) {
42
+ const filed = files[index];
43
+ let uid = uuidv4()
44
+ let command = this.editor.commands.get("insertAskComponent");
45
+ const listeners = this.editor.config.get('askPluginListener');
46
+ let beforeButtonInsert = findListener(listeners, "UPLOAD");
47
+ if(filed.type.includes('image')) {
48
+ if(this.editor.uploadImg) {
49
+ this.editor.uploadImg.push(uid)
50
+ } else {
51
+ this.editor.uploadImg = []
52
+ this.editor.uploadImg.push(uid)
53
+ }
54
+ this.ImgUploadCallback({ command, filed, uid, index, beforeButtonInsert})
55
+ } else {
56
+ this.FileUploadCallback({ command, filed, uid ,beforeButtonInsert})
57
+ }
58
+ }
59
+ }
60
+ }
61
+ ImgUploadCallback({command, filed, uid, index}){
62
+ command.execute({
63
+ tag: "span-editable",
64
+ options: {
65
+ name: filed.name + '正在上传...',
66
+ data: uid,
67
+ editable:false,
68
+ type:'upload'
69
+ },
70
+ })
71
+ this.upload(filed).then(res =>{
72
+ this.delChildrenNode('image')
73
+ command.execute({
74
+ tag: "img",
75
+ options: {
76
+ width:'100%',
77
+ alt: filed.name + index,
78
+ src: res.default
79
+ },
80
+ });
81
+ this.editor.execute('insertParagraph', {
82
+ position: this.editor.model.document.selection.focus
83
+ })
84
+ })
85
+ }
86
+ FileUploadCallback({filed, uid, beforeButtonInsert}) {
87
+ beforeButtonInsert.process({
88
+ type: "UPLOAD",
89
+ param:{
90
+ uid:uid,
91
+ type:'pending',
92
+ name:filed.name
93
+ }
94
+ });
95
+ this.upload(filed).then(res =>{
96
+ beforeButtonInsert.process({
97
+ type: "UPLOAD",
98
+ param:{
99
+ uid: uid,
100
+ name:filed.name,
101
+ type:'success',
102
+ url: res.default
103
+ }
104
+ })
105
+ })
106
+ }
107
+ delChildrenNode(type) {
108
+ let root = this.editor.model.document.getRoot()
109
+ let children = root.getChildren()
110
+ for(let child of children){
111
+ console.log(child._children._nodes,'child._children._nodes');
112
+ for (let index = 0; index < child._children._nodes.length; index++) {
113
+ if(child._children._nodes[index].name == 'askComponentPlaceholderContainer'){
114
+ if(child._children._nodes[index]._children._nodes[0]) {
115
+ let attrs = child._children._nodes[index]._children._nodes[0]._attrs
116
+ if(attrs) {
117
+ let attrsList = [...attrs.keys()]
118
+ for (let j = 0; j < attrsList.length; j++) {
119
+ if(attrsList[j] == 'data') {
120
+ if(type == 'file') {
121
+ this.editor.uploadImg = this.editor.uploadImg.filter(id =>{return id != attrs.get(attrsList[j]).id })
122
+ } else {
123
+ this.editor.uploadImg = this.editor.uploadImg.filter(id =>{return id != attrs.get(attrsList[j]) })
124
+ }
125
+ }
126
+ }
127
+ }
128
+ this.editor.model.change(writer => {
129
+ writer.remove(child._children._nodes[index]._children._nodes[0]);
130
+ });
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
136
+ forEachFiles(files){
137
+ for (let index = 0; index < files.length; index++) {
138
+ const filed = files[index];
139
+ this.upload(filed).then(res =>{
140
+ // 需要回调通知父组件 上传成功
141
+ let command = this.editor.commands.get("insertAskComponent");
142
+ command.execute({
143
+ tag: "span-editable",
144
+ options: {
145
+ name: filed.name,
146
+ data: res.default,
147
+ editable:false,
148
+ type:'MyFile'
149
+ },
150
+ })
151
+ })
152
+ }
153
+ }
154
+
155
+ upload(file) {
156
+ return new Promise((resolve) => {
157
+ /* this._initRequest();
158
+ this._initListeners( resolve, reject, file );
159
+ this._sendRequest( file );*/
160
+ this.uploadFile(file, resolve)
161
+ })
162
+ }
163
+ uploadFile(file, resolve) {
164
+ let imgInfo = {
165
+ url: '',
166
+ }
167
+ let res = multipartUpload(
168
+ ossConfig,
169
+ file,
170
+ null,
171
+ imgInfo
172
+ );
173
+ res.then(resp => {
174
+ imgInfo.url = ossFileUrl(ossConfig, resp.name)
175
+ resolve({
176
+ name: resp.name,
177
+ default: imgInfo.url
178
+ })
179
+ })
180
+ }
181
181
  }
@@ -1,12 +1,12 @@
1
- import Plugin from "@ckeditor/ckeditor5-core/src/plugin";
2
- import FileCommand from "./common";
3
- export default class MyFileUpload extends Plugin {
4
- static get pluginName() {
5
- return "fileUpload";
6
- }
7
- init() {
8
- const editor = this.editor;
9
- // 注册一个 BoldCommand 命令
10
- editor.commands.add('fileUpload', new FileCommand(editor));
11
- }
1
+ import Plugin from "@ckeditor/ckeditor5-core/src/plugin";
2
+ import FileCommand from "./common";
3
+ export default class MyFileUpload extends Plugin {
4
+ static get pluginName() {
5
+ return "fileUpload";
6
+ }
7
+ init() {
8
+ const editor = this.editor;
9
+ // 注册一个 BoldCommand 命令
10
+ editor.commands.add('fileUpload', new FileCommand(editor));
11
+ }
12
12
  }
@@ -1,12 +1,12 @@
1
- import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
2
- import ToolbarUI from './toolbar_ui'
3
- import FieldUpload from './editing'
4
-
5
- export default class MyFileUpload extends Plugin {
6
- static get requires() {
7
- return [FieldUpload, ToolbarUI];
8
- }
9
- static get pluginName() {
10
- return 'MyFileUpload';
11
- }
1
+ import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
2
+ import ToolbarUI from './toolbar_ui'
3
+ import FieldUpload from './editing'
4
+
5
+ export default class MyFileUpload extends Plugin {
6
+ static get requires() {
7
+ return [FieldUpload, ToolbarUI];
8
+ }
9
+ static get pluginName() {
10
+ return 'MyFileUpload';
11
+ }
12
12
  }
@@ -1,34 +1,34 @@
1
- import Plugin from "@ckeditor/ckeditor5-core/src/plugin";
2
- import ButtonView from "@ckeditor/ckeditor5-ui/src/button/buttonview";
3
- // import aoteman from "@ckeditor/ckeditor5-basic-styles/theme/icons/bold.svg";
4
- // import aoteman from '../../assets/image/2.jpg'
5
-
6
- // console.log(aoteman.replace('/',''));
7
- export default class BoldToolbarUI extends Plugin {
8
- init() {
9
- this._createToolbarButton();
10
- }
11
-
12
- _createToolbarButton() {
13
- const editor = this.editor;
14
- const command = editor.commands.get('fileUpload');
15
- editor.ui.componentFactory.add('MyFileUpload', (locale) => {
16
- const view = new ButtonView(locale);
17
- view.set({
18
- label: '上传图片或附件',
19
- tooltip: true,
20
- withText: true, // 在按钮上展示 label
21
- // icon:`<svg t="1674962541538" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="30473" width="14" height="14"><path d="M81.92 432.64L0 732.672V156.672C0 126.976 24.064 102.4 54.272 102.4h256c14.336 0 27.648 5.632 38.4 15.872l110.08 110.08c2.048 2.048 4.608 3.072 7.68 3.072h385.024c29.696 0 54.272 24.064 54.272 54.272v75.776H176.128c-44.544 0-82.944 28.672-94.208 71.168z m931.328-7.168c-9.728-13.824-26.112-20.992-43.008-20.992H175.616c-24.064 0-45.568 16.384-51.712 39.936L12.288 852.992c-7.68 28.672 8.704 58.368 37.888 66.048 4.608 1.024 9.216 2.048 14.336 2.048h794.112c24.064 0 45.568-16.384 51.712-39.936l111.616-409.088c4.608-16.384 1.024-33.28-8.704-46.592z" p-id="30474"></path></svg>`,
22
- // icon:'<svg t="1674984294045" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" style="width: 20px !important;height: 18px !important;" p-id="30878" ><path d="M94.72 444.928L14.848 737.792V175.616C14.848 146.432 38.4 122.88 67.584 122.88H317.44c13.824 0 27.136 5.632 37.376 15.36l107.52 107.52c2.048 2.048 4.608 3.072 7.68 3.072h375.808c29.184 0 52.736 23.552 52.736 52.736v73.728h-711.68c-43.52 0-80.896 28.16-92.16 69.632zM1003.52 437.76c-9.728-13.312-25.6-20.48-41.984-20.48H186.368c-23.552 0-44.544 15.872-50.688 38.912L26.624 855.04c-7.68 28.16 8.704 56.832 36.864 64.512 4.608 1.024 9.216 2.048 13.824 2.048h775.168c23.552 0 44.544-15.872 50.688-38.912l109.056-399.36c4.608-15.872 1.024-32.768-8.704-45.568z" p-id="30879"></path></svg>',
23
- });
24
-
25
- // console.log(Template);
26
- // 将按钮的状态关联到命令对应值上
27
- view.bind("isOn", "isEnabled").to(command, "value", "isEnabled");
28
- // 点击按钮时触发相应命令
29
- this.listenTo(view, "execute", () => editor.execute('fileUpload'));
30
- return view;
31
-
32
- })
33
- }
34
- }
1
+ import Plugin from "@ckeditor/ckeditor5-core/src/plugin";
2
+ import ButtonView from "@ckeditor/ckeditor5-ui/src/button/buttonview";
3
+ // import aoteman from "@ckeditor/ckeditor5-basic-styles/theme/icons/bold.svg";
4
+ // import aoteman from '../../assets/image/2.jpg'
5
+
6
+ // console.log(aoteman.replace('/',''));
7
+ export default class BoldToolbarUI extends Plugin {
8
+ init() {
9
+ this._createToolbarButton();
10
+ }
11
+
12
+ _createToolbarButton() {
13
+ const editor = this.editor;
14
+ const command = editor.commands.get('fileUpload');
15
+ editor.ui.componentFactory.add('MyFileUpload', (locale) => {
16
+ const view = new ButtonView(locale);
17
+ view.set({
18
+ label: '上传图片或附件',
19
+ tooltip: true,
20
+ withText: true, // 在按钮上展示 label
21
+ // icon:`<svg t="1674962541538" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="30473" width="14" height="14"><path d="M81.92 432.64L0 732.672V156.672C0 126.976 24.064 102.4 54.272 102.4h256c14.336 0 27.648 5.632 38.4 15.872l110.08 110.08c2.048 2.048 4.608 3.072 7.68 3.072h385.024c29.696 0 54.272 24.064 54.272 54.272v75.776H176.128c-44.544 0-82.944 28.672-94.208 71.168z m931.328-7.168c-9.728-13.824-26.112-20.992-43.008-20.992H175.616c-24.064 0-45.568 16.384-51.712 39.936L12.288 852.992c-7.68 28.672 8.704 58.368 37.888 66.048 4.608 1.024 9.216 2.048 14.336 2.048h794.112c24.064 0 45.568-16.384 51.712-39.936l111.616-409.088c4.608-16.384 1.024-33.28-8.704-46.592z" p-id="30474"></path></svg>`,
22
+ // icon:'<svg t="1674984294045" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" style="width: 20px !important;height: 18px !important;" p-id="30878" ><path d="M94.72 444.928L14.848 737.792V175.616C14.848 146.432 38.4 122.88 67.584 122.88H317.44c13.824 0 27.136 5.632 37.376 15.36l107.52 107.52c2.048 2.048 4.608 3.072 7.68 3.072h375.808c29.184 0 52.736 23.552 52.736 52.736v73.728h-711.68c-43.52 0-80.896 28.16-92.16 69.632zM1003.52 437.76c-9.728-13.312-25.6-20.48-41.984-20.48H186.368c-23.552 0-44.544 15.872-50.688 38.912L26.624 855.04c-7.68 28.16 8.704 56.832 36.864 64.512 4.608 1.024 9.216 2.048 13.824 2.048h775.168c23.552 0 44.544-15.872 50.688-38.912l109.056-399.36c4.608-15.872 1.024-32.768-8.704-45.568z" p-id="30879"></path></svg>',
23
+ });
24
+
25
+ // console.log(Template);
26
+ // 将按钮的状态关联到命令对应值上
27
+ view.bind("isOn", "isEnabled").to(command, "value", "isEnabled");
28
+ // 点击按钮时触发相应命令
29
+ this.listenTo(view, "execute", () => editor.execute('fileUpload'));
30
+ return view;
31
+
32
+ })
33
+ }
34
+ }
@@ -1,26 +1,26 @@
1
- const formatDate = (fmt) => { //author: meizz
2
- var o = {
3
- "M+": this.getMonth() + 1, //月份
4
- "d+": this.getDate(), //日
5
- "h+": this.getHours(), //小时
6
- "m+": this.getMinutes(), //分
7
- "s+": this.getSeconds(), //秒
8
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
9
- "S": this.getMilliseconds() //毫秒
10
- };
11
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
12
- for (var k in o)
13
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
14
- return fmt;
15
- }
16
- function forMatTime(value){
17
- let startTime = ''
18
- let currentTime = new Date(), year = currentTime.getFullYear(),
19
- month = currentTime.getMonth() + 1 < 10 ? '0' + (currentTime.getMonth() + 1) : currentTime.getMonth() + 1,
20
- day = currentTime.getDate() < 10 ? '0' + currentTime.getDate() : currentTime.getDate();
21
- startTime = year + "-" + month + "-" + day +' ' + value;
22
- return new Date(startTime)
23
- }
24
- export { formatDate,forMatTime };
25
-
1
+ const formatDate = (fmt) => { //author: meizz
2
+ var o = {
3
+ "M+": this.getMonth() + 1, //月份
4
+ "d+": this.getDate(), //日
5
+ "h+": this.getHours(), //小时
6
+ "m+": this.getMinutes(), //分
7
+ "s+": this.getSeconds(), //秒
8
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
9
+ "S": this.getMilliseconds() //毫秒
10
+ };
11
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
12
+ for (var k in o)
13
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
14
+ return fmt;
15
+ }
16
+ function forMatTime(value){
17
+ let startTime = ''
18
+ let currentTime = new Date(), year = currentTime.getFullYear(),
19
+ month = currentTime.getMonth() + 1 < 10 ? '0' + (currentTime.getMonth() + 1) : currentTime.getMonth() + 1,
20
+ day = currentTime.getDate() < 10 ? '0' + currentTime.getDate() : currentTime.getDate();
21
+ startTime = year + "-" + month + "-" + day +' ' + value;
22
+ return new Date(startTime)
23
+ }
24
+ export { formatDate,forMatTime };
25
+
26
26
  // new Date("2019-12-14T00:09:16.000+0000").Format("yyyy-MM-dd hh:mm:ss")
@@ -1,7 +1,7 @@
1
- import {formatDate} from './format_date';
2
-
3
- let utils = {
4
- formatDate
5
- }
6
-
1
+ import {formatDate} from './format_date';
2
+
3
+ let utils = {
4
+ formatDate
5
+ }
6
+
7
7
  export { utils }
@@ -1,29 +1,29 @@
1
- //生成从minNum到maxNum-1的随机数
2
- function randomNum(minNum,maxNum){
3
- switch(arguments.length){
4
- case 1:
5
- return parseInt(Math.random()*minNum+1,10)-1;
6
- case 2:
7
- return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10)-1;
8
- default:
9
- return 0;
10
- }
11
- }
12
- function uniqueData(tempArr) {
13
- let result = [];
14
- let obj = {};
15
- if (!tempArr){
16
- return []
17
- }
18
- for (let i = 0; i < tempArr.length; i++) {
19
- if (!obj[tempArr[i].value]) {
20
- result.push(tempArr[i]);
21
- obj[tempArr[i].value] = true;
22
- }
23
- }
24
- return result;
25
- }
26
- export {
27
- randomNum,
28
- uniqueData
29
- }
1
+ //生成从minNum到maxNum-1的随机数
2
+ function randomNum(minNum,maxNum){
3
+ switch(arguments.length){
4
+ case 1:
5
+ return parseInt(Math.random()*minNum+1,10)-1;
6
+ case 2:
7
+ return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10)-1;
8
+ default:
9
+ return 0;
10
+ }
11
+ }
12
+ function uniqueData(tempArr) {
13
+ let result = [];
14
+ let obj = {};
15
+ if (!tempArr){
16
+ return []
17
+ }
18
+ for (let i = 0; i < tempArr.length; i++) {
19
+ if (!obj[tempArr[i].value]) {
20
+ result.push(tempArr[i]);
21
+ obj[tempArr[i].value] = true;
22
+ }
23
+ }
24
+ return result;
25
+ }
26
+ export {
27
+ randomNum,
28
+ uniqueData
29
+ }