张延森 2 anos atrás
pai
commit
0adfd960ed
2 arquivos alterados com 18 adições e 0 exclusões
  1. 13
    0
      src/components/rich-editor/index.jsx
  2. 5
    0
      src/services/image.js

+ 13
- 0
src/components/rich-editor/index.jsx Ver arquivo

@@ -1,4 +1,5 @@
1 1
 import React, { forwardRef, useRef, useEffect, useMemo, useImperativeHandle } from 'react'
2
+import { uploadImage } from '@/services/image'
2 3
 
3 4
 export default forwardRef((props, ref) => {
4 5
   const editorRef = useRef()
@@ -8,6 +9,11 @@ export default forwardRef((props, ref) => {
8 9
     window.tinymce.init({
9 10
       selector: `#${id}`,
10 11
       menubar: false,
12
+      language: 'zh_CN',
13
+      plugins: 'image',
14
+      image_description: false,   // 禁用图片描述
15
+      image_dimensions: false,  // 禁用图片宽高设置
16
+      toolbar: 'blocks fontfamily fontsize bold italic backcolor alignleft aligncenter alignright alignjustify image outdent indent undo redo removeformat',
11 17
       setup: (editor) => {
12 18
         editor.on('change', () => {
13 19
           props.onChange(editor.getContent());
@@ -16,6 +22,13 @@ export default forwardRef((props, ref) => {
16 22
       },
17 23
       init_instance_callback: (editor) => {
18 24
         editorRef.current = editor;
25
+      },
26
+      images_upload_handler: (blobInfo, progress) => {
27
+        return new Promise((resolve, reject) => {
28
+          const formData = new FormData();
29
+          formData.append('file', blobInfo.blob(), blobInfo.filename());
30
+          uploadImage(formData).then(resolve)
31
+        })
19 32
       }
20 33
     });
21 34
   // eslint-disable-next-line react-hooks/exhaustive-deps

+ 5
- 0
src/services/image.js Ver arquivo

@@ -0,0 +1,5 @@
1
+import request from '@/utils/request';
2
+
3
+export function uploadImage(formdata) {
4
+  return request('/image', { method: 'post', data: formdata })  
5
+}