介绍
一个基于 Vue3 的拓扑图组件,具有以下特点:
1.基于 vue-flow 实现,提供流畅的拓扑图展示体验
2.支持传入 JSON 对象自动生成拓扑结构
3.自动计算节点位置,无需手动布局
4.支持节点拖拽、缩放、居中等交互操作
5.提供全屏查看模式
6.支持多种架构展示:微服务、云平台、大数据平台等
7.完全组件化封装,使用方便
技术栈
1.Vue 3
2.Vue Flow
功能特性
- 自动布局:根据数据结构自动计算节点位置
- 交互控制:
- 支持画布拖拽
- 支持节点拖动
- 支持画布缩放
- 支持画布居中
- 支持全屏查看
- 可视化增强:
- 节点悬浮效果
- 连线动画
- 层级颜色区分
- 迷你导航图
- 组件化设计:
- 可独立使用的拓扑图组件
- 支持 JSON 数据驱动
- 提供完整的类型定义
快速开始
安装依赖
npm install
开发调试
npm run serve
构建部署
npm run build
使用示例
<template>
<TopologyMap :topology="topologyData" />
</template>
<script setup>
import TopologyMap from '@/components/TopologyMap.vue'
const topologyData = [
{
id: 'root',
label: '根节点',
children: [
{
id: 'child1',
label: '子节点1'
},
{
id: 'child2',
label: '子节点2'
}
]
}
]
</script>
演示截图
1.首页
2.微服务架构-拓扑图
3.云平台架构-拓扑图
4.大数据平台-拓扑图