Galosys.Foundation

Galosys.Foundation 是一个模块化的 .NET 8.0 快速开发框架,提供超过 150+ NuGet 包,覆盖 Web 开发、数据库访问、消息队列、微服务、AI 集成等领域。
特性
-
模块化设计 -- 按需选择,自由组合
-
DDD 基础设施 -- 实体基类、领域事件、聚合根、统一响应
-
ASP.NET Core 扩展 -- 动态 API、管理后台、多租户、验证码
-
数据访问 -- EF Core、Dapper、FreeSql、SqlSugar
-
缓存与存储 -- Redis、FreeRedis、FusionCache、MinIO
-
消息队列 -- Kafka、RabbitMQ、EasyNetQ、RocketMQ
-
API 网关 -- YARP、gRPC、Nacos、Consul
-
微服务 -- Orleans、CAP 分布式事务
-
AI 与大模型 -- Semantic Kernel、Whisper、PaddleOCR
-
第三方集成 -- 阿里云、微信、钉钉、支付宝
快速开始
克隆与构建
# 克隆
git clone https://github.com/galosys/foundation.git
cd foundation
# 还原与构建
dotnet restore Galosys.Foundation.sln
dotnet build Galosys.Foundation.sln
# 运行测试
dotnet test
# 运行示例
cd samples/Dev.ConsoleApp
dotnet run
通过 NuGet 安装
dotnet add package Galosys.Foundation.Core
dotnet add package Galosys.Foundation.AspNetCore
dotnet add package Galosys.Foundation.EntityFrameworkCore
代码示例
using Galosys.Foundation.Core;
// 统一响应
var response = UnifiedResponse.Succeed(data, "Operation succeeded");
var response = UnifiedResponse.Fail("ERROR_CODE", "Operation failed");
// 实体定义
public class User : FullEntity<long>
{
public string Name { get; set; }
public string Email { get; set; }
}
// 分页
var page = PageOutput.Of(items, total, pageNumber, pageSize);
// 雪花 ID
var id = SnowflakeIdGenerator.Instance.NextId();
架构概览
┌─────────────────────────────────────────────────────────┐
│ 扩展模块层 │
│ Web ─ Admin ─ WPF ─ IoT ─ AI ─ Payment ─ Logistics │
├─────────────────────────────────────────────────────────┤
│ 应用层 │
│ DynamicApi ─ MultiTenancy ─ HealthChecks ─ SignalR │
├─────────────────────────────────────────────────────────┤
│ 基础设施层 │
│ EFCore ─ Dapper ─ Redis ─ Kafka ─ RabbitMQ ─ Orleans │
├─────────────────────────────────────────────────────────┤
│ 核心库 │
│ Entity ─ Repository ─ UnitOfWork ─ Events ─ Snowflake │
└─────────────────────────────────────────────────────────┘
模块目录
完整的 150+ 模块列表请参见 docs/module-status.md。
核心库
| 模块 |
说明 |
Galosys.Foundation.Core |
统一响应、DDD 实体、扩展方法、加密 |
ASP.NET Core
| 模块 |
说明 |
Galosys.Foundation.AspNetCore |
核心 MVC 扩展 |
Galosys.Foundation.AspNetCore.DynamicApi |
动态 API 生成 |
Galosys.Foundation.AspNetCore.Admin |
管理后台 |
Galosys.Foundation.AspNetCore.MultiTenancy |
多租户 |
Galosys.Foundation.AspNetCore.Localization |
本地化 |
Galosys.Foundation.AspNetCore.Grpc |
gRPC |
Galosys.Foundation.AspNetCore.OpenIddict |
OpenIddict 认证 |
数据访问
| 模块 |
说明 |
Galosys.Foundation.EntityFrameworkCore |
EF Core 集成 |
Galosys.Foundation.Dapper |
Dapper 集成 |
Galosys.Foundation.FreeSql |
FreeSql ORM |
Galosys.Foundation.SqlSugar |
SqlSugar ORM |
Galosys.Foundation.EFCore.BulkExtensions |
批量操作 |
缓存与存储
| 模块 |
说明 |
Galosys.Foundation.Redis |
Redis |
Galosys.Foundation.StackExchange.Redis |
StackExchange.Redis |
Galosys.Foundation.FreeRedis |
FreeRedis |
Galosys.Foundation.FusionCache |
FusionCache |
消息队列
| 模块 |
说明 |
Galosys.Foundation.Kafka |
Kafka 生产者/消费者 |
Galosys.Foundation.RabbitMQ |
RabbitMQ |
Galosys.Foundation.RocketMQ |
RocketMQ |
Galosys.Foundation.EasyNetQ |
EasyNetQ |
Galosys.Foundation.DotNetCore.CAP |
CAP 分布式事务 |
API 网关
| 模块 |
说明 |
Galosys.Foundation.Yarp |
YARP 反向代理 |
Galosys.Foundation.Yarp.Database |
基于数据库的路由 |
Galosys.Foundation.Yarp.NacosNaming |
Nacos 服务发现 |
微服务
| 模块 |
说明 |
Galosys.Foundation.Orleans |
Orleans 框架 |
Galosys.Foundation.Orleans.Server |
Orleans 服务端 |
Galosys.Foundation.Orleans.Client |
Orleans 客户端 |
Galosys.Foundation.Dtmcli |
DTM 分布式事务 |
Galosys.Foundation.NacosConfig |
Nacos 配置中心 |
Galosys.Foundation.NacosNaming |
Nacos 服务注册 |
Galosys.Foundation.Consul |
Consul 服务发现 |
AI 与大模型
| 模块 |
说明 |
Galosys.Foundation.SemanticKernel |
Semantic Kernel |
Galosys.Foundation.ModelContextProtocol |
MCP 协议 |
Galosys.Foundation.WhisperNet |
语音识别 |
Galosys.Foundation.PaddleOCRSharp |
OCR |
Galosys.Foundation.OpenCvSharp |
OpenCV 图像处理 |
Galosys.Foundation.SdcbWordCloud |
词云生成 |
Galosys.Foundation.JiebaNet |
中文分词 |
云服务与第三方
| 模块 |
说明 |
Galosys.Foundation.Aliyun |
阿里云 SDK |
Galosys.Foundation.AspNetCore.Aliyun |
阿里云 ASP.NET Core 集成 |
Galosys.Foundation.AlipayEasySDK |
支付宝 |
Galosys.Foundation.AspNetCore.Alipay |
支付宝 ASP.NET Core 集成 |
Galosys.Foundation.Wechat |
微信 SDK |
Galosys.Foundation.DingTalk |
钉钉 SDK |
Galosys.Foundation.Minio |
MinIO 对象存储 |
Galosys.Foundation.Qiniu |
七牛云存储 |
桌面与 WPF
| 模块 |
说明 |
Galosys.Foundation.Wpf |
WPF 扩展 |
Galosys.Foundation.PrismWpf |
Prism WPF 集成 |
Galosys.Foundation.HandyControl |
WPF 控件库 |
Galosys.Foundation.MaterialDesignInXamlToolkit |
Material Design |
工具与测试
| 模块 |
说明 |
Galosys.Foundation.Npoi |
Excel (NPOI) |
Galosys.Foundation.MiniExcel |
Excel (MiniExcel) |
Galosys.Foundation.Mapster |
对象映射 |
Galosys.Foundation.HttpClient |
HTTP 客户端扩展 |
Galosys.Foundation.FluentValidation |
数据验证 |
Galosys.Foundation.AutoFixture |
测试数据生成 |
Galosys.Foundation.Xunit2 |
xUnit 扩展 |
项目结构
Galosys.Foundation/
├── framework/
│ ├── src/ # 150+ 库模块
│ └── test/ # 单元测试与集成测试
├── samples/ # 示例应用
│ ├── Dev.ConsoleApp/
│ └── Dev.API/
├── docs/ # 文档
└── scripts/ # 构建与工具脚本
相关链接
许可证
Apache License 2.0 -- 详见 LICENSE