前言
基于 .NET 10 打造的跨平台文档管理系统,才真正感受到了什么叫"专业级"的开源力量。它不仅仅是一个简单的文件存储工具,更是一个集成了 CQRS 架构、实时通信、版本控制等高级特性的现代化应用示例。
项目介绍
一款标准的前后端分离项目,后端基于全新的 .NET 10 运行时开发,前端则采用了 Angular 框架。它最大的亮点在于对架构模式的深度应用——整个项目严格遵循 CQRS(命令查询职责分离)+ MediatR(中介者模式)的设计思想,配合异步编程模型,确保了代码的高内聚、低耦合。
这意味着,对于需要二次开发的企业来说,这套系统的代码结构清晰,逻辑分层明确,无论是增加新的业务模块,还是修改现有的审批流程,都能做到"热插拔"式的平滑扩展。同时,它支持 MySQL 8.0 和 SQL Server 2012 作为后端数据库,并提供了完善的 Docker 部署支持,无论是 Windows、Linux 还是 Mac 环境,都能快速落地。
项目功能
| 智能文档引擎 | ||
| 权限与审计 | ||
| 共享与协作 | ||
| 版本控制 | ||
| 管理控制台 |
项目特点
1、架构先行,代码即文档
采用 CQRS + MediatR 模式,将"写操作"(Command)和"读操作"(Query)彻底分离。这不仅让代码逻辑更加清晰,还极大地提升了系统的可维护性。所有的方法都是异步的,配合依赖注入(DI),让高并发场景下的性能表现非常稳健。
2、全平台覆盖,无缝衔接
除了标准的 Web 端(Angular),项目还提供了基于 Avalonia 的跨平台客户端。这意味着,你的团队成员可以在 Windows、Linux 或 Mac 上使用原生体验的桌面客户端,甚至在移动设备上也能通过响应式布局进行操作,真正实现了"一处部署,全端可用"。
3、安全为王,细节拉满
安全不仅仅是加密存储。系统内置了严格的文件类型过滤(禁止上传 .exe、.bat 等危险文件),通过防抖(Debounce)优化了全局搜索体验,还利用 Redis(或降级为内存锁)实现了上传并发控制,防止文件覆盖冲突。这些细节体现了开发团队深厚的技术功底。
系统架构与技术栈
| 运行时框架 | .NET 10 (net10.0) | |
| 架构模式 | CQRS + MediatR | |
| 前端交互 | Angular + Material | |
| 桌面客户端 | Avalonia UI | |
| 数据存储 | EF Core 10 + MySQL/SQL Server | |
| 安全认证 | JWT Bearer + ASP.NET Identity | |
| 实时通信 | SignalR |
项目效果
Web 层:包含 API 启动入口和依赖注入配置。 MediatR 层:存放所有的 Command 和 Query 处理逻辑,是业务的核心。 Repository 层:封装了 EF Core 的通用仓储模式。 Domain 层:定义了实体类和 DbContext。 Client 层:基于 Avalonia 的跨平台客户端代码,是学习 .NET 桌面开发的绝佳范例。 Dorisoy.Pan 不仅仅是一个文档管理系统,它更像是一套企业级应用的开发脚手架。它展示了如何利用 .NET 10 的最新特性,结合 CQRS 等先进架构,开发一个高可用、易扩展的现代化应用。不管是搭建一个内部的私有云盘,还是想寻找一个可二次开发的文档管理内核,Dorisoy.Pan 都是一个不错的选择。项目源码
总结