# WpfShellFramework **Repository Path**: zeratulzhou/wpf-shell-framework ## Basic Information - **Project Name**: WpfShellFramework - **Description**: 咱也是一脸懵不知道怎么介绍自己的项目 - **Primary Language**: C# - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WpfShellFramework 基于 .NET 8.0 的模块化 WPF 应用框架,集成 WPF-UI、SqlSugar、CommunityToolkit.Mvvm。 ## 模块一览 | 模块 | 职责 | |------|------| | **WpfShell.Core** | 核心接口与基础服务 | | **WpfShell.Common** | 共享基础设施:数据库、仓储、审计、日志、i18n | | **WpfShell.RBAC** | 角色权限控制:用户/角色/菜单、登录认证、页面/控件级权限 | | **WpfShell.Quartz** | 定时任务:Quartz 调度、Job 管理、执行日志 | | **WpfShell.OPCUA** | OPC UA 客户端:连接池、节点浏览、模板管理 | | **WpfShell.Monitor** | 可视化监控看板:拖拽布局、实时数据、多种 Widget | | **WpfShell.Formula** | 公式引擎 | | **WpfShell.Shell** | 应用宿主:启动、DI 容器、主窗口、导航 | ## 快速开始 ```bash # 构建 ./scripts/build.sh # 运行 ./scripts/run.sh ``` 数据库连接串在 `App.xaml.cs` 的 `ConfigureServices()` 中配置,首次运行自动 CodeFirst 建表。 ## 核心特性 - **RBAC 权限**:页面级 + 控件级两级权限控制 - **审计日志**:SqlSugar AOP 自动拦截数据变更 - **国际化**:中文/英文,.resx 资源文件 - **OPC UA**:连接池、节点浏览/发现、数据订阅 - **监控看板**:拖拽布局、仪表/状态/图表/设备/阀门 Widget ## 项目结构 ``` WpfShellFramework/ ├── WpfShell.Core/ # 核心接口 ├── WpfShell.Common/ # 共享基础设施 ├── WpfShell.RBAC/ # 权限模块 ├── WpfShell.Quartz/ # 定时任务 ├── WpfShell.OPCUA/ # OPC UA 客户端 ├── WpfShell.Monitor/ # 监控看板 ├── WpfShell.Formula/ # 公式引擎 ├── WpfShell.Shell/ # 应用宿主 ├── WpfShell.Tests/ # 测试 ├── scripts/ # 构建/运行脚本 ├── docs/ # 项目文档(本地) └── discuss/ # 讨论与评审 ``` ## 主要依赖 - [WPF-UI](https://github.com/lepoco/wpfui) 4.2.0 — 现代化 WPF 控件和主题 - [CommunityToolkit.Mvvm](https://learn.microsoft.com/dotnet/communitytoolkit/mvvm/) 8.2.2 — MVVM 工具 - [SqlSugar](https://www.donet5.com/Home/Doc) — ORM - [Serilog](https://serilog.net/) — 日志框架 - [Quartz.NET](https://www.quartz-scheduler.net/) — 定时任务调度 - [OPC UA](https://opcfoundation.org/) — 工业通信协议 ## 许可证 参见 [LICENSE](LICENSE)。