topo-engine 0.1.9 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/index.d.ts +18 -1
- package/dist/style.css +11 -11
- package/dist/topo-engine.cjs +335 -57
- package/dist/topo-engine.cjs.map +1 -1
- package/dist/topo-engine.js +335 -57
- package/dist/topo-engine.js.map +1 -1
- package/dist/topo-engine.umd.cjs +335 -57
- package/dist/topo-engine.umd.cjs.map +1 -1
- package/docs/API.md +46 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -268,6 +268,7 @@ const dataUrl = ref('/data/topology.json');
|
|
|
268
268
|
> topo.locateNode(assetNo); // 定位到某户表位中心
|
|
269
269
|
> topo.highlightNode(assetNo, { color: '#FF0000' }); // 该户表位高亮环
|
|
270
270
|
> topo.setNodeGlow(assetNo, { color: '#FF6600' }); // 该户表位光晕
|
|
271
|
+
> topo.setNodeGlow(assetNo, { blink: true, color: '#FF6600' }); // 该户表位整体闪烁
|
|
271
272
|
> topo.setNodePulse(assetNo); // 该户电表格脉动
|
|
272
273
|
> topo.setText(assetNo, '异常'); // 表位上方标注
|
|
273
274
|
> topo.showCard(assetNo); // 客户档案卡片(定位在表位旁)
|
|
@@ -337,7 +338,8 @@ topo.unhighlightAll();
|
|
|
337
338
|
|
|
338
339
|
```javascript
|
|
339
340
|
topo.setNodePulse('2', { color: '#00C8FF', duration: 1500 }); // 节点脉动
|
|
340
|
-
topo.setNodeGlow('2', { color: '#FF0000'
|
|
341
|
+
topo.setNodeGlow('2', { color: '#FF0000' }); // 节点光晕(多层光环 + shadowBlur 辉光 + blur 面光底衬;ref 支持 psrId)
|
|
342
|
+
topo.setNodeGlow('2', { color: '#FF0000', intensity: 2, spread: 30, blink: true, duration: 800 }); // 更夸张:加强 + 更大扩散 + 图元整体闪烁
|
|
341
343
|
topo.removeNodeGlow('2');
|
|
342
344
|
topo.setEdgeFlow('1', '2', { color: '#00C8FF', duration: 2000 }); // 边流动
|
|
343
345
|
topo.removeAnimation('2');
|
package/dist/index.d.ts
CHANGED
|
@@ -76,7 +76,24 @@ export class TopoApi {
|
|
|
76
76
|
removeAllAnimations(): void;
|
|
77
77
|
|
|
78
78
|
// 节点光晕动画(ref 支持节点 id / psrId / assetNo)
|
|
79
|
-
|
|
79
|
+
// 渲染栈:blur 柔光底衬 + 实心光块 → 图元 → 外扩散环 ×2 → 霓虹主环(shadowBlur) → 亮芯环
|
|
80
|
+
// intensity: 强度倍率(默认 1;1.5~2.5 更夸张,0.5~0.7 更收敛)
|
|
81
|
+
// spread: 光环外扩半径,默认按图元大小自适应(短边 ×0.7,16~46px)
|
|
82
|
+
// width: 主环初始线宽 (px),默认 5.6(户表位 3.6)
|
|
83
|
+
// blink: 图元「整体闪烁」——false 默认只画光环;true = 0.85;数字 0~1 为强度
|
|
84
|
+
setNodeGlow(ref: string, opts?: {
|
|
85
|
+
color?: string;
|
|
86
|
+
spread?: number;
|
|
87
|
+
radius?: number;
|
|
88
|
+
duration?: number;
|
|
89
|
+
opacity?: number;
|
|
90
|
+
width?: number;
|
|
91
|
+
intensity?: number;
|
|
92
|
+
level?: number;
|
|
93
|
+
strength?: number;
|
|
94
|
+
blink?: boolean | number;
|
|
95
|
+
flash?: boolean | number;
|
|
96
|
+
}): boolean;
|
|
80
97
|
removeNodeGlow(ref: string): boolean;
|
|
81
98
|
removeAllNodeGlows(): void;
|
|
82
99
|
|
package/dist/style.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/* —— 主题变量:dark 为默认值,light 由 [data-theme='light'] 覆盖 —— */
|
|
3
|
-
.topo-wrap[data-v-
|
|
3
|
+
.topo-wrap[data-v-a4a4c398] {
|
|
4
4
|
--tp-bg: #050505;
|
|
5
5
|
--tp-toolbar-bg: rgba(20, 20, 20, 0.88);
|
|
6
6
|
--tp-toolbar-border: #333;
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
overflow: hidden;
|
|
20
20
|
background: var(--tp-bg);
|
|
21
21
|
}
|
|
22
|
-
.topo-wrap[data-theme='light'][data-v-
|
|
22
|
+
.topo-wrap[data-theme='light'][data-v-a4a4c398] {
|
|
23
23
|
--tp-bg: #ffffff;
|
|
24
24
|
--tp-toolbar-bg: rgba(255, 255, 255, 0.92);
|
|
25
25
|
--tp-toolbar-border: #d9d9d9;
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
--tp-text: #555;
|
|
34
34
|
--tp-error: #d32f2f;
|
|
35
35
|
}
|
|
36
|
-
.topo-container[data-v-
|
|
36
|
+
.topo-container[data-v-a4a4c398] {
|
|
37
37
|
width: 100%;
|
|
38
38
|
height: 100%;
|
|
39
39
|
}
|
|
40
|
-
.topo-toolbar[data-v-
|
|
40
|
+
.topo-toolbar[data-v-a4a4c398] {
|
|
41
41
|
position: absolute;
|
|
42
42
|
top: 10px;
|
|
43
43
|
left: 12px;
|
|
@@ -52,14 +52,14 @@
|
|
|
52
52
|
color: var(--tp-text);
|
|
53
53
|
z-index: 10;
|
|
54
54
|
}
|
|
55
|
-
.topo-title[data-v-
|
|
55
|
+
.topo-title[data-v-a4a4c398] {
|
|
56
56
|
color: var(--tp-title);
|
|
57
57
|
font-weight: 600;
|
|
58
58
|
}
|
|
59
|
-
.topo-meta[data-v-
|
|
59
|
+
.topo-meta[data-v-a4a4c398] {
|
|
60
60
|
color: var(--tp-meta);
|
|
61
61
|
}
|
|
62
|
-
.btn[data-v-
|
|
62
|
+
.btn[data-v-a4a4c398] {
|
|
63
63
|
margin-left: 4px;
|
|
64
64
|
padding: 3px 10px;
|
|
65
65
|
border: 1px solid var(--tp-btn-border);
|
|
@@ -69,12 +69,12 @@
|
|
|
69
69
|
cursor: pointer;
|
|
70
70
|
font-size: 12px;
|
|
71
71
|
}
|
|
72
|
-
.btn[data-v-
|
|
72
|
+
.btn[data-v-a4a4c398]:hover {
|
|
73
73
|
border-color: var(--tp-accent);
|
|
74
74
|
color: var(--tp-accent);
|
|
75
75
|
}
|
|
76
|
-
.topo-loading[data-v-
|
|
77
|
-
.topo-error[data-v-
|
|
76
|
+
.topo-loading[data-v-a4a4c398],
|
|
77
|
+
.topo-error[data-v-a4a4c398] {
|
|
78
78
|
position: absolute;
|
|
79
79
|
inset: 0;
|
|
80
80
|
display: flex;
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
z-index: 5;
|
|
86
86
|
background: var(--tp-overlay-bg);
|
|
87
87
|
}
|
|
88
|
-
.topo-error[data-v-
|
|
88
|
+
.topo-error[data-v-a4a4c398] {
|
|
89
89
|
color: var(--tp-error);
|
|
90
90
|
}
|
|
91
91
|
|