feat(saas): implement marketplace and tenant onboarding

This commit is contained in:
2026-07-29 13:58:59 +08:00
parent 76606029e2
commit 6db200a2fc
145 changed files with 16862 additions and 94529 deletions

View File

@@ -12,14 +12,14 @@ namespace Tiku.Api.Contracts;
public sealed class TenantResolveQueryDto
{
/// <summary>
/// 要解析的访问域名,例如 student.example.com。本地开发也可以直接传 localhost
/// 访问域名
/// </summary>
[StringLength(253)]
[Description("要解析的访问域名,例如 student.example.com。本地开发也可以直接传 localhost。")]
public string? Host { get; set; }
/// <summary>
/// 租户编码;本地开发或无独立域名时使用,例如 master
/// 租户编码。
/// </summary>
[StringLength(100)]
[Description("租户编码;本地开发或无独立域名时使用,例如 master。")]
@@ -34,6 +34,9 @@ public sealed class TenantResolveQueryDto
/// <param name="Features">面向前端公开的功能开关。</param>
/// <param name="AdminFeatures">面向管理端公开的功能开关。</param>
/// <param name="PublicConfig">可公开的租户配置,不包含密钥或内部配置。</param>
/// <summary>
/// 租户解析Response请求 DTO。
/// </summary>
public sealed record TenantResolveResponseDto(
PublicTenantDto Tenant,
PublicTenantBrandingDto Branding,
@@ -50,6 +53,9 @@ public sealed record TenantResolveResponseDto(
/// <param name="Status">租户状态。</param>
/// <param name="Mode">租户模式。</param>
/// <param name="Host">当前匹配到的访问域名。</param>
/// <summary>
/// 公开租户请求 DTO。
/// </summary>
public sealed record PublicTenantDto(
Guid Id,
string Slug,
@@ -70,6 +76,9 @@ public sealed record PublicTenantDto(
/// <param name="ServiceAccountName">公众号或服务号名称。</param>
/// <param name="Theme">公开主题配置。</param>
/// <param name="PublicAssets">公开资源配置。</param>
/// <summary>
/// 公开租户品牌请求 DTO。
/// </summary>
public sealed record PublicTenantBrandingDto(
string? BrandName,
string? ShortName,