# dgiot-topo **Repository Path**: dgiiot/dgiot-topo ## Basic Information - **Project Name**: dgiot-topo - **Description**: No description available - **Primary Language**: Unknown - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2021-10-13 - **Last Updated**: 2025-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dgiot-topo
> dgiot-topo 开源图片编辑器,采用Vue+JavaScript+Konva开发。
+ dgiot_topo通道是影子设备与前端组态页面之间的桥接通道,
+ 实时订阅dgiot_task通道中解析成物模型的消息,
+ 将物模型消息格式转换成knova组态json格式推送到前端组态页面,实现大屏上设备数据的实时更新

### 🏠 [Homepage](https://github.com/dgiot/dgiot-topo#readme)
### ✨ [演示地址](https://dgiot.github.io/dgiot-topo/)
## 项目目录
```
.
├── konva
│ ├── canvas //画布组件
│ ├── layout //页面布局
│ ├── shape-panel // 右侧面板
│ └── transformer-wrapper // 支持transformer高阶组件
├── components
│ ├── color-select // 颜色选择器
│ ├── context-menu // 右键菜单
│ ├── image // 图片
│ ├── text // 文本
│ ├── text-input // 文本输入
│ └── toolbar // 导航
├── store
│ └── index.js // Vuex状态管理
├── views
│ ├── index.vue
│ └── index.less
├── styles
│ ├── index.less
│ └── theme
└── utils
└── typing.js
└── util.js
```
## 功能特性
目前主要实现了简单的图片编辑,支持文字,图片等。
### 已支持的功能列表
- [x] layout布局
- [x] 文字编辑组件
- [x] 图片编辑组件
- [x] 画布放大缩小
- [x] 画布右键菜单
- [x] 图片下载
- [x] 背景图支持
### 待实现的功能列表
- [ ] 工具类操作支持上一步下一步
- [ ] 图形组件
- [ ] 标记组件
- [ ] 画布多个元素组合
- [ ] 文字组件增加,字体丰富,透明度等。
- [ ] 画布参考线
- [ ] 画布多个尺寸,支持多平台
- [ ] 接入后台,实现登录,保存模板
## 项目架构
项目用vue开发框架,采用javascript编写,图片编辑功能用的是`konva`,状态管理`vuex`,消息通讯`dgiotBus`。
技术栈
| 技术 | 说明 | 官网 |
| ---- | ---- | ---- |
| vue | 渐进式javascript框架 | https://vuejs.org/ |
| konva | Konva.js - 适用于桌面/移动端应用的 HTML5 2d canvas 库. | https://konvajs.org/docs/index.html |
| dgiotBus | dgiot 前端消息中间件 | https://github.com/dgiot/dgiotBus |
## Installation
```bash
yarn add @dgiot/dgiot-topo
```
## Quick Start
### [examples.vue](https://github.com/dgiot/dgiot-Component-example/blob/master/src/topo.vue)
```diff