You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8.5 KiB
8.5 KiB
平台管理模块
**本文档引用的文件** - [AbpUINavigationVueVbenAdmin5NavigationDefinitionProvider.cs](file://aspnet-core\modules\platform\LINGYUN.Abp.UI.Navigation.VueVbenAdmin5\LINGYUN\Abp\UI\Navigation\VueVbenAdmin5\AbpUINavigationVueVbenAdmin5NavigationDefinitionProvider.cs) - [VueVbenAdminNavigationSeedContributor.cs](file://aspnet-core\modules\platform\LINGYUN.Abp.UI.Navigation.VueVbenAdmin\LINGYUN\Abp\UI\Navigation\VueVbenAdmin\VueVbenAdminNavigationSeedContributor.cs) - [ThemeSettingController.cs](file://aspnet-core\modules\platform\LINGYUN.Platform.Theme.VueVbenAdmin\LINGYUN\Platform\Theme\VueVbenAdmin\ThemeSettingController.cs) - [ThemeSettingAppService.cs](file://aspnet-core\modules\platform\LINGYUN.Platform.Theme.VueVbenAdmin\LINGYUN\Platform\Theme\VueVbenAdmin\ThemeSettingAppService.cs) - [VueVbenAdminSettingNames.cs](file://aspnet-core\modules\platform\LINGYUN.Platform.Settings.VueVbenAdmin\LINGYUN\Platform\Settings\VueVbenAdmin\VueVbenAdminSettingNames.cs) - [TenantConfigurationCache.cs](file://aspnet-core\services\LY.MicroService.PlatformManagement.HttpApi.Host\MultiTenancy\TenantConfigurationCache.cs) - [PlatformDomainModule.cs](file://aspnet-core\modules\platform\LINGYUN.Platform.Domain\LINGYUN\Platform\PlatformDomainModule.cs) - [PlatformApplicationModule.cs](file://aspnet-core\modules\platform\LINGYUN.Platform.Application\LINGYUN\Platform\PlatformApplicationModule.cs) - [PlatformHttpApiModule.cs](file://aspnet-core\modules\platform\LINGYUN.Platform.HttpApi\LINGYUN\Platform\PlatformHttpApiModule.cs)目录
简介
平台管理模块是整个系统的基础支撑平台,负责提供统一的UI组件、导航结构和主题配置。该模块与Vue Vben Admin前端框架深度集成,为其他微服务提供一致的用户体验。模块实现了系统设置、导航菜单管理、品牌化配置等核心功能,并支持多租户环境下的配置隔离。
项目结构
平台管理模块采用分层架构设计,包含领域层、应用层和HTTP API层。模块通过AbpUINavigationVueVbenAdmin5提供与Vue Vben Admin前端框架的集成,通过PlatformThemeVueVbenAdmin提供主题和样式自定义功能。
graph TB
subgraph "平台管理模块"
Domain[领域层]
Application[应用层]
HttpApi[HTTP API层]
end
Domain --> Application
Application --> HttpApi
图示来源
- PlatformDomainModule.cs
- PlatformApplicationModule.cs
- PlatformHttpApiModule.cs
本节来源
- PlatformDomainModule.cs
- PlatformApplicationModule.cs
核心组件
平台管理模块的核心组件包括导航管理、主题配置和多租户支持。导航管理组件负责定义和加载动态菜单,主题配置组件提供API接口用于自定义前端样式,多租户支持组件确保不同租户的配置隔离。
本节来源
- AbpUINavigationVueVbenAdmin5NavigationDefinitionProvider.cs
- ThemeSettingAppService.cs
- TenantConfigurationCache.cs
架构概述
平台管理模块采用典型的分层架构,包括领域层、应用层和HTTP API层。领域层负责业务逻辑和数据持久化,应用层提供应用服务接口,HTTP API层暴露RESTful API供前端调用。
graph TB
Frontend[Vue Vben Admin前端]
ApiGateway[API网关]
PlatformHttpApi[平台HTTP API层]
PlatformApplication[平台应用层]
PlatformDomain[平台领域层]
Database[(数据库)]
Frontend --> ApiGateway
ApiGateway --> PlatformHttpApi
PlatformHttpApi --> PlatformApplication
PlatformApplication --> PlatformDomain
PlatformDomain --> Database
图示来源
- PlatformHttpApiModule.cs
- PlatformApplicationModule.cs
- PlatformDomainModule.cs
详细组件分析
导航管理组件分析
导航管理组件负责为Vue Vben Admin前端框架提供动态菜单。通过AbpUINavigationVueVbenAdmin5NavigationDefinitionProvider定义导航结构,VueVbenAdminNavigationSeedContributor负责将导航数据种子化到数据库。
sequenceDiagram
participant Frontend as "Vue Vben Admin前端"
participant Controller as "NavigationController"
participant Service as "NavigationAppService"
participant Repository as "MenuRepository"
participant DB as "数据库"
Frontend->>Controller : GET /api/platform/navigation
Controller->>Service : GetAsync()
Service->>Repository : GetListAsync()
Repository->>DB : 查询菜单数据
DB-->>Repository : 返回菜单数据
Repository-->>Service : 菜单实体
Service-->>Controller : 导航数据
Controller-->>Frontend : 返回导航结构
图示来源
- AbpUINavigationVueVbenAdmin5NavigationDefinitionProvider.cs
- VueVbenAdminNavigationSeedContributor.cs
本节来源
- AbpUINavigationVueVbenAdmin5NavigationDefinitionProvider.cs
- VueVbenAdminNavigationSeedContributor.cs
主题配置组件分析
主题配置组件提供API接口用于自定义前端样式和布局。通过ThemeSettingAppService管理主题设置,支持暗色模式、布局配置、菜单样式等自定义选项。
classDiagram
class ThemeSettingDto {
+string DarkMode
+ProjectConfigDto ProjectConfig
+BeforeMiniStateDto BeforeMiniInfo
}
class ProjectConfigDto {
+int PermissionCacheType
+bool ShowSettingButton
+bool ShowDarkModeToggle
+string SettingButtonPosition
+int PermissionMode
+int SessionTimeoutProcessing
+bool GrayMode
+bool ColorWeak
+string ThemeColor
+bool FullContent
+string ContentMode
+bool ShowLogo
+bool ShowFooter
+bool OpenKeepAlive
}
class ThemeSettingAppService {
-ISettingManager SettingManager
+GetAsync() ThemeSettingDto
+ChangeAsync(input ThemeSettingDto)
}
class ThemeSettingController {
-IThemeSettingAppService ThemeSettingAppService
+GetAsync() ThemeSettingDto
+ChangeAsync(input ThemeSettingDto)
}
ThemeSettingAppService --> ThemeSettingDto
ThemeSettingController --> ThemeSettingAppService
ThemeSettingDto --> ProjectConfigDto
图示来源
- ThemeSettingDto.cs
- ThemeSettingAppService.cs
- ThemeSettingController.cs
本节来源
- [ThemeSettingDto.cs](file://