最后更新:2026-06-16 当前阶段:Phase 2 — 通信层开发 🔄 进行中(2026-06-16) 完成度:23/70 任务 (32.9%)
| 符号 | 含义 |
|---|---|
| ⬜ | 待开始 |
| 🔄 | 进行中 |
| ✅ | 已完成 |
| 🚫 | 已阻塞 |
| ⏸️ | 已跳过 |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| P0.1 | 制定详细实施计划(64 项任务拆分、依赖关系、风险清单) | ✅ | 2026-06-15 | docs/实施计划.md |
| P0.2 | 更新 AGENTS.md 进度状态与文档索引 | ✅ | 2026-06-15 | AGENTS.md |
| P0.3 | 创建 PROGRESS.md 任务进度追踪文件 | ✅ | 2026-06-15 | docs/PROGRESS.md |
| P0.4 | 检查 .gitignore + 添加 .NET/Avalonia 忽略模式 | ✅ | 2026-06-15 | /Users/liliang/.gitignore |
| P0.5 | 首次 git 提交:初始化项目文档(commit 746edfc) | ✅ | 2026-06-15 | git log 746edfc |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.1 | 创建 .NET 9 解决方案、4 个项目分层、项目引用关系 | ✅ | 2026-06-15 | LogisticsHMI.sln, 4 个 .csproj |
| 1.1a | 安装 Avalonia 12 + CommunityToolkit.Mvvm 等 NuGet 包 | ✅ | 2026-06-15 | 4 个 .csproj 含 PackageReference |
| 1.1b | dotnet restore + dotnet build 首次编译验证 | ✅ | 2026-06-15 | dotnet build 0 errors 0 warnings |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.2 | 集成 CommunityToolkit.Mvvm、ViewModelBase 基类 | ✅ | 2026-06-15 | ViewModelBase.cs ([ObservableProperty]/[RelayCommand]) |
| 1.2a | 创建示例 View/ViewModel 对(HomeView/HomeViewModel)验证 MVVM | ✅ | 2026-06-15 | HomeView.axaml + HomeViewModel.cs |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.3 | 配置 Microsoft.Extensions.DI、服务生命周期管理 | ✅ | 2026-06-15 | ServiceCollectionExtensions.cs + Program.cs |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.4 | 集成 Serilog、文件滚动、控制台输出、通信日志独文件 | ✅ | 2026-06-15 | LoggingConfiguration.cs (三路 Sink) |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.5 | 三套主题(工业蓝/暗黑/高对比度)、颜色令牌、全局 Style | ✅ | 2026-06-15 | Colors.axaml + ThemeDark.axaml + ThemeHighContrast.axaml + ThemeService.cs |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.6 | 页面路由导航、INavigationService、面包屑、左侧菜单 | ✅ | 2026-06-15 | INavigationService + NavigationService + ShellView/ShellViewModel + 3 页面 |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.7 | StatusBar/NotificationBadge/PageContainer/DialogService | ✅ | 2026-06-16 | Controls/StatusBarView, NotificationBadge, PageContainer, Services/IDialogService+DialogService, Converters/GreaterThanZeroConverter, ViewModels/StatusBarViewModel, 资源键别名 |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.8 | IWindowService/WindowService、TrayService 系统托盘、SingleInstanceGuard 单实例检测、App.axaml.cs 启动集成 | ✅ | 2026-06-16 | Services/IWindowService+WindowService+TrayService+SingleInstanceGuard, App.axaml.cs 更新, Program.cs 单实例检测, ServiceCollectionExtensions 注册 |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 1.9 | Options Pattern、appsettings.json、热重载、配置 UI | ✅ | 2026-06-16 | AppConfig/IConfigurationService (App.Core), ConfigurationService (App.Infrastructure), appsettings.json, SettingsViewModel/SettingsView (完整配置编辑UI), StringNotEmptyConverter, ShellViewModel注入, DI注册 |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 2.1 | IDeviceDriver 接口设计(Config、枚举、事件) | ✅ | 2026-06-16 | src/App.Core/Interfaces/IDeviceDriver.cs, src/App.Core/Models/DriverConfigBase.cs, src/App.Core/Events/ConnectionStateChangedEventArgs.cs |
| 2.2 | Modbus TCP 驱动(裸 TCP 实现功能码 01-10、Span 零分配) | ✅ | 2026-06-16 | src/App.Infrastructure/Drivers/ModbusTcpDriver.cs |
| 2.3 | Modbus RTU 驱动(System.IO.Ports、CRC16) | ✅ | 2026-06-16 | src/App.Infrastructure/Drivers/ModbusRtuDriver.cs, src/App.Infrastructure/Drivers/ModbusProtocol.cs, src/App.Core/Models/ModbusRtuDriverConfig.cs, tests/App.Infrastructure.Tests/ModbusProtocolTests.cs (46项测试) |
| 2.4 | Siemens S7 驱动(S7netplus、DB/I/Q/M、TSAP) | ✅ | 2026-06-16 | src/App.Infrastructure/Drivers/S7Driver.cs, src/App.Core/Models/S7DriverConfig.cs, tests/App.Infrastructure.Tests/S7DriverTests.cs (28项测试) |
| 2.5 | OPC UA 客户端驱动(OPCFoundation、安全策略、证书) | ✅ | 2026-06-16 | src/App.Infrastructure/Drivers/OpcUaDriver.cs, src/App.Core/Models/OpcUaDriverConfig.cs, tests/App.Infrastructure.Tests/OpcUaDriverTests.cs (22项测试) |
| 2.6 | MQTT 驱动(MQTTnet 5、QoS、Will Message、TLS) | ✅ | 2026-06-16 | src/App.Infrastructure/Drivers/MqttDriver.cs, src/App.Core/Models/MqttDriverConfig.cs, tests/App.Infrastructure.Tests/MqttDriverTests.cs (18项测试) |
| 2.7 | 连接池管理器(复用、限流、健康检查) | ✅ | 2026-06-16 | src/App.Core/Interfaces/IDeviceConnectionPool.cs, src/App.Core/Interfaces/IDeviceDriverFactory.cs, src/App.Infrastructure/ConnectionPoolManager.cs, src/App.Infrastructure/DeviceDriverFactory.cs, tests/App.Infrastructure.Tests/ConnectionPoolManagerTests.cs (32项测试) |
| 2.8 | 心跳与自动重连(IHeartbeatService、心跳 Tick/Missed/Recovered 事件、连续丢失阈值检测) | ✅ | 2026-06-16 | src/App.Core/Interfaces/IHeartbeatService.cs, src/App.Core/Models/HeartbeatModels.cs, src/App.Infrastructure/HeartbeatService.cs, tests/App.Infrastructure.Tests/HeartbeatServiceTests.cs (23项测试) |
| 2.9 | 设备数据缓存层(MemoryCache、TTL、写直达) | ⬜ | — | — |
| 2.10 | 模拟设备驱动(VirtualDevice 堆垛机/输送线/传感器) | ⬜ | — | — |
| 2.11 | 通信诊断面板(状态灯、延迟、收发计数、原始帧查看) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 3.1 | 数据库设计与迁移(PostgreSQL 业务表、EF Core Code First) | ⬜ | — | — |
| 3.2 | EF Core 仓储层(泛型 Repository、Specification 模式) | ⬜ | — | — |
| 3.3 | Redis 缓存层(StackExchange.Redis、分布式缓存、分布式锁) | ⬜ | — | — |
| 3.4 | 数据采集管道(Channels、Producer/Consumer、背压控制) | ⬜ | — | — |
| 3.5 | 时序数据存储(TDengine 超级表+子表、攒批写入) | ⬜ | — | — |
| 3.6 | 断点续传机制(SQLite 离线缓冲、网络恢复回补) | ⬜ | — | — |
| 3.7 | 数据清理策略(定时清理、原始→聚合、备份可选) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 4.1 | 任务模型设计(TaskEntity、TaskStatus 枚举、优先级) | ⬜ | — | — |
| 4.2 | 任务接收与解析(REST/DB 轮询、优先级队列、重复检测) | ⬜ | — | — |
| 4.3 | 任务拆分与编排(复合→原子操作、依赖关系管理) | ⬜ | — | — |
| 4.4 | 设备分配策略(Round-Robin/最少任务/最近设备/权重) | ⬜ | — | — |
| 4.5 | 路径规划(A* 仓库地图、动态/静态障碍物) | ⬜ | — | — |
| 4.6 | 交通管制(三级锁、死锁检测与解除) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 4.7 | 设备状态机框架(Stateless FSM、通用状态+扩展状态) | ⬜ | — | — |
| 4.8 | 具体设备状态机(堆垛机/AGV/输送线) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 4.9 | 设备总览看板(SkiaSharp 库区俯视图、设备图标、动画) | ⬜ | — | — |
| 4.10 | 实时数据曲线(LiveChartsCore 拖拽缩放、多 Y 轴) | ⬜ | — | — |
| 4.11 | 任务执行总览(任务列表、进度条、甘特图) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 4.12 | 报警规则引擎(条件→级别→通知→抑制) | ⬜ | — | — |
| 4.13 | 报警通知渠道(IAlarmChannel、短信/邮件/钉钉/微信) | ⬜ | — | — |
| 4.14 | 报警生命周期管理(产生→确认→处理→归档、升级、抑制) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 4.15 | RBAC 权限系统(三级模型、界面级+按钮级权限) | ⬜ | — | — |
| 4.16 | 操作审计日志(Hash 链校验、查询导出) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 4.17 | 报表模板系统(IReportTemplate、4 个内置模板) | ⬜ | — | — |
| 4.18 | 报表生成与分发(Excel ClosedXML/PDF QuestPDF、定时分发) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 5.1 | REST API 接口(ASP.NET Core 内嵌、Swagger、JWT) | ⬜ | — | — |
| 5.2 | WebSocket 实时推送(SignalR Hub、状态/任务/报警推送) | ⬜ | — | — |
| 5.3 | Web 端远程监控(Blazor/Web 版看板、只读监控) | ⬜ | — | — |
| 5.4 | 消息队列集成(Wolverine+RabbitMQ、事件分发) | ⬜ | — | — |
| 5.5 | WMS/ERP 对接适配器(IExternalSystemAdapter、适配器模式) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 6.1 | 多语言国际化(资源字典 + .resx,中文/英文) | ⬜ | — | — |
| 6.2 | 设备健康评估规则引擎(可配置阈值模板、历史对比) | ⬜ | — | — |
| 6.3 | 统计趋势分析(移动平均、同比/环比、季节性规律) | ⬜ | — | — |
| 6.4 | 3D 数字孪生(Babylon.js + WebView2 或 SkiaSharp) | ⬜ | — | — |
| 6.5 | ONNX 异常检测(积累 6 月数据后引入) | ⬜ | — | — |
| ID | 任务 | 状态 | 完成时间 | 证据 |
|---|---|---|---|---|
| 7.1 | 单元测试框架(xUnit + Moq + AutoFixture,贯穿 Phase 1~6) | 🔄 | 2026-06-16 | tests/App.Core.Tests (18项), tests/App.Infrastructure.Tests (199项), 共217项测试全通过 |
| 7.2 | 集成测试(TestContainers 容器化测试,Phase 3 起) | ⬜ | — | — |
| 7.3 | 性能基准测试(BenchmarkDotNet,Phase 2 起) | ⬜ | — | — |
| 7.4 | 压力稳定性测试(72h 连续运行、内存泄漏检测) | ⬜ | — | — |
| 7.5 | 现场联调(真实工控机 + 真实 PLC) | ⬜ | — | — |
| 7.6 | NativeAOT 编译发布(PublishAot=true、RD.xml) | ⬜ | — | — |
| 7.7 | Docker 容器化(Dockerfile + Docker Compose) | ⬜ | — | — |
| 7.8 | CI/CD 流水线(GitHub Actions Build→Test→Publish) | ⬜ | — | — |
| 7.9 | 用户文档(安装/操作/运维/API 文档) | ⬜ | — | — |
| Phase | 总任务 | 已完成 | 进行中 | 待开始 | 完成率 |
|---|---|---|---|---|---|
| P0 规划 | 5 | 5 | 0 | 0 | 100% |
| P1 基础框架 | 12 | 12 | 0 | 0 | 100% ✅ |
| P2 通信层 | 11 | 8 | 0 | 3 | 72.7% |
| P3 数据平台 | 7 | 0 | 0 | 7 | 0% |
| P4 核心业务 | 18 | 0 | 0 | 18 | 0% |
| P5 系统集成 | 5 | 0 | 0 | 5 | 0% |
| P6 增强功能 | 5 | 0 | 0 | 5 | 0% |
| P7 测试发布 | 9 | 0 | 1 | 8 | 0% — 测试框架进行中 |
| 合计 | 70 | 23 | 0 | 47 | 32.9% |
注:P1 拆分子任务后总数为 70 项(原 64 项 + 1.1a 安装包 + 1.1b 编译验证 + 1.2a 示例对 + P0 规划 3 项)。
Phase 2.9:设备数据缓存层 — MemoryCache、TTL、写直达。