RuoYi前后端分离框架集成UEditorPlus富文本编辑器

一、背景

采用若依框架搭建了一个小型的电子书项目,项目前端、后端、移动端就一人,电子书的章节内容是以富文本内容进行呈现的,产品设计人员直接给了一个第三方收费的富文本编辑器截图放到开发文档中,提了一沓需求点,概况下来就是要做成下图中的样子。作为一个后端开发人员为了尽量满足产品对富文本编辑器上丰富的功能按钮的执念,对着搜索引擎与AI一顿疯狂的输入,大致得出UEditorPlus富文本编辑器可行,在与产品设计沟通后确认采用它来实现。

二、UEditorPlus

UEditorPlus是基于 UEditor 二次开发的富文本编辑器,界面功能比较丰富和现代,相关介绍可以查看官方网站,https://open-doc.modstart.com/ueditor-plus/,此处提供一张demo截图:

三、与若依框架集成

UEditorPlus与若依框架集成过程,大体上分为前端和后端两部分。前端主要是安装富文本插件,配置插件,后端主要是为了支持富文本编辑器的内容上传(比如,图片上传、视频上传等)。

1.前端集成

项目采用的若依前后端分离框架,前端vue的版本为vue2,因此前端集成UEditorPlus主要参照官方文档中关于vue2的集成方式,主要分为一下几部:

1.1.安装插件
npm i --save vue-ueditor-wrap@2.x
# 或
yarn add --save vue-ueditor-wrap@2.x
     1.2.解压 UEditorPlus 到静态资源目录

    复制 dist-min 到项目 public/static/UEditorPlus/ 目录。到官方仓库去下载对应资源,将对应目录中的资源拷贝到指定目录下。此处应注意,应该是将dist-min目录中的内容拷贝到public/static/UEditorPlus/ 下。本人在集成的时候后,将dist-min本级目录一并放到该目录下,导致运行的时候一致报资源找不到,浪费不少时间。如下图:

    1.3.插件配置

    在main.js中挂载插件,方便全局引用,如下图

    页面中引用组件并进行配置如下图:

    本人采用的配置方式并不是从后端接口读取,而是直接在前端页面配置,启用前端配置需要设置

    loadConfigFromServer=true。提供一份本人亲测可用的前端配置:

    editorConfig: {// 后端服务地址,后端处理参考// https://open-doc.modstart.com/ueditor-plus/backend.htmlserverUrl: process.env.VUE_APP_BASE_API + '/editor/upload',// ...serverHeaders: {'Authorization': 'Bearer ' + getToken()},loadConfigFromServer: false,UEDITOR_HOME_URL: '/static/UEditorPlus/',UEDITOR_CORS_URL: '/static/UEditorPlus/',autoHeightEnabled: false,initialFrameHeight: 500,//阻止div标签自动转换为p标签allowDivTransToP: false,toolbars: [

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/81432.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    ETL 工具与数据中台的关系与区别

    ETL 工具和数据中台作为数据处理领域的关键概念,虽然存在一定的关联,但二者有着明显的区别。本文将深入剖析 ETL 工具与数据中台之不同。 一、ETL 工具概述 ETL 是数据仓库技术中的核心技术之一,其全称为 Extract(抽取&#xff…

    Redis(四) - 使用Python操作Redis详解

    文章目录 前言一、下载Python插件二、创建项目三、安装 redis 库四、新建python软件包五、键操作六、字符串操作七、列表操作八、集合操作九、哈希表操作十、有序集合操作十一、完整代码1. 完整代码2. 项目下载 前言 本文是基于 Python 操作 Redis 数据库的实战指南&#xff0…

    xdvipdfmx:fatal: File ended prematurely. No output PDF file written.

    今天忽然遇到:使用xelatex或lualatex编译,一直卡住,不报错,也无法生成PDF,主动停止编译后就报错 xdvipdfmx:fatal: File ended prematurely. No output PDF file written. 然后,之前能正常编译的一些文件…

    解锁未来AI:使用DACA模式和Agentic技术提高开发效率

    学习Agentic AI:Dapr Agentic Cloud Ascent (DACA)设计模式的应用与演进 背景介绍 近年来,Agentic AI(代理型人工智能)的概念在学术界和产业界掀起了一阵热潮。Agentic AI指的是能够自主感知、决策和行动的智能体系统,它们不仅改变了我们与技术互动的方式,也为行业发展…

    Jenkins+Docker+Harbor快速部署Spring Boot项目详解

    JenkinsDockerHarbor快速部署Spring Boot项目详解 Jenkins、Docker和Harbor是现代DevOps流程中的核心工具,结合使用可以实现自动化构建、测试和部署。下面我将详细介绍如何搭建这个集成环境。 一、各工具的核心作用 Jenkins 自动化CI/CD工具,负责拉取代…

    第12次04 :首页展示用户名

    登录后&#xff0c;跳转到首页&#xff0c;首页会展示用户名&#xff1b;未登录时&#xff0c;首页将展示登录与注册的选项。 第一步&#xff1a;index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml…

    Flask 路由跳转机制:url_for生成动态URL、redirect页面重定向

    在 Flask 开发中&#xff0c;url_for() 与 redirect() 是实现路由跳转逻辑的核心工具。 url_for()负责安全、灵活地生成 URL。 redirect()负责发起重定向响应。 1、url_for()&#xff1a;生成URL url_for(endpoint, **values) 是 Flask 提供的 URL 构造工具&#xff0c;可根据…

    华为OD机试真题——构成正方形的数量(2025B卷:100分)Java/python/JavaScript/C++/C/GO六种最佳实现

    2025 B卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》 华为OD机试真题《构成…

    FFMPEG-AAC编码

    一、流程图 二、代码解释 avcodec_find_encoder: 根据指定的AVCodecID查找注册的编码器。avcodec_alloc_context3: 为AVCodecContext分配内存。()avcodec_open2: 打开编码器。avcodec_send_frame: 将AVFrame⾮压缩数据给编码器。avcodec_receive_packet: 获取到编码后的…

    RPC 协议详解、案例分析与应用场景

    一、RPC 协议原理详解 RPC 协议的核心目标是让开发者像调用本地函数一样调用远程服务&#xff0c;其实现过程涉及多个关键组件与流程。 &#xff08;一&#xff09;核心组件 客户端&#xff08;Client&#xff09;&#xff1a;发起远程过程调用的一方&#xff0c;它并不关心调…

    Docker基础 -- Ubuntu 22.04 AArch64 交叉编译 Docker 镜像构建指南

    Ubuntu 22.04 AArch64 交叉编译 Docker 镜像构建指南 作者&#xff1a; &#xff08;填写作者&#xff09; 发布日期&#xff1a; 2025‑05‑26 1 背景与目标 在企业内网&#xff08;需要代理&#xff09;环境下&#xff0c;我们需要一套可靠、可复用的 Ubuntu 22.04 交叉编…

    【ISP算法精粹】ISP算法管线的预处理算法有哪些?

    1. ISP预处理算法有哪些&#xff1f; 在图像信号处理&#xff08;ISP&#xff09;流程中&#xff0c;预处理阶段主要针对图像传感器&#xff08;如CMOS/CCD&#xff09;输出的原始图像数据&#xff08;通常为拜耳格式的RAW图像&#xff09;进行初步处理&#xff0c;以校正硬件…

    华为OD机试真题——字符串加密 (2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

    2025 B卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

    视频存储开源方案

    项目成熟度 GitHub - ceph/ceph: Ceph is a distributed object, block, and file storage platform GitHub - minio/minio: MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license. GitHub - seaweedfs/seaweedfs: SeaweedFS i…

    典型城市工况数据(Drive Cycle)用于车辆仿真

    典型城市工况数据&#xff08;Drive Cycle&#xff09;用于车辆仿真 在车辆仿真过程中&#xff0c;使用典型的城市工况数据&#xff08;Drive Cycle&#xff09;是评估车辆性能、能耗和排放的关键步骤。以下是一些常用的典型城市工况数据及其来源&#xff0c;这些数据可以帮助…

    深度解析新能源汽车结构与工作原理

    一、核心系统架构 新能源汽车主要由三大核心系统构成&#xff1a; 电力驱动系统&#xff1a;包含永磁同步电机、电机控制器&#xff08;MCU&#xff09;及减速器&#xff0c;采用三合一集成设计实现轻量化。永磁同步电机通过电磁感应原理将电能转化为机械能&#xff0c;其效率可…

    跳板问题(贪心算法+细节思考)

    首先直接看题&#xff1a; 这题直接贪心其实问题不大&#xff1a; 下面先展示我的一个错误代码&#xff1a; # include<iostream> # include<vector> # include<algorithm>using namespace std;int main() {int N,M;cin>>N>>M;vector<vecto…

    pgsql 一些用法

    要查询PostgreSQL数据库中剩余的磁盘空间&#xff0c;可以使用以下方法&#xff1a; 使用SQL查询函数&#xff1a; 可以通过pg_size_pretty函数来查看数据库的总磁盘使用情况&#xff0c;例如&#xff1a; SELECT pg_size_pretty(pg_database_size(‘your_database_name’)); …

    【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球

    【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球 文章目录 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球前言高斯函数一维高斯多维高斯 椭球基本定义一般二次形式 3D高斯椭球3D高斯与椭球的关系各向同性(Isotropic)和…

    unix的定时任务和quartz和spring schedule的cron表达式区别

    一、核心区别对比表 对比项Unix CrontabQuartzSpring Scheduled表达式位数5 位6 位或 7 位6 位秒级支持❌ 不支持&#xff08;最小单位是分钟&#xff09;✅ 支持✅ 支持年字段❌ 无✅ 可选第7位❌ 不支持特殊符号支持较少&#xff08;如 *, ,, -, /&#xff09;很丰富和 Quar…