Vue+JTopo(一)

article/2025/8/15 4:46:30

1.下载js

jtopo 更新下载

(不知道为什么网站被封禁了……在这提供下我现在用的 jtopo-1.4.4_trial-esm-min.js)

链接:https://pan.baidu.com/s/18V1HKwAuxzWM19RD4axGOg 
提取码:0304

2.引用

        文件放在public/js文件夹下,在index.hml内引用。

<script src="./js/jtopo-1.4.4_trial-esm-min.js"></script>

3.初测试使用

<template><div style="width:100%;height:100%;overflow: hidden;" id="topo_content"><div id="divId" style="height:109%;width:100%;"></div></div>
</template>
<script>
//获取标题高度
export default {name: 'index',components:{},data () {return {stage: null,layer:null,nodes:[]}},mounted(){this.init();},methods:{init(){this.stage = new jtopo.Stage('divId');this.layer = new jtopo.Layer('default');this.stage.addChild(this.layer);var nodeImg = require('../../../assets/img/map/nodeB.png')var sectorImg = require('../../../assets/img/map/sector.jpg')var cellImg = require('../../../assets/img/map/cell.png')// 创建节点,线条var nodeB = this.createNode("基站", "0,0,0", [], 40, 40,nodeImg);var sector01 = this.createNode("扇区01", "0,0,0", [], 40, 40,sectorImg);var link = this.createFoldLink(nodeB, sector01, "", true, "horizontal",'0,0,0');var sector02 = this.createNode("扇区02", "0,0,0", [], 40, 40,sectorImg);var link2 = this.createFoldLink(nodeB, sector02, "", true, "horizontal",'0,0,0');var sector03 = this.createNode("扇区03", "0,0,0", [], 40, 40,sectorImg);var link3 = this.createFoldLink(nodeB, sector03, "", true, "horizontal",'0,0,0');var cell01 = this.createNode("小区01", "0,0,0", [], 40, 40,cellImg);var link4 = this.createFoldLink(sector01, cell01, "", true, "horizontal",'0,0,0');var cell02 = this.createNode("小区02", "0,0,0", [], 40, 40,cellImg);var link5 = this.createFoldLink(sector02, cell02, "", true, "horizontal",'0,0,0');var cell03 = this.createNode("小区03", "0,0,0", [], 40, 40,cellImg);var link6 = this.createFoldLink(sector03, cell03, "", true, "horizontal",'0,0,0');//树形布局var treeLayout = new jtopo.TreeLayout('down', 200, 180);treeLayout.doLayout(this.nodes);// 按画布居中this.stage.translateToCenter();this.stage.show();},//创建节点// textValue 节点文本内容// fontColor 字体颜色// nodePosition 节点坐标位置 [x,y] 树形布局下坐标位置无用// width 节点宽度// height 节点高度// imageSrc 设置的图片路径createNode(textValue, fontColor, nodePos, width, height, imageSrc) {var newNode = new jtopo.Node(textValue,nodePos[0], nodePos[1],width, height);newNode.fontColor = fontColor;if (imageSrc != null || imageSrc != undefined) {newNode.setImage(imageSrc);} else {newNode.fillColor = "0,0,0";}newNode.textOffsetY = 3;//文本向下偏移些newNode.draggable = false;//是否支持拖拽newNode.showSelected = false;//节点点击是否显示选中状态this.layer.addChild(newNode);this.nodes.push(newNode)return newNode;},// 创建折线// nodeStart nodeEnd 节点// textValue 折线上文本// isArrow 是否有箭头// direction 方向,有垂直、水平两种 取值为:'horizontal' 或者 'vertical' ,默认为 'horizontal'// strokeColor 线条颜色// dashedPattern 虚线 不传代表实线, 传数字-越大虚线间隔越大createFoldLink(nodeStart, nodeEnd, textValue, isArrow, direction,strokeColor,dashedPattern) {var link = new jtopo.FoldLink(textValue,nodeStart, nodeEnd);link.direction = direction || "horizontal";link.fontColor = "0,0,0";link.lineWidth = 2; // 线宽link.textOffsetY = 23; // 文本偏移量(向下23个像素)link.strokeColor = strokeColor;link.dashedPattern = dashedPattern; // 虚线this.layer.addChild(link);this.nodes.push(link)return link;},}
}
</script>


http://chatgpt.dhexx.cn/article/yt6qbAIs.shtml

相关文章

jTopo(一)

jTopo(一) 一、jTopo是什么 jTopo&#xff08;Javascript Topology library)是一款完全基于HTML5 Canvas的关系、拓扑图形化界面开发工具包。 jTopo关注于数据的图形展示&#xff0c;它是面向开发人员的&#xff0c;需要进行二次开发。 使用jTopo很简单&#xff0c;可以快速…

windows10下安装MSYS2+MinGW64

1.下载msys2&#xff0c;官方地址&#xff1a;http://www.msys2.org/&#xff0c;这里选择64位的安装器 2.安装完成之后&#xff0c;先别启动msys2&#xff0c;在 安装根目录/etc/pacman.d/ 下找到mirrorlist.mingw32、mirrorlist.mingw64和mirrorlist.msys并进行修改。 mirr…

Win10 下安装 MSYS2

什么是 MSYS2 MSYS2 &#xff08;Minimal SYStem 2&#xff09; 是一个MSYS的独立改写版本&#xff0c;主要用于 shell 命令行开发环境。同时它也是一个在Cygwin &#xff08;POSIX 兼容性层&#xff09; 和 MinGW-w64&#xff08;从"MinGW-生成"&#xff09;基础上…

【msys2】使用msys2下载工具的旧版本

背景 苯人在计组实验中使用了msys2来安装verilator工具&#xff0c;结果最新版本的verilator有bug&#xff0c;几经探索找到了利用msys2下载旧版本工具的方法&#xff08;还可以将现有工具更新为旧版本&#xff09; 步骤 现以安装旧版本的verilator为例讲解方法。 这是msys…

【Window环境下使用MSYS2搭建CMake + MinGW环境】

目录标题 安装CMakecmake 测试 MSYS2下载MSYS2安装MSYS2修改软件下载源 MSYS2下安装MinGW配置MinGW配置到环境变量 hello world测试 安装CMake Cmake下载地址:https://cmake.org/download/,下一个windows压缩包就好了&#xff0c;因为我比较喜欢自己来配置&#xff0c;免得不知…

用MSYS2安装mingw

文章目录 前言卸载mingw安装MSYS2 前言 安装MSYS2的原因是&#xff0c;在windows安装protobuf时&#xff0c;想用mingw编译protobuf的库&#xff0c;而protobuf的官方手册只给出一句&#xff1a; To build from source using Cygwin or MinGW, follow the Unix installation i…

【VSCode】【msys2】VS Code + msys2配置Windows下C/C++开发环境

【VSCode】【msys2】VS Code msys2配置Windows下C/C开发环境 一、Msys2配置 1. 下载msys2, 网址&#xff1a;https://www.msys2.org/ 2. 安装msys2-x86_64-xxxx.exe 这里没什难度&#xff0c;记住安装路径就好&#xff0c;一路next就装好了。 3. 安装gcc 3.1. 更新msys2…

Msys2记录

MSYS2 ​ MSYS2是MSYS的升级版&#xff0c;集成了pacman和Mingw-w64的Cygwin升级版&#xff0c;提供了Mingw-w64的GNU工具&#xff0c;包括GCC&#xff0c;同时移植了Arch Linux的软件包管理系统pacman&#xff0c;具备了Cygwin的POSIX API&#xff0c;理论上在Linux上的程序使…

msys2在windows10系统的安装

测试系统: windows 10 首先需要msys2的安装包,可以去官网下载安装包 官网地址: http://www.msys2.org/ 本次下载的是 msys2-x86_64-20180531.exe 注意:1.msys2不可以安装在FAT*分区    2.msys2不能安装在win XP系统上 1.双击msys2-x86_64-20180531.exe,并点击下一步选择安…

MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)

一、安装 测试系统: windows 10 首先需要msys2的安装包,可以去官网下载安装包 官网地址: http://www.msys2.org/ 本次下载的是 msys2-x86_64-latest.exe 注意: 1. msys2不可以安装在FAT*分区 2. msys2不能安装在win XP系统上 指定好安装路径&#xff08;一般D根目录即可&#…

初步使用MSYS2

在此镜像站点下载&#xff0c; https://mirror.tuna.tsinghua.edu.cn/help/msys2/ 根据资料&#xff0c; MSYS2 &#xff08;Minimal SYStem 2&#xff09; 是一个MSYS的独立改写版本&#xff0c;主要用于 shell 命令行开发环境。同时它也是一个在Cygwin &#xff08;POSIX …

超详细教程:windows安装MSYS2(mingw gcc)——更新于2021.11

目录 安装 MSYS2官网&#xff1a;https://www.msys2.org/ 安装 下载安装程序&#xff08;官网首页有&#xff09;&#xff1a;msys2-x86_64-20210725.exe 或 CSDN&#xff1a;https://download.csdn.net/download/ymzhu385/45988277运行安装程序。MSYS2 需要 64 位 Windows 7…

Argparse 教程

官方文档 argparse --- 命令行选项、参数和子命令解析器 — Python 3.10.2 文档 别人的笔记Argparse 教程 — Python 3.10.2 文档https://docs.python.org/zh-cn/3/howto/argparse.html#id1完整的argparse的API argparse --- 命令行选项、参数和子命令解析器 — Python 3.8…

python argparse

argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数&#xff0c;然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册&#xff0c;并在用户给程序传入无效参数时报出错误信息。 使用argparse从命令行传入参…

python argparse type_python argparse详解

1.argparse模块作用 用于解析命令行参数 2.位置参数和可选参数 运行以下代码: import argparse parser = argparse.ArgumentParser() args = parser.parse_args() 运行结果: 参数为-h或--help时,parser.parse_args()会输出命令行的位置参数position arguments和可选参数opti…

Python3中使用argparse模块解析命令行参数

argparse是Python的一个标准模块&#xff0c;用于解析命令行参数&#xff0c;即解析sys.argv中定义的参数。实现在&#xff1a;https://github.com/python/cpython/blob/main/Lib/argparse.py argparse模块还会自动生成帮助和使用信息&#xff0c;即在最后加-h或--help。当用户…

argparse教程

argparse教程 argparse是用来干什么的&#xff1f;位置参数和可选参数测试argparse的功能test1test2test3test4test5-可选参数test6-action选项test7-短选项test8-同时使用位置参数和可选参数test9test10-限定参数的取值范围test11-action"count"test12-None无法和in…

argparse 模块详解

文章目录 1. argparse 模块简介2. 未使用argparse示例3. 使用argparse示例3.1 argparse简单示例3.2 argparse进阶示例3.2.1 可选参数设置3.2.2 可选参数引用名3.2.3 清除帮助中的参数名信息3.2.4 必选参数设置3.2.5 列表参数&#xff08;多参数&#xff09;传入设置3.2.6 互斥参…

python中的argparse基本用法

1、argparse是一个python模块&#xff0c;用途是&#xff1a;命令行选项、参数和子命令的解释。 2、使用步骤&#xff1a; 导入argparse模块&#xff0c;并创建解释器添加所需参数解析参数 3、用法示例&#xff1a; import argparse# 1.创建解释器 parser argparse.Argume…

argparse简介

一、argparse简介 argparse 模块是 Python 内置的用于命令项选项与参数解析的模块&#xff0c;argparse 模块可以让人轻松编写用户友好的命令行接口&#xff0c;能够帮助程序员为模型定义参数。 argparse定义四个步骤 导入argparse包 ——import argparse创建一个命令行解析…