@nywqs/scada-engine 1.1.11 → 1.1.13

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/LICENSE ADDED
@@ -0,0 +1,45 @@
1
+ 版权所有 (c) 2025 leoncheng
2
+
3
+ 保留所有权利。
4
+
5
+ 本软件及其相关文档文件(以下简称"软件")仅供学习和研究使用。
6
+
7
+ 许可范围:
8
+
9
+ 1. 学习和研究使用
10
+ 允许个人或组织出于学习、研究目的免费使用本软件。
11
+
12
+ 2. 禁止商业使用
13
+ 未经书面授权,禁止将本软件用于任何商业目的,包括但不限于:
14
+ - 商业软件开发
15
+ - 商业服务提供
16
+ - 商业产品销售
17
+ - 任何形式的盈利性活动
18
+
19
+ 3. 商业授权
20
+ 如需将本软件用于商业目的,必须:
21
+ - 联系作者获取书面授权
22
+ - 获取有效的授权码
23
+ - 遵守授权协议中的条款
24
+
25
+ 4. 知识产权
26
+ 本软件的所有知识产权均归作者所有,包括但不限于:
27
+ - 源代码
28
+ - 文档
29
+ - 商标
30
+ - 专利
31
+
32
+ 5. 免责声明
33
+ 本软件按"原样"提供,不提供任何明示或暗示的保证,包括但不限于:
34
+ - 适销性保证
35
+ - 特定用途适用性保证
36
+ - 不侵权保证
37
+
38
+ 在任何情况下,作者或版权持有人均不对因使用本软件而产生的任何索赔、
39
+ 损害或其他责任负责。
40
+
41
+ 联系方式:
42
+ - 邮箱:nywqs@outlook.com
43
+ - 电话:18637762001
44
+
45
+ 如有任何问题或商业合作需求,欢迎联系。
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
- - 📦 **丰富组件库** - 内置基础图形、IoT组件、图表等
9
- - 🔗 **数据绑定** - 支持设备数据点绑定和实时更新
10
- - ⚡ **事件系统** - 灵活的事件配置和交互响应
11
- - 🎯 **TypeScript** - 完整的类型定义支持
12
- - 📱 **响应式** - 基于 Vue 3 Composition API
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
- - `AttributeConfigDialog` - 属性配置对话框
89
- - `CustomCodeDialog` - 自定义代码对话框
90
-
91
- ## 🔧 API
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,13 @@ const handlePreview = () => {
323
349
 
324
350
  本软件默认在底部显示版权信息。如需隐藏或修改版权信息,必须获取授权码。
325
351
 
326
- #### 1. 获取授权码
327
-
328
- **方式一:联系作者**
329
- - 📧 邮箱:nywqs@outlook.com
330
- - 📱 电话:18637762001
331
-
332
- **方式二:使用授权码生成工具**
333
-
334
- 打开项目根目录下的 `authcode-generator.html` 文件,在浏览器中生成授权码:
335
-
336
- ```bash
337
- # 1. 打开授权码生成工具
338
- open authcode-generator.html # macOS
339
- start authcode-generator.html # Windows
340
- xdg-open authcode-generator.html # Linux
352
+ #### 获取授权码
341
353
 
342
- # 2. 或使用命令行工具(Node.js)
343
- node src/utils/authkey_tool.js <公司名称>
344
- ```
354
+ 请联系作者获取授权码:
355
+ - 邮箱:nywqs@outlook.com
356
+ - 电话:18637762001
345
357
 
346
- #### 2. 使用授权码
358
+ #### 使用授权码
347
359
 
348
360
  ```vue
349
361
  <template>
@@ -353,7 +365,7 @@ node src/utils/authkey_tool.js <公司名称>
353
365
  </template>
354
366
  ```
355
367
 
356
- #### 3. 自定义 Footer 信息(需授权)
368
+ #### 自定义 Footer 信息(需授权)
357
369
 
358
370
  ```vue
359
371
  <template>
@@ -368,26 +380,53 @@ node src/utils/authkey_tool.js <公司名称>
368
380
  </template>
369
381
  ```
370
382
 
371
- **授权模式说明:**
372
- - 不提供 `authCode`:显示默认版权信息
373
- - 有效 `authCode` + 无 `customFooter`:隐藏 Footer
374
- - 有效 `authCode` + `customFooter`:显示自定义 Footer
383
+ **授权模式说明**
384
+ - 不提供 authCode:显示默认版权信息
385
+ - 有效 authCode + 无 customFooter:隐藏 Footer
386
+ - 有效 authCode + customFooter:显示自定义 Footer
375
387
 
376
- **授权信息解密:**
388
+ **授权信息解密**
377
389
 
378
- 授权码采用 **AES-256-CBC + OpenSSL** 格式加密,可解密出:
390
+ 授权码采用 AES-256-CBC + OpenSSL 格式加密,可解密出:
379
391
  - 公司/授权名称
380
392
  - 有效期(可选)
381
393
  - 机器码绑定(可选)
382
394
 
383
395
  控制台会输出授权验证信息:
384
396
  ```javascript
385
- 授权验证成功
386
- 🏛️ 授权公司: leoncheng
387
- 📅 有效期至: 2026-12-17
397
+ 授权验证成功
398
+ 授权公司: leoncheng
399
+ 有效期至: 2026-12-17
400
+ ```
401
+
402
+ ## 预览模式
403
+
404
+ ScadaCanvas 组件支持预览模式,用于在运行时展示组态画面:
405
+
406
+ ```vue
407
+ <template>
408
+ <ScadaCanvas
409
+ :preview-mode="true"
410
+ :auth-code="authCode"
411
+ />
412
+ </template>
413
+
414
+ <script setup lang="ts">
415
+ import { ref, onMounted } from 'vue'
416
+ import { ScadaCanvas } from '@nywqs/scada-engine'
417
+
418
+ const authCode = ref('your-auth-code')
419
+
420
+ // 预览模式特性:
421
+ // 1. 隐藏编辑工具栏和组件库
422
+ // 2. 禁止节点移动和编辑
423
+ // 3. 仅显示画布和组件
424
+ // 4. 支持动画自动播放
425
+ // 5. 支持实时数据更新
426
+ </script>
388
427
  ```
389
428
 
390
- ## 🔨 开发
429
+ ## 开发
391
430
 
392
431
  ```bash
393
432
  # 克隆项目
@@ -403,7 +442,7 @@ npm run dev
403
442
  npm run build:lib
404
443
  ```
405
444
 
406
- ## 📄 发布到 npm
445
+ ## 发布到 npm
407
446
 
408
447
  ```bash
409
448
  # 1. 登录 npm
@@ -422,30 +461,47 @@ npm version major # 主版本 1.0.0 -> 2.0.0
422
461
  npm publish
423
462
  ```
424
463
 
425
- ## 📋 版本管理建议
464
+ ## 版本管理建议
465
+
466
+ - patch (1.0.x):Bug 修复、小改进
467
+ - minor (1.x.0):新功能、向后兼容
468
+ - major (x.0.0):破坏性更新、重大重构
469
+
470
+ ## 版本历史
471
+
472
+ ### 1.1.11 (2025-12-30)
473
+ - 修复预览按钮事件触发问题
474
+ - 优化路由跳转逻辑
475
+ - 添加详细调试日志
476
+
477
+ ### 1.1.10 (2025-12-30)
478
+ - 添加预览事件支持
479
+ - 优化事件触发机制
426
480
 
427
- - **patch** (1.0.x): Bug 修复、小改进
428
- - **minor** (1.x.0): 新功能、向后兼容
429
- - **major** (x.0.0): 破坏性更新、重大重构
481
+ ### 1.0.0
482
+ - 初始版本发布
483
+ - 基础组态编辑功能
484
+ - 支持基础组件和IoT组件
430
485
 
431
- ## 🤝 贡献
486
+ ## 贡献
432
487
 
433
488
  欢迎提交 Issue 和 Pull Request!
434
489
 
435
- ## 📜 许可协议
490
+ ## 许可协议
436
491
 
437
- **版权所有 © 2025 leoncheng**
492
+ 版权所有 © 2025 leoncheng
438
493
 
439
- 本项目仅供学习和研究使用,**禁止商业用途**。
494
+ 本项目采用专有许可协议,详见 [LICENSE](LICENSE) 文件。
440
495
 
441
- 未经作者书面许可,不得将本软件用于任何商业目的,包括但不限于:
442
- - 商业软件开发
443
- - 商业服务提供
444
- - 商业产品销售
496
+ 简要说明:
497
+ - 允许用于学习和研究目的
498
+ - 禁止未经授权的商业使用
499
+ - 商业使用需获取书面授权和有效授权码
500
+ - 详细条款请查看 LICENSE 文件
445
501
 
446
- 如需商业使用,请联系作者获取授权。
502
+ 如需商业授权,请联系作者。
447
503
 
448
- ## 👨‍💻 作者
504
+ ## 作者
449
505
 
450
506
  **leoncheng**
451
507