jTopo 幫助說明網站 http://www.jtopo.com/index.html 使用例子: http://www.jtopo.com/demo/helloworld.html 不建議直接安裝 github 上的代碼,因為代碼版本不是最新,有部分功能未實現。 下載最新的js類庫文件放到 vu ...
jTopo 幫助說明網站
http://www.jtopo.com/index.html
使用例子:
http://www.jtopo.com/demo/helloworld.html
不建議直接安裝 github 上的代碼,因為代碼版本不是最新,有部分功能未實現。
下載最新的js類庫文件放到 vue 項目 public 文件夾下。
引入 import "/jtopo/jtopo-0.4.8-min.js"; <template> <div> <PanelBase title="拓撲圖"> <div slot="head-btns" class="panel-head-btns"></div> <div slot="body-content"> <section class="table-section"> <canvas width="2000" height="600" id="canvas"></canvas> </section> </div> </PanelBase> </div> </template>let canvas = document.getElementById("canvas");
that.stage = new JTopo.Stage(canvas); that.scene = new JTopo.Scene(that.stage); that.scene.background = "/jtopo/aa.png";
let s1 = that.node("a1", 305, 43, "server.png"); s1.alarm = "2 W"; let s2 = that.node("a2", 365, 43, "server.png"); let s3 = that.node("a3", 425, 43, "server.png");
let g1 = that.node("a4", 366, 125, "gather.png"); that.linkNode(s1, g1, true); that.linkNode(s2, g1, true); that.linkNode(s3, g1, true);
let w1 = that.node("a5", 324, 167, "wanjet.png"); that.linkNode(g1, w1);
let c1 = that.node("a6", 364, 214, "center.png"); that.linkNode(w1, c1);
let cloud = that.node("a7", 344, 259, "cloud.png"); that.linkNode(c1, cloud);
let c2 = that.node("a8", 364, 328, "center.png"); that.linkNode(cloud, c2);
let w2 = that.node("a9", 324, 377, "wanjet.png"); that.linkNode(c2, w2); linkNode(nodeA: number, nodeZ: number, f: boolean) { /**連線*/ let link; if (f) { link = new JTopo.FoldLink(nodeA, nodeZ); } else { link = new JTopo.Link(nodeA, nodeZ); } link.direction = "vertical"; this.scene.add(link); return link; }, hostLink(nodeA: any, nodeZ: any, name: string) { let link1 = new JTopo.FlexionalLink(nodeA, nodeZ, name); //var link = new JTopo.FlexionalLink(nodeA, nodeZ, text); //var link = new JTopo.FlexionalLink(nodeA, nodeZ, text);// 二次折線 link1.shadow = false; link1.offsetGap = 44; this.scene.add(link1); return link1; }