后端知识库
本页概览 Ape‑Volo‑Admin 的后端模块与目录结构,帮助你快速理解各模块职责与协作关系。
项目结构
shell
├── Ape.Volo.Api — API 宿主(提供 HTTP/REST 接口)
│ ├── wwwroot — 静态资源 / 前端构建产物
│ ├── ActionExtension — 控制器扩展、过滤器与特性封装
│ ├── Controllers — 各领域的 API 控制器
│ ├── Logs — 运行时日志目录
│ └── Program.cs — 应用启动与中间件配置
├── Ape.Volo.Common — 公共基础类库(通用工具与基座)
│ ├── Attributes — 自定义特性
│ ├── ClassLibrary — 通用基础类与辅助组件
│ ├── DI — 依赖注入配置与注册
│ ├── Enums — 公共枚举定义
│ ├── Exception — 异常类型与处理扩展
│ ├── Extensions — 常用扩展方法
│ ├── Global — 全局常量与上下文
│ ├── Helper — 常用工具类
│ ├── IdGenerator — 雪花 ID 生成器
│ ├── Model — 通用模型与 DTO
│ ├── MultiLanguage — 多语言支持
│ └── WebApp — HTTP 上下文封装(如 HttpUser)
├── Ape.Volo.Core — 核心能力与横切模块(AOP、缓存、映射等)
│ ├── Aop — 面向切面编程支持
│ ├── Caches — 缓存抽象与实现
│ ├── ConfigOptions — 强类型配置绑定
│ ├── Internal — 框架内部服务与契约
│ ├── Mapping — 对象映射配置
│ ├── SeedData — 系统初始化种子数据
│ ├── Serilog — 日志集成配置
│ ├── Utils — 通用工具方法
│ └── App — 全局服务汇总与入口
├── Ape.Volo.EventBus — 事件总线(领域/集成事件发布订阅)
│ ├── Abstractions — 事件总线接口
│ ├── EventBusRabbitMQ — RabbitMQ消息队列事件
│ ├── Events — 事件模型记录
│ ├── IEventBusSubscriptionsManager — 事件总线订阅管理
│ ├── InMemoryEventBusSubscriptionsManager — 内存中的事件总线订阅管理
│ ├── SubscriptionInfo — 事件订阅信息
├── Ape.Volo.Infrastructure — 与宿主及外部系统的集成层
│ ├── ActionFilter — MVC 操作过滤与审计
│ ├── Authentication — 身份认证与权限控制
│ ├── Extensions — 服务注册与扩展方法
│ ├── Messaging — 消息队列抽象与实现
│ └── Middleware — 中间件与管道组件
├── Ape.Volo.TaskService — 定时任务与调度服务
│ ├── Service — 任务工厂与调度实现
│ └── JobBase — 任务基类与抽象定义
├── Ape.Volo.Repository — 仓储实现与数据访问
│ ├── SugarHandler — SqlSugar仓储封装接口与实现
│ └── UnitOfWork — 工作单元接口与实现
├── Ape.Volo.IBusiness — 业务接口契约
├── Ape.Volo.Business — 业务实现层
├── Ape.Volo.Entity — 数据库实体与 ORM 映射
├── Ape.Volo.ViewModel — ViewModel / DTO 定义
└── Ape.Volo.SharedModel — 跨服务共享模型与契约模块总览
| 模块 | 说明 | 描述 |
|---|---|---|
| Ape.Volo.Api | API 层 | 对外提供 HTTP API 的宿主应用 |
| Ape.Volo.Common | 公共类库 | 跨模块复用的基础设施与通用代码 |
| Ape.Volo.Core | 核心类库 | 框架核心能力与横切支撑模块 |
| Ape.Volo.EventBus | 事件总线类库 | 领域/集成事件的发布与订阅机制 |
| Ape.Volo.Infrastructure | 基础设施类库 | 与宿主环境、中间件、外部系统的集成支持 |
| Ape.Volo.TaskService | 定时任务服务 | 任务调度与执行服务 |
| Ape.Volo.IBusiness | 业务接口类库 | 业务层接口定义(契约) |
| Ape.Volo.Business | 业务实现类库 | 业务层实现(服务逻辑) |
| Ape.Volo.Entity | 数据库实体模型类库 | ORM 实体与映射定义 |
| Ape.Volo.Repository | 仓储类库 | 仓储模式实现与数据访问 |
| Ape.Volo.ViewModel | 视图模型类库 | ViewModel/DTO 定义 |
| Ape.Volo.SharedModel | 共享模型类库 | 跨服务共享的模型与契约 |
Ape.Volo.Api
基于 ASP.NET Core 的宿主应用,承载 HTTP API 与中间件管道。
| 文件夹 | 说明 | 描述 |
|---|---|---|
| wwwroot | 静态资源文件夹 | 前端构建产物与静态文件托管目录 |
| ActionExtension | 控制器扩展 | 控制器扩展方法、过滤器与特性封装 |
| Controllers | API 接口控制器 | 定义各领域的 RESTful 接口 |
| Logs | 系统日志文件夹 | 运行时日志输出目录 |
| Program.cs | 程序入口类 | 应用启动配置与中间件管道 |
Ape.Volo.Common
沉淀通用能力与基座代码,供各业务模块复用。
| 文件夹 | 说明 | 描述 |
|---|---|---|
| Attributes | 特性类 | 自定义 Attribute 元数据定义与使用 |
| ClassLibrary | 通用类 | 通用基础类与辅助组件 |
| DI | 依赖注入相关 | 服务注册与生命周期配置 |
| Enums | 枚举 | 项目公共枚举定义 |
| Exception | 异常扩展 | 自定义异常与异常处理扩展 |
| Extensions | 类型扩展 | 常用扩展方法集合 |
| Global | 全局定义 | 全局常量、选项与上下文 |
| Helper | 帮助类 | 常用工具方法与封装 |
| IdGenerator | 雪花 ID 生成器 | 分布式唯一 ID 生成实现 |
| Model | 模型 | 通用模型与 DTO |
| MultiLanguage | 多语言 | i18n 多语言支持能力 |
| WebApp | HTTP 上下文 | HTTP 上下文封装(HttpUser 等) |
Ape.Volo.Core
提供横切能力(AOP、缓存、映射、日志等)与核心服务。
| 文件夹 | 说明 | 描述 |
|---|---|---|
| Aop | 面向切面编程 | 拦截/切面能力(AOP) |
| Caches | 缓存相关 | 缓存抽象与实现 |
| ConfigOptions | 配置选项 | 强类型配置绑定与选项模式 |
| Internal | 内部服务 | 框架内部服务与契约 |
| Mapping | 对象映射 | 对象映射配置(如 Mapster/AutoMapper) |
| SeedData | 种子数据 | 初始化系统所需的种子数据 |
| Serilog | 日志组件 | Serilog 日志集成与配置 |
| Utils | 工具类 | 通用工具与辅助方法 |
| App | 全局服务集成 | 应用级服务聚合与统一入口 |
Ape.Volo.Infrastructure
面向宿主环境与外部系统的集成层,提供认证、过滤器、中间件与消息等能力。
| 文件夹 | 说明 | 描述 |
|---|---|---|
| ActionFilter | 操作过滤器 | MVC 过滤器、审计与拦截 |
| Authentication | 认证授权 | 身份验证与权限控制 |
| Extensions | 服务扩展类 | 服务注册与扩展方法 |
| Messaging | 消息队列 | MQ 抽象与实现 |
| Middleware | 服务中间件 | 中间件管道与横切能力 |
Ape.Volo.TaskService
任务调度与执行框架,承载计划任务与运行时作业。
| 文件夹 | 说明 | 描述 |
|---|---|---|
| Service | 任务工厂实现 | 具体任务工厂/调度实现 |
| JobBase | 任务基类 | 任务基类/抽象定义 |
Ape.Volo.EventBus
提供领域/集成事件的发布与订阅能力,支持多种实现(如 RabbitMQ)。
| 文件夹 | 说明 | 描述 |
|---|---|---|
| Abstractions | 接口与抽象 | 事件总线接口与契约 |
| EventBusRabbitMQ | RabbitMQ 实现 | 基于 RabbitMQ 的事件总线实现 |
| Events | 事件模型 | 事件消息的模型定义与记录 |
| IEventBusSubscriptionsManager | 订阅管理接口 | 事件订阅管理的接口定义 |
| InMemoryEventBusSubscriptionsManager | 内存订阅管理实现 | 基于内存的事件订阅管理实现 |
| SubscriptionInfo | 订阅信息 | 事件订阅信息模型 |
Ape.Volo.Repository
仓储实现与数据访问层,提供统一的数据持久化抽象与实现。
| 文件夹 | 说明 | 描述 |
|---|---|---|
| SugarHandler | SqlSugar 仓储封装 | SqlSugar 仓储封装接口与实现 |
| UnitOfWork | 工作单元 | 工作单元接口与实现 |

