# Architecture: WCTDataMiner > 无线充电 FOD(异物检测)日志数据采集系统,从日志文件中解析 Qfod 和 Ploss 数据并存储到数据库 --- ## 文档索引 | 文档 | 说明 | |------|------| | [技术选型](./技术选型.md) | 技术栈总览、决策记录 | | [模块划分](./模块划分.md) | 模块总览、分层架构、依赖关系 | | [安全架构](./安全架构.md) | 认证方案、数据安全 | | [解析器设计](./parser/概览.md) | Qfod/Ploss 解析器详细设计 | | [数据处理流程](./数据处理流程.md) | 解析流程、批量写入、错误处理 | | [配置管理](./配置管理.md) | 配置文件、配置类定义 | | [CLI 命令设计](./CLI命令设计.md) | 命令行接口定义 | | [数据库切换支持](./database/概览.md) | SQLite/PostgreSQL 切换方案 | --- ## 架构图 ``` ┌─────────────────────────────────────────────────────────────┐ │ CLI Entry Point │ │ (Program.cs / System.CommandLine) │ ├─────────────────────────────────────────────────────────────┤ │ Service Layer │ ├─────────────────────────────────────────────────────────────┤ │ ParseService │ ErrorHandlingService │ ThresholdCalc │ ├─────────────────────────────────────────────────────────────┤ │ Parser Layer │ ├─────────────────────────────────────────────────────────────┤ │ QfodParser │ PlossParser │ LogFileReader │ ├─────────────────────────────────────────────────────────────┤ │ Data Layer │ ├─────────────────────────────────────────────────────────────┤ │ Models │ WctMinerDbContext │ IDbContextFactory │ ├─────────────────────────────────────────────────────────────┤ │ Infrastructure │ ├─────────────────────────────────────────────────────────────┤ │ Configuration │ Serilog │ AppSettings │ └─────────────────────────────────────────────────────────────┘ ``` --- ## 核心设计原则 | 原则 | 说明 | |------|------| | 技术栈 | .NET 8.0 LTS + C# 12.0 + EF Core 8.0 | | 数据库 | SQLite(当前)/ PostgreSQL(后续),配置切换 | | 解析模式 | 批处理,正则表达式匹配 | | ORM 模式 | Code First,支持迁移自动化 | | CLI 框架 | System.CommandLine,命令模式 | --- ## 假设/歧义标注 | 标注 | 内容 | |------|------| | [A] | 使用 .NET 8.0 LTS 版本 | | [A] | 初期使用 SQLite,架构支持切换 PostgreSQL | | [?] | 增量解析策略需确认 | | [?] | 多次解析同一文件的处理策略需确认 |