基于div+svg实现的轻量级SOP流程图组件,专为智能质检、智能外呼、AI陪练等流程化场景设计。纯原生实现,无第三方依赖,提供高度可定制的节点与连线功能。话不多说,先贴图。
使用教程
环境与框架
-
Vue3 + TypeScript
-
Node.js 18.x+(兼容更高版本)
安装
npm install flow-topology-vue3
使用
- 全局引入
<!-- main.ts -->
import FlowTopologyVue3 from 'flow-topology-vue3'
import 'flow-topology-vue3/dist/flow-topology-vue3.css'
app.use(FlowTopologyVue3)
- 按需引入
<!-- page.vue -->
<template>
<div class="contianer">
<Topology v-model="nodes"></Topology>
<div class="quick-elements">
<TemplateWrapper v-for="item in templateNode" :key="item.id" :generator="item">
<div class="quick-element">{{ item.title }}</div>
</TemplateWrapper>
</div>
</div>
</template>
<script setup>
import { Topology, TemplateWrapper, AnchorWrapper } from 'flow-topology-vue3'
import 'flow-topology-vue3/dist/flow-topology-vue3.css'
const nodes = ref([])
</script>
- 自动引入
// vite.config.js
import { defineConfig } from 'vite'
import Components from 'unplugin-vue-components/vite'
import { FlowTopologyVue3Resolver } from 'flow-topology-vue3/dist/flow-topology-vue3.es.js'
export default defineConfig({
plugins: [
Components({
resolvers: [FlowTopologyVue3Resolver()]
})
]
})
<!-- page.vue -->
<template>
<div class="contianer">
<Topology v-model="nodes"></Topology>
<div class="quick-elements">
<TemplateWrapper v-for="item in templateNode" :key="item.id" :generator="item">
<div class="quick-element">{{ item.title }}</div>
</TemplateWrapper>
</div>
</div>
</template>
<script setup>
import 'flow-topology-vue3/dist/flow-topology-vue3.css'
const nodes = ref([])
</script>
核心特性
-
基础功能
-
拖拽创建节点/连线
-
画布缩放(支持快捷键)
-
全选/截图导出
-
-
定制化能力
-
可自定义节点样式与布局
-
支持多锚点分支连接
-
模板化节点开发(通过TemplateWrapper)
-
-
技术优势
-
纯原生div+svg实现
-
零第三方依赖
-
TypeScript全面支持
-
典型应用场景
-
智能质检SOP流程
-
外呼系统对话流程
-
AI训练交互路径
-
任何需要可视化流程配置的场景
问题反馈
如遇特殊业务场景需求或使用问题,欢迎通过下方留言提交反馈。
完整API文档参见:flow-topology-vue3文档