跳到主要内容

BuildingBlocks

src/BuildingBlocks/ 包含所有模块共享的基础设施构建块。

项目列表

项目说明文档
IGeekFan.FreeKit.InfrastructureController 基类、DDD 约定、认证授权、缓存、异常通知详情
IGeekFan.FreeKit.Web一站式启动配置、Swagger、认证、模块注册详情
IGeekFan.FreeKit.Auth.ClientOAuth2 SSO 客户端,对接 OpenIddict详情
IGeekFan.FreeKit.CLI代码脚手架工具,基于 Scriban 模板详情

依赖关系

核心能力

Infrastructure 提供

能力说明
Controller 基类FreeKitControllerKitApiControllerBase
应用服务ApplicationServiceCrudAppService
领域服务DomainServiceIDomainEventDispatcher
认证授权CookieJwtBearerHandler、BasicAuthentication、Permission 系统
缓存CacheService、AopCacheable、Redis/Memory 缓存
异常体系BusinessException、EntityNotFoundException、Guard
加密工具AES、DES、SM4、MD5、Base64
中间件EncryptionMiddleware、BasicAuth
过滤器异常通知、数据脱敏、reCAPTCHA
DTOApiResponse、PageQuery、EnumDto

Web 提供

能力说明
一站式启动UseFreeKit() 自动配置所有服务
认证配置JWT + OpenIddict 双模式,7 个 OAuth 提供商
Swagger6 个文档、JWT Bearer、枚举过滤器、RapiDoc UI
缓存系统Redis + Memory 双策略,AOP 缓存
模块注册IModuleStartup 自动扫描
分布式事件CAP + MediatR
IP 地理定位IP2Region
FreeSql全局过滤器、AOP 审计

Auth.Client 提供

能力说明
Token 验证OpenIddict Token 验证
SSO 对接多应用单点登录
Scope 控制基于 Scope 的权限控制

CLI 提供

能力说明
代码脚手架基于实体生成全套代码
Scriban 模板可自定义模板
多 ProfileCmsKit、Platform 两种风格

使用方式

各业务模块通过项目引用使用这些构建块:

<ProjectReference Include="..\..\BuildingBlocks\IGeekFan.FreeKit.Infrastructure\IGeekFan.FreeKit.Infrastructure.csproj" />
<ProjectReference Include="..\..\BuildingBlocks\IGeekFan.FreeKit.Web\IGeekFan.FreeKit.Web.csproj" />

相关文档