diff --git a/package.json b/package.json
index fc1939f79..8234b3367 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
"url": "https://gitee.com/y_project/RuoYi-Vue.git"
},
"dependencies": {
+ "@tinymce/tinymce-vue": "^5.0.0",
"@element-plus/icons-vue": "2.0.10",
"@vueuse/core": "9.5.0",
"axios": "0.27.2",
diff --git a/src/api/system/upload.js b/src/api/system/upload.js
new file mode 100644
index 000000000..dd826294c
--- /dev/null
+++ b/src/api/system/upload.js
@@ -0,0 +1,10 @@
+import request from '@/utils/request';
+
+export function uploadImage(data, onUploadProgress = () => {}) {
+ return request({
+ url: '/common/upload',
+ method: 'post',
+ data: data,
+ onUploadProgress,
+ });
+}
diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue
new file mode 100644
index 000000000..1ed087fae
--- /dev/null
+++ b/src/components/Editor/index.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 28725e7bd..5c5ffc417 100644
--- a/src/main.js
+++ b/src/main.js
@@ -41,6 +41,8 @@ import ImagePreview from "@/components/ImagePreview"
import TreeSelect from '@/components/TreeSelect'
// 字典标签组件
import DictTag from '@/components/DictTag'
+// 富文本组件
+import Editor from "@/components/Editor";
const app = createApp(App)
@@ -62,6 +64,7 @@ app.component('FileUpload', FileUpload)
app.component('ImageUpload', ImageUpload)
app.component('ImagePreview', ImagePreview)
app.component('RightToolbar', RightToolbar)
+app.component("Editor", Editor);
app.use(router)
app.use(store)