A:调整整体README

This commit is contained in:
jimmy committed 2025-12-11 16:53:33 +08:00
1 parent 26a2661625
commit 433e206d45
5 files changed
+166 -265

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
# Sharp.Client
基于 WPF 的工业客户端应用程序示例,展示了如何集成套件中的各个模块(PLC、串口、配置、日志、MVVM)。
## 功能概览
- **用户登录**:基于 `Sharp.Data` 的用户验证。
- **PLC 监控**:展示 `Plc.Siemens` 模块的使用,实时读取/写入 PLC 数据。
- **串口调试**:集成 `Ports` 模块,提供串口发现、连接与数据收发界面。
- **MVVM 架构**:使用 `Sharp.Wpf` 提供的 ViewModelBase、Command 和 DialogService。
## 关键集成点
### 1. 启动初始化 (App.xaml.cs)
展示了如何按顺序初始化基础设施:
- 加载配置 (`Sharp.Config`)
- 初始化日志 (`Sharp.Log`)
- 配置数据库 (`Sharp.Data`)
- 注册服务到 DI 容器 (`Sharp.Common.Global`)
### 2. PLC 交互 (PlcWindow)
- 演示了 `IPlcService` 的使用。
- 订阅模式(Subscribe) vs 即时读取(ReadAsync)。
- UI 绑定与数据转换。
### 3. 串口通信 (SerialPortWindow)
- 串口列表刷新与选择。
- 16进制与 ASCII 模式切换。
- 数据收发日志。
## 开发指南
1. 确保已安装 .NET 8 SDK。
2. 运行项目:
```bash
dotnet run --project Client.csproj
```
3. 默认登录账号(如使用示例数据库):`admin` / `123456`(需自行在初始化时播种)。
## 目录结构
- `Hardware/`: 硬件抽象层(如扫码枪、打印机接口)。
- `Services/`: 客户端特定服务(如 `LoginService`)。
- `ViewModels/`: MVVM 视图模型。
- `Views/`: XAML 窗口与控件。
+12
View File
@@ -0,0 +1,12 @@
# Sharp.EventBus
> **🚧 开发中 / Under Construction**
这是一个预留的事件总线模块,计划用于实现进程内(In-Process)或分布式(Distributed)的消息发布/订阅模式。
## 计划功能
- 定义统一的 `IEventBus` 接口。
- 提供基于内存(Channel/MemoryCache)的默认实现。
- 提供集成 RabbitMQ / Redis 的扩展实现。
目前该目录仅包含占位符。
+46
View File
@@ -0,0 +1,46 @@
# Sharp.Server
基于 WPF 的服务器控制台/仪表盘应用,集成了 `Sharp.NetServer` 作为内置 HTTP 服务端,演示了“桌面应用 + Web 服务”的混合架构。
## 功能特性
- **可视化控制**:通过 WPF 界面启动/停止 HTTP 服务。
- **实时日志**:在界面上显示服务器运行日志(集成 `Sharp.Log`)。
- **数据管理**:内置 SQLite 数据库管理界面(集成 `Sharp.Data`)。
- **混合架构**:
- 前台:WPF UI 用于运维和监控。
- 后台:`NetServer` 提供 REST API 供局域网设备/客户端调用。
## 架构说明
### 核心组件
- **ServerService**: 封装 `HttpServer` 的生命周期管理(启动、停止、重启)。
- **AppConfig**: 使用 `Sharp.Config` 映射的强类型配置。
- **Controllers**: API 控制器,处理来自网络的 HTTP 请求。
### 启动流程 (App.xaml.cs)
1. **配置**:加载 `appsettings.json`。
2. **日志**:初始化 Serilog 并绑定到 UI 输出。
3. **数据库**:初始化 EF Core Context。
4. **Web服务**:实例化 `ServerService` 但不立即启动(由用户点击按钮触发,或配置为自动启动)。
## 配置 (appsettings.json)
```json
{
"Server": {
"Host": "0.0.0.0",
"Port": 5000,
"UseAuth": true
},
"Database": { ... }
}
```
## 使用说明
1. 启动应用。
2. 点击“启动服务”按钮。
3. 状态栏显示“运行中”,并显示监听地址(如 `http://localhost:5000`)。
4. 使用浏览器或 Postman 访问 API(如 `/api/health`)。
5. 点击“数据管理”可查看存储在本地 SQLite 中的数据。
+5
View File
@@ -0,0 +1,5 @@
# Sharp.Infrastructure
基础设施层项目,通常用于存放解决方案级别的横切关注点或胶水代码,目前包含部分遗留配置或共享类型。
> **注意**:随着模块化重构的进行,本项目的许多职责已迁移至 `Common`、`Config` 等专门模块。当前主要作为兼容性保留或特定业务的基础设施依赖。