@nywqs/scada-engine 1.1.11 → 1.1.12
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 +120 -51
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
基于 AntV X6 + Vue 3 的自研 SCADA 组态引擎
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 特性
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
7
|
+
- 可视化编辑器:拖拽式组态界面设计
|
|
8
|
+
- 丰富组件库:内置基础图形、IoT组件、图表等
|
|
9
|
+
- 数据绑定:支持设备数据点绑定和实时更新
|
|
10
|
+
- 事件系统:灵活的事件配置和交互响应
|
|
11
|
+
- TypeScript:完整的类型定义支持
|
|
12
|
+
- 响应式:基于 Vue 3 Composition API
|
|
13
|
+
- 动画引擎:支持节点和连线动画效果
|
|
14
|
+
- 预览模式:支持编辑模式和预览模式切换
|
|
13
15
|
|
|
14
|
-
##
|
|
16
|
+
## 安装
|
|
15
17
|
|
|
16
18
|
```bash
|
|
17
19
|
npm install @nywqs/scada-engine
|
|
@@ -29,7 +31,7 @@ yarn add @nywqs/scada-engine
|
|
|
29
31
|
npm install vue@^3.4.0 vue-router@^4.6.0 @antv/x6@^2.18.0 echarts@^5.5.0 pinia@^2.1.0
|
|
30
32
|
```
|
|
31
33
|
|
|
32
|
-
##
|
|
34
|
+
## 快速开始
|
|
33
35
|
|
|
34
36
|
### 全局注册
|
|
35
37
|
|
|
@@ -69,26 +71,50 @@ const handleNodeUpdate = (data: any) => {
|
|
|
69
71
|
</script>
|
|
70
72
|
```
|
|
71
73
|
|
|
72
|
-
##
|
|
74
|
+
## 组件列表
|
|
73
75
|
|
|
74
76
|
### 核心组件
|
|
75
77
|
|
|
76
|
-
- `ScadaCanvas
|
|
77
|
-
- `PropertyPanel
|
|
78
|
-
- `ComponentLibrary
|
|
79
|
-
- `CanvasConfigPanel
|
|
80
|
-
- `Header
|
|
81
|
-
- `PreviewView` - 预览视图
|
|
78
|
+
- `ScadaCanvas`:画布组件(核心),支持编辑和预览模式
|
|
79
|
+
- `PropertyPanel`:属性面板,配置节点和连线属性
|
|
80
|
+
- `ComponentLibrary`:组件库面板,拖拽添加组件
|
|
81
|
+
- `CanvasConfigPanel`:画布配置面板
|
|
82
|
+
- `Header`:顶部工具栏
|
|
82
83
|
|
|
83
84
|
### 辅助组件
|
|
84
85
|
|
|
85
|
-
- `BindingCard
|
|
86
|
-
- `EventCard
|
|
87
|
-
- `BasicPropertiesTab
|
|
88
|
-
- `
|
|
89
|
-
- `
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
- `BindingCard`:数据绑定卡片,配置设备数据点绑定
|
|
87
|
+
- `EventCard`:事件配置卡片,配置交互事件
|
|
88
|
+
- `BasicPropertiesTab`:基础属性标签页
|
|
89
|
+
- `DataPropertiesTab`:数据属性标签页
|
|
90
|
+
- `EdgePropertiesTab`:连线属性标签页
|
|
91
|
+
- `AttributeConfigDialog`:属性配置对话框
|
|
92
|
+
- `CustomCodeDialog`:自定义代码对话框
|
|
93
|
+
- `DevicePointSelector`:设备数据点选择器
|
|
94
|
+
- `MappingConfigurator`:映射配置器
|
|
95
|
+
- `WorkflowSelectorDialog`:流程选择对话框
|
|
96
|
+
|
|
97
|
+
### 内置组件库
|
|
98
|
+
|
|
99
|
+
#### 基础组件(basic)
|
|
100
|
+
- 矩形(rect)
|
|
101
|
+
- 圆形(circle)
|
|
102
|
+
- 文本(text)
|
|
103
|
+
|
|
104
|
+
#### IoT组件(iot)
|
|
105
|
+
- 仪表盘(gauge):支持ECharts仪表盘展示
|
|
106
|
+
- 指示灯(light):支持开关状态指示
|
|
107
|
+
- 开关(switch):支持设备控制
|
|
108
|
+
|
|
109
|
+
#### 画布配置
|
|
110
|
+
- 画布尺寸:支持多种预设尺寸(1920x1080、1366x768等)
|
|
111
|
+
- 背景设置:支持颜色、图片背景
|
|
112
|
+
- 网格配置:支持网格显示、类型、大小设置
|
|
113
|
+
- 缩放控制:支持画布缩放
|
|
114
|
+
- 参考线:支持对齐参考线
|
|
115
|
+
- 磁吸功能:支持节点磁吸对齐
|
|
116
|
+
|
|
117
|
+
## API
|
|
92
118
|
|
|
93
119
|
### ScadaCanvas 组件 API
|
|
94
120
|
|
|
@@ -254,7 +280,7 @@ import type {
|
|
|
254
280
|
} from '@nywqs/scada-engine'
|
|
255
281
|
```
|
|
256
282
|
|
|
257
|
-
##
|
|
283
|
+
## 使用示例
|
|
258
284
|
|
|
259
285
|
### 完整编辑器应用
|
|
260
286
|
|
|
@@ -323,27 +349,27 @@ const handlePreview = () => {
|
|
|
323
349
|
|
|
324
350
|
本软件默认在底部显示版权信息。如需隐藏或修改版权信息,必须获取授权码。
|
|
325
351
|
|
|
326
|
-
####
|
|
352
|
+
#### 获取授权码
|
|
327
353
|
|
|
328
|
-
|
|
329
|
-
-
|
|
330
|
-
-
|
|
354
|
+
**联系作者**
|
|
355
|
+
- 邮箱:nywqs@outlook.com
|
|
356
|
+
- 电话:18637762001
|
|
331
357
|
|
|
332
|
-
|
|
358
|
+
**使用授权码生成工具**
|
|
333
359
|
|
|
334
360
|
打开项目根目录下的 `authcode-generator.html` 文件,在浏览器中生成授权码:
|
|
335
361
|
|
|
336
362
|
```bash
|
|
337
|
-
#
|
|
363
|
+
# 打开授权码生成工具
|
|
338
364
|
open authcode-generator.html # macOS
|
|
339
365
|
start authcode-generator.html # Windows
|
|
340
366
|
xdg-open authcode-generator.html # Linux
|
|
341
367
|
|
|
342
|
-
#
|
|
368
|
+
# 或使用命令行工具(Node.js)
|
|
343
369
|
node src/utils/authkey_tool.js <公司名称>
|
|
344
370
|
```
|
|
345
371
|
|
|
346
|
-
####
|
|
372
|
+
#### 使用授权码
|
|
347
373
|
|
|
348
374
|
```vue
|
|
349
375
|
<template>
|
|
@@ -353,7 +379,7 @@ node src/utils/authkey_tool.js <公司名称>
|
|
|
353
379
|
</template>
|
|
354
380
|
```
|
|
355
381
|
|
|
356
|
-
####
|
|
382
|
+
#### 自定义 Footer 信息(需授权)
|
|
357
383
|
|
|
358
384
|
```vue
|
|
359
385
|
<template>
|
|
@@ -368,26 +394,53 @@ node src/utils/authkey_tool.js <公司名称>
|
|
|
368
394
|
</template>
|
|
369
395
|
```
|
|
370
396
|
|
|
371
|
-
|
|
372
|
-
-
|
|
373
|
-
-
|
|
374
|
-
-
|
|
397
|
+
**授权模式说明**
|
|
398
|
+
- 不提供 authCode:显示默认版权信息
|
|
399
|
+
- 有效 authCode + 无 customFooter:隐藏 Footer
|
|
400
|
+
- 有效 authCode + customFooter:显示自定义 Footer
|
|
375
401
|
|
|
376
|
-
|
|
402
|
+
**授权信息解密**
|
|
377
403
|
|
|
378
|
-
授权码采用
|
|
404
|
+
授权码采用 AES-256-CBC + OpenSSL 格式加密,可解密出:
|
|
379
405
|
- 公司/授权名称
|
|
380
406
|
- 有效期(可选)
|
|
381
407
|
- 机器码绑定(可选)
|
|
382
408
|
|
|
383
409
|
控制台会输出授权验证信息:
|
|
384
410
|
```javascript
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
411
|
+
授权验证成功
|
|
412
|
+
授权公司: leoncheng
|
|
413
|
+
有效期至: 2026-12-17
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
## 预览模式
|
|
417
|
+
|
|
418
|
+
ScadaCanvas 组件支持预览模式,用于在运行时展示组态画面:
|
|
419
|
+
|
|
420
|
+
```vue
|
|
421
|
+
<template>
|
|
422
|
+
<ScadaCanvas
|
|
423
|
+
:preview-mode="true"
|
|
424
|
+
:auth-code="authCode"
|
|
425
|
+
/>
|
|
426
|
+
</template>
|
|
427
|
+
|
|
428
|
+
<script setup lang="ts">
|
|
429
|
+
import { ref, onMounted } from 'vue'
|
|
430
|
+
import { ScadaCanvas } from '@nywqs/scada-engine'
|
|
431
|
+
|
|
432
|
+
const authCode = ref('your-auth-code')
|
|
433
|
+
|
|
434
|
+
// 预览模式特性:
|
|
435
|
+
// 1. 隐藏编辑工具栏和组件库
|
|
436
|
+
// 2. 禁止节点移动和编辑
|
|
437
|
+
// 3. 仅显示画布和组件
|
|
438
|
+
// 4. 支持动画自动播放
|
|
439
|
+
// 5. 支持实时数据更新
|
|
440
|
+
</script>
|
|
388
441
|
```
|
|
389
442
|
|
|
390
|
-
##
|
|
443
|
+
## 开发
|
|
391
444
|
|
|
392
445
|
```bash
|
|
393
446
|
# 克隆项目
|
|
@@ -403,7 +456,7 @@ npm run dev
|
|
|
403
456
|
npm run build:lib
|
|
404
457
|
```
|
|
405
458
|
|
|
406
|
-
##
|
|
459
|
+
## 发布到 npm
|
|
407
460
|
|
|
408
461
|
```bash
|
|
409
462
|
# 1. 登录 npm
|
|
@@ -422,17 +475,33 @@ npm version major # 主版本 1.0.0 -> 2.0.0
|
|
|
422
475
|
npm publish
|
|
423
476
|
```
|
|
424
477
|
|
|
425
|
-
##
|
|
478
|
+
## 版本管理建议
|
|
479
|
+
|
|
480
|
+
- patch (1.0.x):Bug 修复、小改进
|
|
481
|
+
- minor (1.x.0):新功能、向后兼容
|
|
482
|
+
- major (x.0.0):破坏性更新、重大重构
|
|
483
|
+
|
|
484
|
+
## 版本历史
|
|
485
|
+
|
|
486
|
+
### 1.1.11 (2025-12-30)
|
|
487
|
+
- 修复预览按钮事件触发问题
|
|
488
|
+
- 优化路由跳转逻辑
|
|
489
|
+
- 添加详细调试日志
|
|
490
|
+
|
|
491
|
+
### 1.1.10 (2025-12-30)
|
|
492
|
+
- 添加预览事件支持
|
|
493
|
+
- 优化事件触发机制
|
|
426
494
|
|
|
427
|
-
|
|
428
|
-
-
|
|
429
|
-
-
|
|
495
|
+
### 1.0.0
|
|
496
|
+
- 初始版本发布
|
|
497
|
+
- 基础组态编辑功能
|
|
498
|
+
- 支持基础组件和IoT组件
|
|
430
499
|
|
|
431
|
-
##
|
|
500
|
+
## 贡献
|
|
432
501
|
|
|
433
502
|
欢迎提交 Issue 和 Pull Request!
|
|
434
503
|
|
|
435
|
-
##
|
|
504
|
+
## 许可协议
|
|
436
505
|
|
|
437
506
|
**版权所有 © 2025 leoncheng**
|
|
438
507
|
|
|
@@ -445,7 +514,7 @@ npm publish
|
|
|
445
514
|
|
|
446
515
|
如需商业使用,请联系作者获取授权。
|
|
447
516
|
|
|
448
|
-
##
|
|
517
|
+
## 作者
|
|
449
518
|
|
|
450
519
|
**leoncheng**
|
|
451
520
|
|