vue3 使用 vue-ueditor-wrap 集成135以及秀米编辑器(亲测可用)!

1.先安装vue-ueditor-wrap富文本组件
# vue-ueditor-wrap v3 仅支持 Vue 3
npm i vue-ueditor-wrap@3.x -S
# or
yarn add vue-ueditor-wrap@3.x
2. 下载 UEditor

UEditor 并不支持通过 npm 的方式来安装,vue-ueditor-wrap 也只是一个 Vue 组件,组件本身并不是 UEditor 的 Vue 版。了解 UEditor 基本使用,请参考 UEditor 官网。
说明:不同语言的 UEditor,前端部分,并无区别,只是包含了对应语言的 服务端 示例代码。UEditor 官方并没有提供 Node.js 版的示例代码,有需求的同学可以参考 此处。

将解压的文件夹重命名为 UEditor 并移动到你项目的静态资源目录下,比如下面是一个由 Vue CLI(v3+)创建的项目,静态资源目录就是 public。

3.注册组件
// main.ts
import { createApp } from 'vue';
import VueUeditorWrap from 'vue-ueditor-wrap';
import App from './App.vue';
 
createApp(App).use(VueUeditorWrap).mount('#app');

效果预览如下图:

 

 

 以上图1是135以及秀米编辑器引入成功的样子,图2图3分别是使用135以及秀米编辑器的效果图

 以下是135以及秀米跳转成功效果图:

 4.接入135编辑器

地址:135编辑器,微信图文编辑器,微信图文美化编辑器,格式多方便的图文编辑-

下面是参考文档,跟着文档走!

 

5.接入秀米编辑器

地址:秀米图文排版UEditor插件示例 

主要是下载这4个文件:xiumi-ue-dialog-v5.js

                                      xiumi-ue-v5-css

                                      xiumi-ue-dialog-v5-html

                                      internal.js

以上文件存放位置可以参考我最上面的public目录,认真看官方文档很详情!

下面是改xiumi-ue-dialog-v5.js文件iframeUrl路径

改之前:

UE.registerUI('dialog', function (editor, uiName) {
    var btn = new UE.ui.Button({
        name   : 'xiumi-connect',
        title  : '秀米',
        onclick: function () {
            var dialog = new UE.ui.Dialog({
                iframeUrl: 'xiumi-ue-dialog-v5.html',
                editor   : editor,
                name     : 'xiumi-connect',
                title    : "秀米图文消息助手",
                cssRules : "width: " + (window.innerWidth - 60) + "px;" + "height: " + (window.innerHeight - 60) + "px;",
            });
            dialog.render();
            dialog.open();
        }
    });

    return btn;
});

 

改之后:

UE.registerUI('dialog', function (editor, uiName) {
    var btn = new UE.ui.Button({
        name   : 'xiumi-connect',
        title  : '秀米',
        onclick: function () {
            var dialog = new UE.ui.Dialog({
                iframeUrl: '../../public/UEditor/xiumi-ue-dialog-v5.html',
                editor   : editor,
                name     : 'xiumi-connect',
                title    : "秀米图文消息助手",
                cssRules : "width: " + (window.innerWidth - 60) + "px;" + "height: " + (window.innerHeight - 60) + "px;",
            });
            dialog.render();
            dialog.open();
        }
    });

    return btn;
});

 路径是根据自己文件的存放位置来决定的,实际情况要结合自己的目录!

6.页面引用

<template>
    <div>
        <div style="width: 98%;height: 500px;background-color: bisque;margin: auto;margin-top: 100px;">
            <vue-ueditor-wrap :config="editorConfig" :editor-dependencies="editorDependencies"
                editor-id="editor-demo-01"></vue-ueditor-wrap>
        </div>
    </div>
</template>

<script lang="ts" setup>
import { reactive } from 'vue';

// 富文本
const editorConfig = reactive({
    // 编辑器不自动被内容撑高
    autoHeightEnabled: false,
    // 初始容器高度
    initialFrameHeight: 500,
    // 初始容器宽度
    initialFrameWidth: '100%',
    UEDITOR_HOME_URL: '/UEditor/', // 访问 UEditor 静态资源的根路径
});

const editorDependencies = reactive([
    "ueditor.config.js",
    "ueditor.all.min.js",
    "lang/zh-cn/zh-cn.js",
    "135editor.js",
    "xiumi-ue-dialog-v5.js",
]);

</script>

<style lang="scss">
// 135图标
.edui-button.edui-for-135editor .edui-button-wrap .edui-button-body .edui-icon {

    background-image: url("https://static.135editor.com/img/icons/editor-135-icon.png") !important;

    background-size: 85%;

    background-position: center;

    background-repeat: no-repeat;

}

// 秀米图标(该图片路径是我自己放的图标,使用官方路径不知道为什么不显示,大家可以研究一下看能不能解决,但不是什么大问题)
.edui-button.edui-for-xiumi-connect .edui-button-wrap .edui-button-body .edui-icon {
    background-image: url("../../assets/xiumi-connect-icon.png") !important;
    background-size: contain;
}
</style>

以上是在要使用富文本组件的页面添加的代码!

好了从上到下都是经过我本人亲测管用的,感兴趣的程序员们快去试试吧!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis 生产问题(重要)

缓存穿透 什么是缓存穿透&#xff1f; 缓存穿透说简单点就是大量请求的 key 是不合理的&#xff0c;根本不存在于缓存中&#xff0c;也不存在于数据库中 。这就导致这些请求直接到了数据库上&#xff0c;根本没有经过缓存这一层&#xff0c;对数据库造成了巨大的压力&#xf…

【问题记录】07 MAC电脑,使用FileZilla(SFTP)连接堡垒机不成功

项目场景&#xff1a; 使用MAC电脑&#xff0c;以子账号&#xff08;非root&#xff09;的形式登录&#xff0c;连接堡垒机CLB&#xff08;传统型负载均衡&#xff09;&#xff0c;使用FileZilla&#xff08;SFTP&#xff09;进行FTP文件传输。 问题描述&#xff1a; MAC电脑…

Pull requests 和Merge Request其实是一个意思

Pull requests的定义 在Git中&#xff0c;PR&#xff08;Pull Request&#xff09;是一种协作开发的常用方式。它允许开发者将自己的代码变更&#xff08;通常是一个分支&#xff09;提交到项目的仓库中&#xff0c;然后请求负责代码审查的人员将这些变更合并到主分支中。通过…

NGUI笔记

Rect tool不显示长方形框 原因&#xff1a;没开Gizmos。UGUI不开Gizmos也有Rect tool长方形框。 Game窗口看不见控件 原因&#xff1a;相机Culling Mask选了Nothing 配置九宫格 Scroll bar 滑动条的框应该填满背景。 Localize脚本无效 Tween 按下时播放动画&#xff0c;松开…

挺详细的记录electron【V 33.2.0】打包vue3项目为可执行程序

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、直接看效果 二、具体步骤 1.安装配置electron 1.将 electron 包安装到应用的开发依赖中。 2.安装electron-packager依赖&#xff08;打包可执行文件&#…

数据结构之五:排序

void*类型的实现&#xff1a;排序&#xff08;void*类型&#xff09;-CSDN博客 一、插入排序 1、直接插入排序 思想&#xff1a;把待排序的数据逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列 。 单趟&#x…

mysql高级篇 | 尚硅谷 | 第11章_数据库的设计规范

十一、数据库的设计规范 文章目录 十一、数据库的设计规范一、为什么需要数据库设计二、范式1、范式简介2、范式都包括哪些3、键和相关属性的概念4、第一范式(1st NF)5、第二范式(2nd NF)6、第三范式(3rd NF)7.小结 三、反范式化1、概述2、应用举例3、反范式的新问题4、反范式的…

PageHelper自定义Count查询及其优化

PageHelper自定义Count查询及其优化 文章目录 PageHelper自定义Count查询及其优化一&#xff1a;背景1.1、解决方法 二&#xff1a;利用反射判断请求参数是否有模糊查询2.1、分页不执行count2.2、思路2.3、代码示例 三&#xff1a;自定义COUNT查询SQL(只适用于单表)3.1、局限性…

Qt 一个简单的QChart 绘图

Qt 一个简单的QChart 绘图 先上程序运行结果图&#xff1a; “sample9_1QChart.h” 文件代码如下&#xff1a; #pragma once#include <QtWidgets/QMainWindow> #include "ui_sample9_1QChart.h"#include <QtCharts> //必须这么设置 QT_CHARTS_USE_NAME…

Hadoop生态圈框架部署 伪集群版(九)- FineBI个人试用版安装与配置

文章目录 前言一、FineBI安装与配置&#xff08;Linux版本&#xff09;1. 下载并上传FineBI安装包脚本文件1.1 下载1.2 上传1.3 安装要求1.3.1 硬件要求1.3.2 软件要求 2. 安装字体及字体配置工具3. 赋予安装包文件权限4. 安装FineBI5. 设置环境变量6. 启动FineBI6.1 启动FineB…

Spring Boot集成Knife4j文档工具

Knife4j 搭建 Knife4j环境的的搭建和Swagger一样都比较简单&#xff0c;只需要极简的配置即可。 maven依赖 我使用的是较高版本的基于openapi规范的依赖包&#xff0c;OpenAPI2(Swagger)规范是Knife4j之前一直提供支持的版本&#xff0c;底层依赖框架为Springfox。 此次在4…

【GIS教程】使用GDAL-Python将tif转为COG并在ArcGIS Js前端加载-附完整代码

目录 一、数据格式 二、COG特点 三、使用GDAL生成COG格式的数据 四、使用ArcGIS Maps SDK for JavaScript加载COG格式数据 一、数据格式 COG&#xff08;Cloud optimized GeoTIFF&#xff09;是一种GeoTiff格式的数据。托管在 HTTP 文件服务器上&#xff0c;可以代替geose…

Elasticsearch+Kibana分布式存储引擎

1.ElaticSearch介绍 ElaticSearch &#xff0c;简称为 ES &#xff0c; ES 是一个开源的高扩展的分布式全文检索引擎&#xff0c;它可以近乎实时的存储、检 索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;处理 PB 级别的数据。 ES 也使用 …

Qt之将源代码封装成库文件使用(五)

Qt开发 系列文章 - Code-To-Library&#xff08;五&#xff09; 目录 前言 一、库文件 二、直接封装方式 1.静态库封装 2.动态库封装 3.其它库类型 三、二次重写封装 四、库的使用 1.移植库及头文件 2.添加外部库 总结 前言 库文件是计算机上的一类文件&#xff0c…

Qt 联合Halcon视觉框架(1)

文章目录 效果QHalconWind 类回调函数刷新窗口构造函数保证窗口大小和Halcon 窗口大小一致绘制图片获取坐标点设置坐标点鼠标拖动图片鼠标按下鼠标抬起鼠标双击滚轮放大缩小图片 效果 QHalconWind 类 // HALCON/Qt pattern matching and measure example // // (c) 2004-2017 …

AI大模型学习笔记|人工智能的发展历程、智能体的发展、机器学习与深度学习的基本理论

学习链接&#xff1a;冒死上传&#xff01;价值2W的大模型入门到就业教程分享给大家&#xff01;轻松打造专属大模型助手&#xff0c;—多模态、Agent、LangChain、ViT、NLP_哔哩哔哩_bilibili 百度网盘自己整理的笔记&#xff1a; 通过网盘分享的文件&#xff1a;1-人工智能的…

Vue项目打包部署到服务器

1. Vue项目打包部署到服务器 1.1. 配置 &#xff08;1&#xff09;修改package.json文件同级目录下的vue.config.js文件。 // vue.config.js module.exports {publicPath: ./, }&#xff08;2&#xff09;检查router下的index.js文件下配置的mode模式。   检查如果模式改…

docker的网络类型和使用方式

docker的网络类型 5种网络类型 bridge 默认类型&#xff0c;桥接到宿主机docker0的网络&#xff0c;有点类似于VM虚拟机的NAT网络模型。 案例: docker run --rm -itd --network bridge --name wzy666wzy-bridge alpine host host类型&#xff0c;共享宿主机的网络空间&#…

数字IC后端实现常见的physical only cell都有哪些?如何添加这些cell?

数字IC后端实现阶段常见功能cell有哪些&#xff1f;比如AND&#xff0c;AOI&#xff0c;NAND等。 physical cell有哪些&#xff1f;都是干什么用的&#xff1f; 数字后端零基础入门系列 | Innovus零基础LAB学习Day9 &#xff08;1&#xff09; well tap cells&#xff1a;防止…

c++中类的应用综合练习

整理思维导图 课上类实现> 、<、!、||、&#xff01;和后自增、前自减、后自减运算符的重载 代码部分&#xff1a; #include <iostream> using namespace std; class complex {int rel;int vir; public:complex(int rel,int vir):rel(rel),vir(vir){}complex(){}…