ypc
|
e27b01943c
|
feat(frontend): 信号管理页面重构 + 增量刷新 + 删除即时生效
核心变更:
- signal-store: 移除 localStorage 持久化, WS 断连清空;
update() 新增增量 DOM 刷新 (仅更新变化的单元格);
remove() 直接移除 DOM 行 (动画 fade out)
- router: 新增 reload() 强制重绘当前页
- ui: renderSignalPage 重写为统一列格式 #|saddr|desc|type|val|[ctrl]|操作;
事件委托替代 inline onclick; 内联输入框替代弹窗设值
- datacenter: 改用后端 dc_data JSON 替代文本解析 (修复 desc 含空格错位);
移除无用的 ctrl 列
- plc_config: 完整重写 — 查看/编辑双模式, 左右分栏布局,
信号面板+逻辑图查看(当前/备份)+编辑器基础选择
- plc_debug: 切换按钮后同步更新 SignalStore (修复 LED 延迟刷新)
- param: 内联输入框 + 序号列
修复:
- 删除信号后 DOM 行立即消失 (之前需切页才能看到)
- WS 推送到达时增量刷新, 不影响正在编辑的输入框
- 批量删除时每项都调用 SignalStore.remove
|
2026-07-14 18:22:17 +08:00 |
ypc
|
ccb26007e2
|
refactor: 移除 in 信号类型 (全栈 — datacenter/libplc/webserver/前端/测试)
in 信号的核心功能 (获取 out 指针 + 变更回调) 已被
dc_signal_out_link_with_callback 完全覆盖, 其独立的 saddr 命名空间
没有实际业务价值.
后端:
- datacenter API: 删除 dc_signal_in/dc_signal_in_with_callback/dc_get_in_signal_info
- dc_signal_in.cpp 已删除, g_dc_in/dc_core_find_in 移除
- libplc: 2 处 dc_signal_in → dc_signal_out_link_with_callback
- webserver: 移除 WS_SIG_IN 枚举值, ws_sig_add_in 函数,
g_ws_sig_names / dc_data 中的 in 分支
前端:
- router.js / signals.js / datacenter.js / ui.js / i18n.js / dashboard.js
/ signal-store.js / index.html: 移除所有 in 导航/页面/Tab/翻译
- 测试: test_datacenter.cpp 移除 test_in_signal
|
2026-07-14 18:21:35 +08:00 |