Galosys.Foundation

Galosys.Foundation 是一个模块化的 .NET 10.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 实体、扩展方法、加密 |
Galosys.Foundation.Core.SourceGeneration |
源码生成器 |
Galosys.Foundation.Data |
数据抽象层 |
Galosys.Foundation.DatabaseConfiguration |
数据库配置通 |
ASP.NET Core
| 模块 |
说明 |
Galosys.Foundation.AspNetCore |
核心 MVC 扩展 |
Galosys.Foundation.AspNetCore.DynamicApi |
动态 API 生成 |
Galosys.Foundation.AspNetCore.AdminSafe |
管理后台安全 |
Galosys.Foundation.AspNetCore.FeatureManagement |
功能开关 |
Galosys.Foundation.AspNetCore.HealthChecks.UI |
健康检查面板 |
Galosys.Foundation.AspNetCore.MultiTenancy |
多租户 |
Galosys.Foundation.AspNetCore.Localization |
本地化 |
Galosys.Foundation.AspNetCore.OpenIddict |
OpenIddict 认证 |
Galosys.Foundation.OpenIddict.Client |
OpenIddict 客户端 |
Galosys.Foundation.AspNetCore.TestHost |
测试主机 |
Galosys.Foundation.Swashbuckle |
Swagger |
Galosys.Foundation.BcryptNet |
密码哈希 |
Galosys.Foundation.Totp |
TOTP 双因素认证 |
网关与 RPC
| 模块 |
说明 |
Galosys.Foundation.Yarp |
YARP 反向代理 |
Galosys.Foundation.Yarp.Database |
基于数据库的路由 |
Galosys.Foundation.Yarp.NacosNaming |
Nacos 服务发现 |
Galosys.Foundation.AspNetCore.Grpc |
gRPC 集成 |
数据访问
| 模块 |
说明 |
Galosys.Foundation.EntityFrameworkCore |
EF Core 集成 |
Galosys.Foundation.EFCore.BulkExtensions |
EF Core 批操作 |
Galosys.Foundation.Dapper |
Dapper 集成 |
Galosys.Foundation.FreeSql |
FreeSql ORM |
Galosys.Foundation.SqlSugar |
SqlSugar ORM |
Galosys.Foundation.ShardingCore |
分库分表 |
Galosys.Foundation.Sqlite |
SQLite |
Galosys.Foundation.LiteDB |
LiteDB |
Galosys.Foundation.Elastic |
Elasticsearch |
Galosys.Foundation.OleDb |
OLE DB |
缓存
| 模块 |
说明 |
Galosys.Foundation.Redis |
Redis 抽象 |
Galosys.Foundation.StackExchange.Redis |
StackExchange.Redis |
Galosys.Foundation.FreeRedis |
FreeRedis |
Galosys.Foundation.FusionCache |
混合缓存 |
消息队列
| 模块 |
说明 |
Galosys.Foundation.Kafka |
Apache Kafka |
Galosys.Foundation.RabbitMQ.Client |
RabbitMQ |
Galosys.Foundation.EasyNetQ |
EasyNetQ |
Galosys.Foundation.MQTTnet |
MQTT |
Galosys.Foundation.Amqp |
AMQP |
Galosys.Foundation.Pulsar |
Apache Pulsar |
Galosys.Foundation.NewLife.RocketMQ |
RocketMQ (NewLife) |
Galosys.Foundation.RocketMQ.Abstractions |
RocketMQ 抽象层 |
Galosys.Foundation.RocketMQ.Client |
RocketMQ 客户端 |
Galosys.Foundation.DotNetCore.CAP |
CAP 事件总线 |
Galosys.Foundation.DisruptorNet |
Disruptor |
任务调度
| 模块 |
说明 |
Galosys.Foundation.Quartz |
Quartz.NET |
Galosys.Foundation.AspNetCor.Quartz |
Quartz 集成 |
Galosys.Foundation.FreeScheduler |
FreeScheduler |
Galosys.Foundation.XxlJob |
XXL-Job |
Galosys.Foundation.WorkflowCore |
工作流引擎 |
AOP 拦截
| 模块 |
说明 |
Galosys.Foundation.AspectCore |
AspectCore |
Galosys.Foundation.Castle |
Castle.Core |
Galosys.Foundation.DoraInterception |
Dora |
Galosys.Foundation.Rougamo |
Rougamo |
AI 与机器学习
| 模块 |
说明 |
Galosys.Foundation.SemanticKernel |
Semantic Kernel |
Galosys.Foundation.SemanticKernel.Connectors.Qdrant |
SK + Qdrant |
Galosys.Foundation.ModelContextProtocol |
MCP 协议 |
Galosys.Foundation.Agents.AI |
AI 代理 |
Galosys.Foundation.PaddleOCRSharp |
OCR |
Galosys.Foundation.OpenCvSharp |
OpenCV 图像处理 |
Galosys.Foundation.JiebaNet |
中文分词 |
Galosys.Foundation.SdcbWordCloud |
词云生成 |
Galosys.Foundation.WhisperNet |
语音识别 |
Galosys.Foundation.Qdrant.Client |
Qdrant 向量数据库 |
Galosys.Foundation.Accord |
Accord.NET |
日志与链路追踪
| 模块 |
说明 |
Galosys.Foundation.Serilog |
结构化日志 |
Galosys.Foundation.NLog |
NLog |
Galosys.Foundation.Exceptionless |
Exceptionless |
Galosys.Foundation.SkyAPM |
SkyWalking APM |
Galosys.Foundation.MiniProfiler |
性能分析 |
Galosys.Foundation.OpenTelemetry |
OpenTelemetry |
通用工具
| 模块 |
说明 |
Galosys.Foundation.FluentValidation |
数据验证 |
Galosys.Foundation.HttpClient |
HTTP 客户端 |
Galosys.Foundation.MediatR |
中介者 |
Galosys.Foundation.Mapster |
对象映射 |
Galosys.Foundation.EmitMapper |
Emit 映射 |
Galosys.Foundation.NewtonsoftJson |
JSON.NET |
Galosys.Foundation.MemoryPack |
二进制序列化 |
Galosys.Foundation.SmartFormat |
模板引擎 |
Galosys.Foundation.EvalExpression |
表达式求值 |
Galosys.Foundation.ToolGoodWords |
敏感词过滤 |
Galosys.Foundation.Stateless |
状态机 |
Galosys.Foundation.RulesEngine |
规则引擎 |
Galosys.Foundation.AngleSharp |
HTML 解析 |
Galosys.Foundation.CodeAnalysis.CSharp |
Roslyn |
测试
| 模块 |
说明 |
Galosys.Foundation.Testing |
测试基础设施 |
Galosys.Foundation.Xunit2 |
xUnit 扩展 |
Galosys.Foundation.Moq |
Mock 框架 |
Galosys.Foundation.AutoFixture |
测试数据生成 |
Galosys.Foundation.BenchmarkDotNet |
基准测试 |
Galosys.Foundation.NBomber |
负载测试 |
Galosys.Foundation.IntegrationTest |
集成测试 |
独立业务模块
| 模块 |
说明 |
Galosys.Foundation.Payment |
支付抽象 |
Galosys.Foundation.AlipayEasySDK |
支付宝 SDK |
Galosys.Foundation.AspNetCor.Alipay |
支付宝 ASP.NET 集成 |
Galosys.Foundation.Notification |
通知抽象 |
Galosys.Foundation.MailKit |
邮件 |
Galosys.Foundation.BusinessNumber |
业务编号生成 |
Galosys.Foundation.DataPermission |
数据权限 |
Galosys.Foundation.FileStorage |
文件存储抽象 |
Galosys.Foundation.LocalFileSystem |
本地文件存储 |
Galosys.Foundation.Minio |
MinIO 对象存储 |
Galosys.Foundation.Qiniu |
七牛云存储 |
Office 与图像处理
| 模块 |
说明 |
Galosys.Foundation.Npoi |
NPOI Excel |
Galosys.Foundation.MiniExcel |
MiniExcel |
Galosys.Foundation.ImageSharp |
图像处理 |
Galosys.Foundation.SkiaSharp |
2D 图形 |
Galosys.Foundation.MetadataExtractor |
图像元数据 |
ID 生成
| 模块 |
说明 |
Galosys.Foundation.Nanoid |
NanoID |
Galosys.Foundation.Ulid |
ULID |
Galosys.Foundation.Sqids |
Sqids |
Galosys.Foundation.Yitter.IdGenerator |
雪花 ID |
桌面与 WPF
| 模块 |
说明 |
Galosys.Foundation.Wpf |
WPF 扩展 |
Galosys.Foundation.Wpf.Controls |
WPF 控件 |
Galosys.Foundation.Wpf.Pro |
WPF 专业扩展 |
Galosys.Foundation.PrismWpf |
Prism WPF |
Galosys.Foundation.MaterialDesignInXamlToolkit |
Material Design |
Galosys.Foundation.HandyControl |
HandyControl |
Galosys.Foundation.AvalonDock |
停靠面板 |
云基础设施
| 模块 |
说明 |
Galosys.Foundation.Aliyun |
阿里云 SDK |
Galosys.Foundation.AspNetCor.Aliyun |
阿里云 ASP.NET 集成 |
Galosys.Foundation.KubernetesClient |
Kubernetes |
社交集成
| 模块 |
说明 |
Galosys.Foundation.Wechat |
微信 SDK |
Galosys.Foundation.DingTalk |
钉钉 SDK |
Galosys.Foundation.Senparc |
Senparc 微信 |
Galosys.Foundation.WxPusher |
微信推送 |
服务发现与配置
| 模块 |
说明 |
Galosys.Foundation.Consul |
Consul |
Galosys.Foundation.NacosConfig |
Nacos 配置中心 |
Galosys.Foundation.NacosNaming |
Nacos 服务注册 |
Galosys.Foundation.ZooKeeperNetEx |
ZooKeeper |
Galosys.Foundation.ApolloConfig |
Apollo 配置 |
分布式系统
| 模块 |
说明 |
Galosys.Foundation.Orleans |
Orleans 框架 |
Galosys.Foundation.Orleans.Server |
Orleans 服务端 |
Galosys.Foundation.Orleans.Client |
Orleans 客户端 |
Galosys.Foundation.Dtmcli |
DTM 分布式事务 |
网络与 IoT
| 模块 |
说明 |
Galosys.Foundation.DotNetty |
DotNetty |
Galosys.Foundation.IoTClient |
IoT 协议客户端 |
Galosys.Foundation.TerminalGui |
终端 UI |
Galosys.Foundation.Win32 |
Win32 API |
项目结构
Galosys.Foundation/
├── framework/
│ ├── src/ # 150+ 库模块
│ └── test/ # 单元测试与集成测试
├── samples/ # 示例应用
│ ├── Dev.ConsoleApp/
│ └── Dev.API/
├── docs/ # 文档
└── scripts/ # 构建与工具脚本
相关链接
许可证
Apache License 2.0 -- 详见 LICENSE