# visual-editor **Repository Path**: gch1023/visual-editor ## Basic Information - **Project Name**: visual-editor - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-06-13 - **Last Updated**: 2024-12-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
ThingsPanel可视化编辑器
可自定义组件的物联网可视化编辑器,提供了一系列即插即用的组件库。
# 功能描述 ThingsPanel可视化编辑器是用Vue3+TypeScript编写的,支持用户自定义插件,每个插件包含多个组件,插件可一键安装使用。 # 特性 - 通用:通用的开发规范,只要会vue就能开发自己的插件,无需学习其他知识。 - 易用:用户可从官方插件中心下载插件,一套插件里包含多个组件,一键安装,无需修改代码,不用重新部署。 - 易扩展:用户可自己开发插件,如3D组件、地图组件、报表等,可上传到官方插件中心分享给更多人使用。 - 丰富的组件库:官方提供了文本、仪表盘、曲线图、饼图、柱状图、以及大量组态等一系列常用组件。 # 组件定制 - 组件类型 用户可开发自己自己想要的任意一种组件,如文本、图表、开关、按钮、音频、视频等。 - 组件配置 用户可以在自己开发的组件中定制各种参数,例如字体、颜色、大小、对齐方式等。编辑器加载该组件后,点击组件在右侧面板就会出现用户自定义的各种属性。 - 组件交互 用户可以在画布上操作组件,例如点击、拖拽、缩放、旋转等。组件会根据用户的交互行为产生相应的响应。 # 技术栈 | 名称 | 版本 | | -------------------------- | ------ | | Vue | 3.2.47 | | Type Script | 4.9.3 | | pnpm | 8.1.1 | | Vite | 4.2.0 | | Element Plus | 2.3.3 | | Antv-X6 | 2.9.7 | | Tailwindcss | 3.3.1 | # 目录结构 ├── index.html -- 首页入口 ├── package.json -- 包管理器 ├── vite.config.js -- vite配置 ├── tsconfig.json -- type script配置 ├── tailwind.config.js -- tailwind配置 ├── src -- 源代码 │ ├── App.vue -- 主页面 │ ├── main.ts -- 入口文件 │ ├── style.css -- 样式 │ ├── vite-env.ts -- 全局变量配置文件 │ ├── assets -- 静态资源 │ ├── plugins -- 插件目录 │ ├── editor -- 编辑器核心代码 │ │ ├── common -- 编辑器全局常量 │ │ ├── components -- 编辑器组件目录 │ │ ├── canvas-editor -- 画布 │ │ ├── header -- 顶部工具栏 │ │ ├── left-aside -- 左侧组件栏 │ │ ├── right-attribute-panel -- 右侧属性栏 │ │ ├── config -- 类管理器目录 │ │ ├── CanvasConfig.ts -- 画布管理器 │ │ ├── ComponentConfig.ts -- 组件管理器 │ │ ├── PluginConfig.ts -- 插件管理器 │ │ ├── StencilConfig.ts -- 左侧组件列表管理器 │ │ ├── events -- 事件管理器目录 │ │ ├── CellEvents.ts -- 节点事件处理 │ │ ├── hooks -- hooks目录 │ │ ├── index.vue -- 编辑器入口 │ ├── dependence -- 三方依赖安装 │ ├── router -- 路由 │ ├── types -- 全局声明 │ ├── views -- 视图 │ │ └── home -- 首页 # 安装 ``` git clone https://github.com/ThingsPanel/visual-editor.git cd visual-editor pnpm install ``` # 本地运行 ``` pnpm run dev ``` # 插件开发: 在src/plugins目录创建自定义的插件目录,例:test-plugin 每个插件由两部分组成: 配置文件和组件 ``` ├── test-plugin │ ├── index.ts -- 配置文件 │ ├── pm25 -- PM2.5组件 │ │ ├── Attribute.vue -- 右侧属性面板 │ │ ├── Data.vue -- 右侧数据绑定面板 │ │ ├── Main.vue -- 画布上渲染的节点 │ │ ├── index.ts -- 导出文件 ``` ## 立即上手 开发第一个插件 以文本组件为例,我们为官方插件开发一个可以拖拽到画布上的文本组件,可以通过右侧属性面板调整文字的大小、颜色以及背景框。 通过数据面板设置文本显示的值。 如下图所示:  ### 第一步:创建组件所需的文件 官方插件所在的目录是test-plugins文件夹,我们在这个文件夹里创建`text`目录,然后在text目录创建以下4个文件: index.ts、Main.vue、Data.vue、Attribute.vue ### 第二步:编写Main.vue ```ts // text/Main.vue