Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Current Handoff
- Goal: 完成综合平台编程器的工程管理和后续编辑功能。
- Branch:
main。
- Current status: 已完成开发顺序第 4 步,工程管理服务、版本化 JSON 存储和核心往返测试已完成。
- Changed files:
app/integrated_platform.pro
app/src/main.cpp
app/src/ui/main_window.h
app/src/ui/main_window.cpp
app/src/ui/main_window.ui
AGENTS.md
docs/C++代码规范.md
docs/architecture.md
app/src/domain/.gitkeep
app/src/services/.gitkeep
app/src/infrastructure/.gitkeep
app/tests/.gitkeep
scripts/build_and_run_qt.ps1
app/src/domain/register_address.h
app/src/domain/register_address.cpp
app/src/domain/register_repository.h
app/src/domain/register_repository.cpp
app/src/domain/hmi_model.h
app/src/domain/hmi_model.cpp
app/src/domain/control_logic_model.h
app/src/domain/control_logic_model.cpp
app/src/domain/project_model.h
app/src/domain/project_model.cpp
app/src/domain/runtime_state.h
app/src/domain/runtime_state.cpp
app/src/domain/project_storage.h
app/src/services/project_service.h
app/src/services/project_service.cpp
app/src/infrastructure/json_project_storage.h
app/src/infrastructure/json_project_storage.cpp
app/tests/domain_tests.pro
app/tests/domain_tests.cpp
app/tests/project_management_tests.pro
app/tests/project_management_tests.cpp
- Decisions made:
- Qt 应用源码位于
app/,构建输出位于被忽略的 build/。
- 使用 qmake、Qt Widgets、Qt SerialBus 和 MinGW 8.1。
- 主窗口只承载基础界面,不承担 PLC 通信或控制逻辑。
- 简单函数、构造函数和析构函数不添加重复性注释。
- 生产代码按
UI -> Services -> Domain 的方向依赖;基础设施实现领域接口。
- 领域模型仅使用 C++17 标准库,不依赖 Qt UI、串口或 Modbus。
- M 地址只承载布尔值,D 地址只承载带符号 16 位值,地址范围统一为
0~4000。
RegisterRepository 统一虚拟寄存器和真实 PLC 缓存的访问契约。
ProjectStorage 是领域层的工程文件存储契约,具体 JSON 和 Qt 文件 API 位于基础设施层。
ProjectService 负责工程路径、修改状态和新建保存加载流程;加载成功后才替换当前工程。
- 工程文件格式版本当前为
1.0,保存使用 QSaveFile 原子提交。
- 控制逻辑节点使用
std::variant 组合触点、线圈和数值比较的独立配置类型。
- 当前控制逻辑范围不包含定时器;不得因为设备手册或旧开发计划提前加入未确认功能。
- 新增逻辑节点时增加独立配置类型,不向通用节点结构堆叠无关可选字段。
- 测试按业务风险分级 优先覆盖领域规则 服务闭环 工程存储和通信异常 不为简单访问器堆叠单测。
- 运行态之间不可直接切换;真机运行态必须先完成 PLC 初次读取,且不运行软件逻辑执行器。
- Validation run and results:
- 在
build/baseline/ 执行 qmake 与 mingw32-make -j2,构建成功。
- 已启动
integrated_platform.exe 并正常退出。
- 已通过
scripts/build_and_run_qt.ps1 完成 Debug 构建和启动验证。
- 新增分层目录后再次完成 Debug 构建和启动验证。
- 已确认构建目录、临时目录和本地草稿文档被
.gitignore 忽略。
- 在
build/core-model/ 重新执行 qmake 和 mingw32-make -j2,应用构建成功。
- 在
build/domain-tests/ 构建并运行领域测试,输出 domain tests passed。
- 控制逻辑节点配置重构后再次构建应用和领域测试,均通过。
- 在
build/project-management-tests/ 构建并运行工程管理测试,输出 project management tests passed。
- 工程管理加入应用后重新执行 Qt 应用构建,构建成功。
- Remaining work: 进入开发顺序第 5 步,完成主界面和状态管理。
- Known risks / blockers: 无。
- Suggested next command: 在主窗口注入
ProjectService,接入新建、打开、保存和另存为操作。