一、开源项目简介

TMagic 可视化搭建平台。

  • Vue 3.0 Composition API
  • Written in TypeScript

二、开源协议

使用Apache-2.0开源协议

三、界面展示

编辑器

通过安装和使用 @tmagic/editor,可以快速搭建起一个魔方编辑器。

[开源]可视化搭建平台,提供了vue2/vue3/react几个版本的runtime插图

页面渲染

runtime 是魔方提供的页面渲染环境。通过加载在编辑器中产出的 DSL,即可得到魔方编辑器希望拥有的最终产物,一个活动页面。我们提供了 vue2/vue3/react 几个版本的 runtime。

通过魔方编辑器和 runtime 渲染,以及通过自定义的复杂组件开发,可以在魔方项目上,搭建出复杂而精美的页面。

[开源]可视化搭建平台,提供了vue2/vue3/react几个版本的runtime插图1

表单渲染

魔方的表单配置项,使用了我们开发的基于 element-ui 的 @tmagic/form,@tmagic/form 也可以在其他地方单独使用。支持渲染 JS Schema 提供的表单描述。

[开源]可视化搭建平台,提供了vue2/vue3/react几个版本的runtime插图2

使用

playground 的示例项目,就是为开发者提供的基础应用示例。开发者可以基于此或者参考自行实现,搭建一个基于魔方的可视化搭建平台。

四、功能概述

特性

  • 所见即所得,体验友好的拖拽编辑方式。
  • 丰富的拓展能力,支持业务方自定义组件、插件、扩展编辑器能力。
  • 支持多种布局方式,tmagic-editor的容器概念,支持配置项目时,自由组合嵌套业务组件,提供超强的组件布局方式。
  • 支持不同前端框架,使用编辑器的业务方可以采用自己熟悉的前端框架,来开发自己的业务组件,比如vue2、vue3、react。
  • 强大的配置,支持表单联动的配置能力。
  • 组件联动,支持组件通信、组件联动,允许页面内各组件提供丰富配置能力。
  • 低代码,支持针对具体配置的页面写代码,修改页面样式属性等,提供除组件外的高级编码能力。

编辑器

编辑器是可视化搭建平台的主要内容,其中包含以下内容:

  • 编辑器,承载整个拖拽布局的页面,包含了下述的其他页面可见元素。
  • 模拟器,居中位置渲染了当前页面配置的组件内容,模拟真实页面的展示内容。
  • 组件库,左侧展示当前业务下的相关组件内容,包含tmagic-editor提供的基础组件和业务自定义组件。
  • 组件树,左侧展示当前页面添加的组件内容,以树状结构展示。
  • 表单配置,右侧表单项目,展示由组件内提供的配置描述,提供修改组件行为的配置项。
  • DSL 源码,右上角的 图标可以展示当前页面,各个组件配置,页面基础配置组合而成的配置源码。

通过编辑器,可以创建、编辑、保存一个项目页面。同时,tmagic-editor开源项目提供了一个页面搭建管理平台的示例:magic-admin,可以用于快速构建一个完整的页面可视化搭建系统。

核心库

  • @tmagic/editor 实现一个可视化编辑器。
  • @tmagic/form 实现组件在编辑器中自定义表单配置。
  • @tmagic/core 实现对组件进行跨框架管理与一些通用复杂逻辑的实现。
  • @tmagic/stage 实现在编辑器中对组件的位置拖动与大小拖拉。
  • @tmagic/ui 提供一些vue3基础组件。
  • @tmagic/ui-vue2 提供一些vue2基础组件。
  • @tmagic/ui-react 提供一些react基础组件。
  • runtime 实现在编辑器中对使用不同框架的组件的渲染。
  • page 项目提供最终页面发布的执行环境与组件构建。

可以查阅 tmagic 的源代码open in new window,与文档描述内容可以逐一对应上,希望文档内容可以为开发者带来比较好的开发体验。

项目介绍

在本项目中,我们核心内容,是包含在 packages/editor 中的编辑器,以及 runtime 和 packages/ui 提供的各个前端框架相关的 runtime 和 ui。

  • packages 目录中提供的内容,我们都以 npm 包形式输出,开发者可以通过安装对应的包来使用。
  • runtime 是我们提供的编辑器活动页和编辑器模拟器运行的页面项目示例。可以直接使用,也可以参考并自行实现。
  • playground 是一个简单的编辑器项目示例。即使用了 packages 和 runtime 内容的集成项目。开发者可以参考 playground,使用魔方提供的能力实现一个满足业务方需求的编辑器。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。