返回顶部
首页 > 资讯 > 精选 >怎么搭建PC页面编辑器PC-Dooring
  • 286
分享到

怎么搭建PC页面编辑器PC-Dooring

2023-06-15 14:06:02 286人浏览 薄情痞子
摘要

这篇文章主要讲解了“怎么搭建PC页面编辑器PC-Dooring”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建PC页面编辑器PC-Dooring”吧!之前一直忙着调研lowcode平台

这篇文章主要讲解了“怎么搭建PC页面编辑器PC-Dooring”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建PC页面编辑器PC-Dooring”吧!

之前一直忙着调研lowcode平台和开发以下两个项目:

  • H5编辑器H5-Dooring ,

  • 可视化大屏编辑器V6.Dooring

没有太多时间做PC端搭建化项目, 好在搭建平台很多原理都是通用的, 所以早在去年我就开发好了面向PC端的编辑器PC-Dooring,  虽然在设计上还有些不足(在后面的内容中会提到) , 但是基本模型已经实现, 接下来就和大家一起分享一下具体的实现.

为了保证文章整体的逻辑性和条理性, 我将可视化搭建平台的具体的实现划分为了以下几个部分:

  • PC编辑器效果展示

  • 整体技术架构

  • 可视化搭建技术实现方式

  • 编辑器核心思路

  • 编辑器架构模型

  • 如何开发标准物料组件

  • 编辑器后期规划

PC编辑器效果展示

怎么搭建PC页面编辑器PC-Dooring

pc-dooring

在上面的演示中, 组件库方式和H5-Dooring类似, 只不过组件库笔者采用了PC端专属的组件库antd,  所以我们可以将antd支持的任何组件集成进PC-Dooring.

整体技术架构

整体技术架构和H5-Dooring类非常相似, 也是遵循笔者的产品设计哲学—— 不要让用户思考. 降低一切拖拽复杂度,  采用智能网格的交互模式来实现(这种设计方式有一定的局限, 仅供大家参考, 当然也可以使用V6.Dooring的自由布局模式). 整体架构如下图所示:

 怎么搭建PC页面编辑器PC-Dooring

image.png

由上图我们可以看出编辑器主要分为如下几个部分:

  • 组件物料

  • 画布区

  • 属性编辑区

  • 功能辅助

  • 其他

目前组件物料主要实现了基础组件, 可视化组件和 媒体组件, 其他类的组件实现也类似, 技术整体实现我们会在下面介绍.

可视化搭建技术实现方式

怎么搭建PC页面编辑器PC-Dooring

image.png

前端框架我们还是使用的React, 当然大家也可以使用vue3.0, 原理都是相通的, 不同插件之间也提供了多框架的支持. 编辑器核心的一环就是组件拖拽,  这里笔者使用了社区比较强大且稳定的库react-dnd, 其拖拽分为两个部分, 一个是从组件区拖拽到画布区, 另一个是画布区内部组件的自由拖拽.  我们可以用原生H5的拖放api来实现第一部分的功能, 本质是将拖动源携带的数据传到画布制定区域, 目标源监听事件拿到携带的数据动态渲染出实际的组件.  过程如下:

怎么搭建PC页面编辑器PC-Dooring

image.png

当然深入研究过react-dnd的朋友都知道, 以上两个功能通过react-dnd都可以实现,  大家可以参考它的官网react-dnd官网学习研究具体实现流程, 也可以直接参考PC-Dooring源码.

至于组件库, 我们可以采用任何我们熟悉的组件库, 比如antd, element, zant等, 组件物料需要遵循我们约定的DSL协议,  这里大家可以参考工业级协议标准odata规范. 有了一定的规范, 我们就可以包装标准的组件物料从而集成第三方组件库了.

至于功能辅助模块和状态管理, 我们可以采用如mobx, redux, dva等来实现, 最终目的就是让编辑器不同部分能相互关联, 实时更新组件状态,  以及数据回传能力.

编辑器核心思路

编辑器核心实现思路笔者之前也分析了几个现有方案, 发现字节魔方的思路很贴切, 这里附上一个原理图:

怎么搭建PC页面编辑器PC-Dooring

image.png

核心就是通过编辑器产生的有效词法数据, 让渲染器能解析渲染成可用的html页面.

编辑器整体架构模型

编辑器整体架构模型主要是为了让大家全局的了解可视化编辑器的实现思路, 以及未来的规划方向, 笔者做了一个基本的草图, 如下:

怎么搭建PC页面编辑器PC-Dooring

image.png

如何开发标准物料组件

开发标准组件物料需要遵循我们编辑器内部的数据协议和组件开发规范, 在PC-Dooring中开发组件主要由以下几部分组成:

  • 组件代码

  • schema定义

  • template定义

组件代码就是组件内部具体的实现, 如下案例:

import React, { memo } from 'react'; import { ITextConfig } from './schema'; import loGo from '@/assets/text.png'; const Text = memo((props: ITextConfig & { isTpl: boolean }) => {   const { align, text, fontSize, color, lineHeight, isTpl } = props;   return (     <>       {isTpl ? (         <div>           <img src={logo} alt=""></img>         </div>       ) : (         <div style={{ color, textAlign: align, fontSize, lineHeight }}>{text}</div>       )}     </>   ); }); export default Text;

schema定义了组件的属性约束, 可编辑项类型以及默认值, 如下:

import {   IColorConfigType,   INumberConfigType,   ISelectConfigType,   ITextConfigType,   TColorDefaultType,   TNumberDefaultType,   TSelectDefaultType,   TTextDefaultType, } from '@/components/FORMComponents/types';  export type TTextSelecTKEyType = 'left' | 'right' | 'center'; export type TTextEditData = Array<   ITextConfigType | IColorConfigType | INumberConfigType | ISelectConfigType<TTextSelectKeyType> >; export interface ITextConfig {   text: TTextDefaultType;   color: TColorDefaultType;   fontSize: TNumberDefaultType;   align: TSelectDefaultType<TTextSelectKeyType>;   lineHeight: TNumberDefaultType; }  export interface ITextSchema {   editData: TTextEditData;   config: ITextConfig; } const Text: ITextSchema = {   editData: [     {       key: 'text',       name: '文字',       type: 'Text',     },     {       key: 'color',       name: '标题颜色',       type: 'Color',     },     {       key: 'fontSize',       name: '字体大小',       type: 'Number',     },     {       key: 'align',       name: '对齐方式',       type: 'Select',       range: [         {           key: 'left',           text: '左对齐',         },         {           key: 'center',           text: '居中对齐',         },         {           key: 'right',           text: '右对齐',         },       ],     },     {       key: 'lineHeight',       name: '行高',       type: 'Number',     },   ],   config: {     text: '我是文本',     color: 'rgba(60,60,60,1)',     fontSize: 18,     align: 'center',     lineHeight: 2,   }, }; export default Text;

template主要规定了组件在画布中展示的基本方式, 如下:

const template = {   type: 'Text',   h: 20,   displayName: '文本组件', }; export default template;

当然大家也可以扩展其定义或者将schema和template合并. 只要一个组件符合了以上约定, 都可以被我们编辑器所消费.

编辑器后期规划

PC编辑器目前仍存在一些问题没有很好的解决, 比如布局方式的局限性导致必须横向扩展很多组件才能满足不同用户的个性化需求, 其次就是组件联动机制,  需要统一数据中心来管理, 后面会在H5-Dooring 中展示具体的实现方式, 大家感兴趣也可以实现一下.

感谢各位的阅读,以上就是“怎么搭建PC页面编辑器PC-Dooring”的内容了,经过本文的学习后,相信大家对怎么搭建PC页面编辑器PC-Dooring这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么搭建PC页面编辑器PC-Dooring

本文链接: https://lsjlt.com/news/280420.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么搭建PC页面编辑器PC-Dooring
    这篇文章主要讲解了“怎么搭建PC页面编辑器PC-Dooring”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建PC页面编辑器PC-Dooring”吧!之前一直忙着调研lowcode平台...
    99+
    2023-06-15
  • 本地服务器搭建青龙面板(PC端)
    1:安装虚拟机 准备工作: VMware下载地址:VMware虚拟机(提取码:11GX)  CentOS 7 镜像地址:CentOS7镜像(官网:速度很慢!)  云盘传送门:CentOS7镜像(提取码:BAUw) VMware安装:下载完成...
    99+
    2023-09-23
    linux 运维 服务器
  • CSS3怎么让PC及移动端页面适配
    这篇“CSS3怎么让PC及移动端页面适配”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CS...
    99+
    2024-04-02
  • pycharm编辑器怎么修改页面背景颜色_pycharm编辑器修改页面背景颜色的方法
    1.打开界面后,点击左上角的file菜单 2.找到settings设置选项 3.随后打开Editor栏目下的color scheme菜单 4.打开Console colors选项的...
    99+
    2024-05-10
    pycharm
  • 华为pc端云服务器怎么用手机打开网页
    安装一个云浏览器 如果你想要在PC端打开一个网页,你需要安装一个云浏览器,可以在华为应用商店或者其他云平台上下载。安装好后,你就可以使用它来访问你的网站了。在手机端安装云浏览器也非常简单,你只需要在手机应用商店中搜索云浏览器就可以找到...
    99+
    2023-10-27
    华为 用手 打开网页
  • 怎么搭建云服务器网页
    搭建云服务器网页通常包括以下步骤:选择云服务器的硬件:首先你需要选择一个支持云服务器的主机,比如谷歌、亚马逊、阿里云等等。在选择主机时,应该注意硬件质量、可靠性、性能、可扩展性、安全性等等。安装必要的软件和设置:安装必要的软件和设置,比如虚...
    99+
    2023-10-25
    服务器 网页
  • Python中怎么构建一个Markdown编辑器
    这篇文章给大家介绍Python中怎么构建一个Markdown编辑器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先,请确保您已安装Python 3和Tkinter。如果没有,您可以从这里下载:python.org/d...
    99+
    2023-06-16
  • springboot+vue怎么完成编辑页面发送接口请求功能
    本篇内容介绍了“springboot+vue怎么完成编辑页面发送接口请求功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言今天另一个重点...
    99+
    2023-06-30
  • 弹性云服务器怎么搭建网页
    Windows系统弹性云服务器搭建网站的方法远程连接云服务器,进入服务器操作界面;使用Windows系统网站管理助手,新建站点;利用ftp工具,将网站程序上传到服务器网站根目录;如是国内服务器,需对网站进行备案;网站备案通过后,将域名与服务...
    99+
    2024-04-02
  • 阿里云服务器怎么搭建网页
    阿里云服务器是一款功能强大、稳定可靠的云服务器,可以搭建各种网站。以下是阿里云服务器搭建网页的方法:下载并安装阿里云服务器客户端,包括Web服务器软件(例如Amazon Web Services Platform)、Web应用软件(例如Mi...
    99+
    2023-10-25
    阿里 服务器 网页
  • 怎么搭建云服务器网页访问
    如果您想搭建一个网站来使用云服务器,但是不想让网站的用户访问您的网站,您可以尝试将其转换为HTTPS。以下是一些常见的步骤来将其转换为HTTPS: 下载最新版的浏览器(如Chrome)和Google Chrome浏览器,并安装它们(通常...
    99+
    2023-10-26
    服务器 网页
  • 怎么搭建云服务器网页链接
    如果您想搭建云服务器网页链接,您可以按照以下步骤进行操作: 打开 Microsoft Azure,并登录您的账户。 在页面的底部,点击 “服务器”或“虚拟主机”。 在“服务器”或“虚拟主机”页面,您可以选择适合您网站的虚拟主机或云主机。...
    99+
    2023-10-26
    链接 服务器 网页
  • 本地云服务器怎么搭建网页
    选择云服务提供商 在选择云服务提供商时,您需要考虑许多因素,如可用的硬件、软件和网络性能。如果您正在考虑使用公共云服务,那么可以考虑使用Amazon Web Services或Google Cloud等云服务提供商,这些云服务提供商通...
    99+
    2023-10-27
    服务器 网页
  • 怎么使用Rust+React创建富文本编辑器
    这篇文章主要介绍“怎么使用Rust+React创建富文本编辑器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Rust+React创建富文本编辑器”文章能帮助大家解决问题。数据模型我们的产品是...
    99+
    2023-07-02
  • 怎么在pycharm编辑器中修改Python界面风格
    这篇文章给大家介绍怎么在pycharm编辑器中修改Python界面风格,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。第一步,换成深色背景,保护视力PyCharm默认的背景是白色的,比较刺眼。还是换成深色的比较好,而且感...
    99+
    2023-06-14
  • 怎么修改ueditor编辑器里面的字体选项
    这篇“怎么修改ueditor编辑器里面的字体选项”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么修改ueditor编辑器里...
    99+
    2023-06-26
  • 腾讯云服务器ftp怎么搭建网页
    腾讯云服务器ftp可以通过三种方法搭建: 使用腾讯云服务器搭建网站:打开腾讯云服务器,选择主机名,输入FTP连接密码即可连接成功。 使用第三方网页搭建服务器:如果你想使用腾讯云服务器来搭建网页,需要在腾讯云服务器中安装相应的第三方网页搭...
    99+
    2023-10-26
    腾讯 服务器 网页
  • 怎么自己搭建云服务器面板
    要自己搭建云服务器面板,你需要了解以下步骤: 了解云服务器的结构和功能。 云服务器一般由两个主要部件组成:云计算平台(Cloud Computing Platform)和基础设施(Foundry)。云计算平台是云服务器的核心,负责提供...
    99+
    2023-10-26
    面板 服务器
  • 怎么在一个页面上使用多个KindEditor编辑器并将值传递到服务器端
    这篇文章主要介绍“怎么在一个页面上使用多个KindEditor编辑器并将值传递到服务器端”,在日常操作中,相信很多人在怎么在一个页面上使用多个KindEditor编辑器并将值传递到服务器端问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-20
  • 阿里云服务器怎么搭建网页链接
    阿里云服务器是一款功能强大的云计算服务,可以搭建网页链接,下面是一些步骤建议:准备数据库:首先需要将要使用的阿里云服务器的数据库连接复制到阿里云控制台中,确保数据库连接正确,并且没有任何数据损坏或错误。安装阿里云控制台:下载并安装阿里云控制...
    99+
    2023-10-26
    阿里 链接 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作