Browse Source

feat(docs): 添加Saas模块文档

pull/1049/head
feijie 1 year ago
parent
commit
498a18a4e0
  1. 45
      aspnet-core/modules/saas/LINGYUN.Abp.MultiTenancy.Saas/README.EN.md
  2. 45
      aspnet-core/modules/saas/LINGYUN.Abp.MultiTenancy.Saas/README.md
  3. 29
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application.Contracts/README.EN.md
  4. 29
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application.Contracts/README.md
  5. 37
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application/README.EN.md
  6. 37
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application/README.md
  7. 29
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/README.EN.md
  8. 29
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/README.md
  9. 27
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/README.EN.md
  10. 27
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/README.md
  11. 38
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.EntityFrameworkCore/README.EN.md
  12. 38
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.EntityFrameworkCore/README.md
  13. 54
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.HttpApi.Client/README.EN.md
  14. 54
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.HttpApi.Client/README.md
  15. 30
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.HttpApi/README.EN.md
  16. 30
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.HttpApi/README.md
  17. 35
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Jobs/README.EN.md
  18. 35
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Jobs/README.md

45
aspnet-core/modules/saas/LINGYUN.Abp.MultiTenancy.Saas/README.EN.md

@ -0,0 +1,45 @@
# LINGYUN.Abp.MultiTenancy.Saas
Multi-tenant SaaS management module, providing tenant management, version management and other features.
## Features
* Tenant Management: Create, edit, delete tenants, manage tenant connection strings
* Edition Management: Create, edit, delete editions, manage edition features
* Tenant Expiration Management: Support tenant expiration time setting, expiration warning, expired resource recycling
* Tenant Feature Management: Support assigning feature permissions to tenants
## Configuration
### Module Configuration
```json
{
"AbpSaas": {
"Tenants": {
"RecycleStrategy": "1", // Resource recycling strategy: 0-Reserve, 1-Recycle
"ExpirationReminderDays": "15", // Expiration warning days, range 1-30 days
"ExpiredRecoveryTime": "15" // Expired recovery time, range 1-30 days
}
}
}
```
### Permission Configuration
* AbpSaas.Editions
* AbpSaas.Editions.Create: Create edition
* AbpSaas.Editions.Update: Update edition
* AbpSaas.Editions.Delete: Delete edition
* AbpSaas.Editions.ManageFeatures: Manage edition features
* AbpSaas.Tenants
* AbpSaas.Tenants.Create: Create tenant
* AbpSaas.Tenants.Update: Update tenant
* AbpSaas.Tenants.Delete: Delete tenant
* AbpSaas.Tenants.ManageFeatures: Manage tenant features
* AbpSaas.Tenants.ManageConnectionStrings: Manage tenant connection strings
## More
[简体中文](README.md)

45
aspnet-core/modules/saas/LINGYUN.Abp.MultiTenancy.Saas/README.md

@ -0,0 +1,45 @@
# LINGYUN.Abp.MultiTenancy.Saas
多租户SaaS管理模块,提供租户管理、版本管理等功能。
## 功能特性
* 租户管理:创建、编辑、删除租户,管理租户连接字符串
* 版本管理:创建、编辑、删除版本,管理版本功能
* 租户过期管理:支持租户过期时间设置、过期预警、过期资源回收
* 租户功能管理:支持为租户分配功能权限
## 配置使用
### 模块配置
```json
{
"AbpSaas": {
"Tenants": {
"RecycleStrategy": "1", // 资源回收策略:0-保留,1-回收
"ExpirationReminderDays": "15", // 过期预警天数,范围1-30天
"ExpiredRecoveryTime": "15" // 过期回收时长,范围1-30天
}
}
}
```
### 权限配置
* AbpSaas.Editions
* AbpSaas.Editions.Create:创建版本
* AbpSaas.Editions.Update:更新版本
* AbpSaas.Editions.Delete:删除版本
* AbpSaas.Editions.ManageFeatures:管理版本功能
* AbpSaas.Tenants
* AbpSaas.Tenants.Create:创建租户
* AbpSaas.Tenants.Update:更新租户
* AbpSaas.Tenants.Delete:删除租户
* AbpSaas.Tenants.ManageFeatures:管理租户功能
* AbpSaas.Tenants.ManageConnectionStrings:管理租户连接字符串
## 更多
[English](README.EN.md)

29
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application.Contracts/README.EN.md

@ -0,0 +1,29 @@
# LINGYUN.Abp.Saas.Application.Contracts
SaaS application service contract module, defining application service interfaces, DTO objects and permission definitions for tenant and edition management.
## Features
* Tenant Management Interface (ITenantAppService)
* Defines all service interfaces for tenant management
* Contains tenant-related DTO object definitions
* Tenant connection string management interface
* Edition Management Interface (IEditionAppService)
* Defines all service interfaces for edition management
* Contains edition-related DTO object definitions
* Permission Definition (AbpSaasPermissions)
* Edition management permissions
* Tenant management permissions
* Feature management permissions
* Connection string management permissions
* DTO Objects
* EditionCreateDto/EditionUpdateDto
* TenantCreateDto/TenantUpdateDto
* TenantConnectionStringCreateDto/TenantConnectionStringUpdateDto
## More
[简体中文](README.md)

29
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application.Contracts/README.md

@ -0,0 +1,29 @@
# LINGYUN.Abp.Saas.Application.Contracts
SaaS应用服务契约模块,定义了租户和版本管理的应用服务接口、DTO对象和权限定义。
## 功能特性
* 租户管理接口(ITenantAppService)
* 定义了租户管理的所有服务接口
* 包含租户相关的DTO对象定义
* 租户连接字符串管理接口
* 版本管理接口(IEditionAppService)
* 定义了版本管理的所有服务接口
* 包含版本相关的DTO对象定义
* 权限定义(AbpSaasPermissions)
* 版本管理权限
* 租户管理权限
* 功能管理权限
* 连接字符串管理权限
* DTO对象
* EditionCreateDto/EditionUpdateDto
* TenantCreateDto/TenantUpdateDto
* TenantConnectionStringCreateDto/TenantConnectionStringUpdateDto
## 更多
[English](README.EN.md)

37
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application/README.EN.md

@ -0,0 +1,37 @@
# LINGYUN.Abp.Saas.Application
SaaS application service layer module, implementing application service interfaces for tenant and edition management.
## Features
* Tenant Management Service (TenantAppService)
* Create tenant
* Update tenant
* Delete tenant
* Get tenant list
* Get tenant details
* Manage tenant connection strings
* Manage tenant features
* Edition Management Service (EditionAppService)
* Create edition
* Update edition
* Delete edition
* Get edition list
* Get edition details
* Manage edition features
## Permission Validation
All application service methods have added corresponding permission validation to ensure that only users with corresponding permissions can access.
## Object Mapping
The following object mappings are implemented using AutoMapper:
* Edition <-> EditionDto
* Tenant <-> TenantDto
* TenantConnectionString <-> TenantConnectionStringDto
## More
[简体中文](README.md)

37
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application/README.md

@ -0,0 +1,37 @@
# LINGYUN.Abp.Saas.Application
SaaS应用服务层模块,实现了租户和版本管理的应用服务接口。
## 功能特性
* 租户管理服务(TenantAppService)
* 创建租户
* 更新租户
* 删除租户
* 获取租户列表
* 获取租户详情
* 管理租户连接字符串
* 管理租户功能
* 版本管理服务(EditionAppService)
* 创建版本
* 更新版本
* 删除版本
* 获取版本列表
* 获取版本详情
* 管理版本功能
## 权限验证
所有应用服务方法都已添加相应的权限验证,确保只有具有对应权限的用户才能访问。
## 对象映射
使用AutoMapper实现了以下对象映射:
* Edition <-> EditionDto
* Tenant <-> TenantDto
* TenantConnectionString <-> TenantConnectionStringDto
## 更多
[English](README.EN.md)

29
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/README.EN.md

@ -0,0 +1,29 @@
# LINGYUN.Abp.Saas.Domain.Shared
SaaS domain shared layer module, defining shared content such as constants, enums, and events for tenants and editions.
## Features
* Constants Definition
* EditionConsts: Edition-related constants
* TenantConsts: Tenant-related constants
* TenantConnectionStringConsts: Tenant connection string related constants
* Enum Definition
* RecycleStrategy: Resource recycling strategy
* Reserve: Keep
* Recycle: Recycle
* Event Definition
* EditionEto: Edition event transfer object
* TenantEto: Tenant event transfer object
* Localization Resources
* Multi-language support (en/zh-Hans)
* Error messages
* Permission descriptions
* Feature descriptions
## More
[简体中文](README.md)

29
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/README.md

@ -0,0 +1,29 @@
# LINGYUN.Abp.Saas.Domain.Shared
SaaS领域共享层模块,定义了租户和版本的常量、枚举、事件等共享内容。
## 功能特性
* 常量定义
* EditionConsts:版本相关常量
* TenantConsts:租户相关常量
* TenantConnectionStringConsts:租户连接字符串相关常量
* 枚举定义
* RecycleStrategy:资源回收策略
* Reserve:保留
* Recycle:回收
* 事件定义
* EditionEto:版本事件传输对象
* TenantEto:租户事件传输对象
* 本地化资源
* 多语言支持(en/zh-Hans)
* 错误消息
* 权限描述
* 功能描述
## 更多
[English](README.EN.md)

27
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/README.EN.md

@ -0,0 +1,27 @@
# LINGYUN.Abp.Saas.Domain
SaaS domain layer module, defining core domain models, repository interfaces and domain services for tenants and editions.
## Core Features
* Tenant Entity: Contains tenant basic information, status, expiration time, etc.
* Edition Entity: Contains edition basic information
* TenantConnectionString: Manages tenant database connections
* TenantManager: Handles tenant-related business logic
* EditionManager: Handles edition-related business logic
* EditionDataSeeder: Provides default edition data initialization
## Domain Events
* Tenant creation, update, deletion events
* Edition creation, update, deletion events
* Tenant connection string change events
## Cache Management
* Tenant Cache: Cache tenant information to improve query performance
* Edition Cache: Cache edition information to improve query performance
## More
[简体中文](README.md)

27
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/README.md

@ -0,0 +1,27 @@
# LINGYUN.Abp.Saas.Domain
SaaS领域层模块,定义了租户和版本的核心领域模型、仓储接口和领域服务。
## 核心功能
* 租户实体(Tenant):包含租户基本信息、状态、过期时间等
* 版本实体(Edition):包含版本基本信息
* 租户连接字符串(TenantConnectionString):管理租户数据库连接
* 租户管理器(TenantManager):处理租户相关的业务逻辑
* 版本管理器(EditionManager):处理版本相关的业务逻辑
* 数据种子(EditionDataSeeder):提供默认版本数据初始化
## 领域事件
* 租户创建、更新、删除事件
* 版本创建、更新、删除事件
* 租户连接字符串变更事件
## 缓存管理
* 租户缓存:缓存租户信息,提高查询性能
* 版本缓存:缓存版本信息,提高查询性能
## 更多
[English](README.EN.md)

38
aspnet-core/modules/saas/LINGYUN.Abp.Saas.EntityFrameworkCore/README.EN.md

@ -0,0 +1,38 @@
# LINGYUN.Abp.Saas.EntityFrameworkCore
SaaS EntityFrameworkCore module, implementing the data access layer for tenants and editions.
## Features
* Entity Mapping Configuration
* Tenant entity mapping
* Edition entity mapping
* Tenant connection string entity mapping
* Repository Implementation
* EfCoreTenantRepository: Tenant repository implementation
* EfCoreEditionRepository: Edition repository implementation
* Database Tables
* AbpEditions: Edition table
* AbpTenants: Tenant table
* AbpTenantConnectionStrings: Tenant connection string table
## Configuration
You can modify the database table prefix and Schema through configuration:
```json
{
"AbpSaas": {
"EntityFrameworkCore": {
"TablePrefix": "Abp", // Database table prefix
"Schema": null // Database Schema
}
}
}
```
## More
[简体中文](README.md)

38
aspnet-core/modules/saas/LINGYUN.Abp.Saas.EntityFrameworkCore/README.md

@ -0,0 +1,38 @@
# LINGYUN.Abp.Saas.EntityFrameworkCore
SaaS EntityFrameworkCore模块,实现了租户和版本的数据访问层。
## 功能特性
* 实体映射配置
* 租户实体映射
* 版本实体映射
* 租户连接字符串实体映射
* 仓储实现
* EfCoreTenantRepository:租户仓储实现
* EfCoreEditionRepository:版本仓储实现
* 数据库表
* AbpEditions:版本表
* AbpTenants:租户表
* AbpTenantConnectionStrings:租户连接字符串表
## 配置说明
可以通过配置修改数据库表前缀和Schema:
```json
{
"AbpSaas": {
"EntityFrameworkCore": {
"TablePrefix": "Abp", // 数据库表前缀
"Schema": null // 数据库Schema
}
}
}
```
## 更多
[English](README.EN.md)

54
aspnet-core/modules/saas/LINGYUN.Abp.Saas.HttpApi.Client/README.EN.md

@ -0,0 +1,54 @@
# LINGYUN.Abp.Saas.HttpApi.Client
SaaS HTTP API client module, providing HTTP client proxy implementation for tenant and edition management.
## Features
* HTTP Client Proxy
* HTTP client implementation of ITenantAppService
* HTTP client implementation of IEditionAppService
## Usage
1. Install Module
```csharp
[DependsOn(typeof(AbpSaasHttpApiClientModule))]
public class YourModule : AbpModule
{
}
```
2. Configure Remote Service
```json
{
"RemoteServices": {
"Default": {
"BaseUrl": "http://localhost:44388/"
}
}
}
```
3. Inject and Use Services
```csharp
public class YourService
{
private readonly ITenantAppService _tenantAppService;
private readonly IEditionAppService _editionAppService;
public YourService(
ITenantAppService tenantAppService,
IEditionAppService editionAppService)
{
_tenantAppService = tenantAppService;
_editionAppService = editionAppService;
}
}
```
## More
[简体中文](README.md)

54
aspnet-core/modules/saas/LINGYUN.Abp.Saas.HttpApi.Client/README.md

@ -0,0 +1,54 @@
# LINGYUN.Abp.Saas.HttpApi.Client
SaaS HTTP API客户端模块,提供了租户和版本管理的HTTP客户端代理实现。
## 功能特性
* HTTP客户端代理
* ITenantAppService的HTTP客户端实现
* IEditionAppService的HTTP客户端实现
## 使用方式
1. 安装模块
```csharp
[DependsOn(typeof(AbpSaasHttpApiClientModule))]
public class YourModule : AbpModule
{
}
```
2. 配置远程服务
```json
{
"RemoteServices": {
"Default": {
"BaseUrl": "http://localhost:44388/"
}
}
}
```
3. 注入并使用服务
```csharp
public class YourService
{
private readonly ITenantAppService _tenantAppService;
private readonly IEditionAppService _editionAppService;
public YourService(
ITenantAppService tenantAppService,
IEditionAppService editionAppService)
{
_tenantAppService = tenantAppService;
_editionAppService = editionAppService;
}
}
```
## 更多
[English](README.EN.md)

30
aspnet-core/modules/saas/LINGYUN.Abp.Saas.HttpApi/README.EN.md

@ -0,0 +1,30 @@
# LINGYUN.Abp.Saas.HttpApi
SaaS HTTP API module, implementing HTTP API interfaces for tenant and edition management.
## Features
* Tenant Management Controller (TenantController)
* GET /api/saas/tenants: Get tenant list
* GET /api/saas/tenants/{id}: Get tenant details
* POST /api/saas/tenants: Create tenant
* PUT /api/saas/tenants/{id}: Update tenant
* DELETE /api/saas/tenants/{id}: Delete tenant
* GET /api/saas/tenants/{id}/connection-strings: Get tenant connection strings
* PUT /api/saas/tenants/{id}/connection-strings: Update tenant connection strings
* DELETE /api/saas/tenants/{id}/connection-strings/{name}: Delete tenant connection string
* Edition Management Controller (EditionController)
* GET /api/saas/editions: Get edition list
* GET /api/saas/editions/{id}: Get edition details
* POST /api/saas/editions: Create edition
* PUT /api/saas/editions/{id}: Update edition
* DELETE /api/saas/editions/{id}: Delete edition
## API Documentation
All API interfaces support Swagger documentation. After starting the application, you can view detailed API documentation through Swagger UI.
## More
[简体中文](README.md)

30
aspnet-core/modules/saas/LINGYUN.Abp.Saas.HttpApi/README.md

@ -0,0 +1,30 @@
# LINGYUN.Abp.Saas.HttpApi
SaaS HTTP API模块,实现了租户和版本管理的HTTP API接口。
## 功能特性
* 租户管理Controller(TenantController)
* GET /api/saas/tenants:获取租户列表
* GET /api/saas/tenants/{id}:获取租户详情
* POST /api/saas/tenants:创建租户
* PUT /api/saas/tenants/{id}:更新租户
* DELETE /api/saas/tenants/{id}:删除租户
* GET /api/saas/tenants/{id}/connection-strings:获取租户连接字符串
* PUT /api/saas/tenants/{id}/connection-strings:更新租户连接字符串
* DELETE /api/saas/tenants/{id}/connection-strings/{name}:删除租户连接字符串
* 版本管理Controller(EditionController)
* GET /api/saas/editions:获取版本列表
* GET /api/saas/editions/{id}:获取版本详情
* POST /api/saas/editions:创建版本
* PUT /api/saas/editions/{id}:更新版本
* DELETE /api/saas/editions/{id}:删除版本
## API文档
所有API接口都支持Swagger文档,启动应用后可以通过Swagger UI查看详细的API文档。
## 更多
[English](README.EN.md)

35
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Jobs/README.EN.md

@ -0,0 +1,35 @@
# LINGYUN.Abp.Saas.Jobs
SaaS background job module, providing background job implementation for tenant resource monitoring and management.
## Features
* Tenant Usage Monitoring Job (TenantUsageMonitoringJob)
* Monitor tenant resource usage
* Handle tenant expiration warning
* Handle expired tenant resource recycling
## Configuration
### Job Configuration
```json
{
"Hangfire": {
"TenantUsageMonitoring": {
"CronExpression": "0 0 * * *", // Run once per day
"Queue": "default", // Job queue
"Enabled": true // Whether to enable
}
}
}
```
### Job Parameters
* Saas:AdminEmail: Administrator email address for receiving warning notifications
* Saas:TenantId: Tenant identifier
## More
[简体中文](README.md)

35
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Jobs/README.md

@ -0,0 +1,35 @@
# LINGYUN.Abp.Saas.Jobs
SaaS后台作业模块,提供租户资源监控和管理的后台作业实现。
## 功能特性
* 租户使用监控作业(TenantUsageMonitoringJob)
* 监控租户资源使用情况
* 处理租户过期预警
* 处理过期租户资源回收
## 配置说明
### 作业配置
```json
{
"Hangfire": {
"TenantUsageMonitoring": {
"CronExpression": "0 0 * * *", // 每天执行一次
"Queue": "default", // 作业队列
"Enabled": true // 是否启用
}
}
}
```
### 作业参数
* Saas:AdminEmail:管理员邮件地址,用于接收预警通知
* Saas:TenantId:租户标识
## 更多
[English](README.EN.md)
Loading…
Cancel
Save