Commit Graph

2 Commits

Author SHA1 Message Date
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 06fc257696 webserver: 前端命令面板 + 后端 PLC Config 支持
后端:
- ws_method.cpp cmd 处理增强:datacenter 命令自动调用 dc_save_out_signals_xml() 导出 XML
- ws_method.cpp cmd 处理增强:自动构建 dc_data JSON 返回信号元数据
- web_server.cpp: EV_STOP 优雅退出支持

前端:
- terminal.js: 命令面板模式,按钮显示命令名+描述,按模块分组
- terminal.js: 点击填充到输入框,可继续输入子命令参数
- index.html: 对接新 terminal 函数(renderCmdPanels/termOnBinary)
- style.css: 命令面板按钮、输入框样式
2026-07-14 11:01:33 +08:00