Admin Core

ZhonTai Admin Core 配置项说明

中台 Admin 的核心配置文件为 appconfig.json,对应 AppConfig 类。此外还有数据库、JWT、邮件、OSS、缓存、限流等独立配置。

命名空间:ZhonTai.Admin.Core.Configs

中台 Admin 的核心配置文件为 appconfig.json,对应 AppConfig 类。此外还有数据库、JWT、邮件、OSS、缓存、限流等独立配置。


目录

  1. AppConfig 主配置
  2. DbConfig 数据库配置
  3. JwtConfig JWT 配置
  4. EmailConfig 邮件配置
  5. OSSConfig OSS 文件上传配置
  6. RpcConfig 远程过程调用配置
  7. ImConfig 即时通讯配置
  8. TaskSchedulerConfig 任务调度配置
  9. RateLimitConfig 限流配置

1. AppConfig 主配置

配置文件: Configs/appconfig.json

配置项总览

配置项 类型 说明
AppType string 应用程序类型:Controllers / ControllersWithViews / MVC
Urls string[] 监听地址列表,如["http://*:18010"]
CorUrls string[] 跨域地址列表
AssemblyNames string[] 要扫描的程序集名称列表
EnumListAssemblyNames string[] 枚举列表程序集名称
Tenant bool 是否启用多租户
DistributeKey string 分布式事务唯一标识,为空则不生成分布式事务表
DefaultPassword string 默认密码
Lang object 语言配置
Validate object 验证配置
Aop object AOP 配置
Swagger object Swagger 配置
ApiUI object 新版接口文档展示配置
MiniProfiler bool 启用 MiniProfiler 性能分析器
Log object 日志配置
RateLimit bool 启用限流
VarifyCode object 验证码配置
DynamicApi object 动态 API 配置
PasswordHasher bool 实现标准标识密码哈希
Kestrel object Kestrel 服务器配置
HealthChecks object 健康检查配置
PreflightMaxAge int 跨域预检等待时间(秒),默认1800
TaskSchedulerUI object 任务调度管理界面
IdGenerator object ID 生成器配置
IP2Region object IP 地址定位配置

Lang 语言配置

配置项 类型 说明
EnableJson bool 启用语言配置
DefaultLang string 默认语言,如zh-CN
Langs string[] 支持的语言列表
RequestCultureProviders string[] 语言请求解析列表:QueryStringCookieAcceptLanguageHeader

Validate 验证配置

配置项 类型 说明
Login bool 启用登录验证
Permission bool 启用权限验证
DataPermission bool 启用数据权限
ApiDataPermission bool 启用接口级数据权限

Aop AOP 配置

配置项 类型 说明
Transaction bool 启用声明式事务

Swagger 配置

配置项 类型 说明
Enable bool 启用 Swagger
EnableEnumSchemaFilter bool 启用枚举架构过滤器
EnableOrderTagsDocumentFilter bool 启用接口排序文档过滤器
EnableJsonStringEnumConverter bool 启用枚举属性名
EnableSchemaIdNamespace bool 启用 SchemaId 命名空间
AssemblyNameList string[] 用于启用 SchemaId 命名空间的程序集列表
RoutePrefix string 路由前缀,如配置微服务文档地址:doc/module/swagger
Url string Swagger 地址
Projects object[] Swagger 项目分组列表

Swagger Projects 子项:

配置项 类型 说明
Name string 项目名称
Code string 项目代码
Version string 版本号
Description string 描述

ApiUI 接口文档展示配置

配置项 类型 说明
Enable bool 启用 ApiUI
RoutePrefix string 路由前缀
Footer object 页脚配置

Log 日志配置

配置项 类型 说明
Operation bool 启用操作日志
Method string 记录日志方式:Grpc / Cap

VarifyCode 验证码配置

配置项 类型 说明
Enable bool 启用验证码
Fonts string[] 字体列表

DynamicApi 动态 API 配置

配置项 类型 说明
FormatResult bool 启用结果格式化

Kestrel 服务器配置

配置项 类型 说明
KeepAliveTimeout int HTTP 连接保活最长时间(秒)
RequestHeadersTimeout int 发送请求头最长时间(秒)
MaxRequestBodySize long 最大请求大小(bytes),null 不限制

HealthChecks 健康检查配置

配置项 类型 说明
Enable bool 启用健康检查
Path string 健康检查访问路径

TaskSchedulerUI 任务调度管理界面

配置项 类型 说明
Enable bool 启用任务调度管理界面
Path string 访问路径

IdGenerator ID 生成器配置

配置项 类型 说明
DataCenterId int 数据中心 ID
WorkerId int 机器码,必须全局唯一
WorkerIdBitLength int 机器码位长,默认6
SeqBitLength int 序列数位长,默认6
CachePrefix string 缓存前缀

IP2Region IP 地址定位配置

配置项 类型 说明
Enable bool 启用 IP 地址定位
DbPath string 绝对数据库路径,为空则默认使用网站根目录ip2region.xdb

配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
{
"AppConfig": {
"appType": "Controllers",
"urls": [ "http://*:18010" ],
"corUrls": [],
"assemblyNames": [ "ZhonTai.Admin.Core", "ZhonTai.Module.Admin" ],
"EnumListAssemblyNames": [],
"tenant": true,
"distributeKey": "",
"validate": {
"login": true,
"permission": true,
"dataPermission": true,
"apiDataPermission": true
},
"swagger": {
"enable": true,
"enableEnumSchemaFilter": true,
"enableOrderTagsDocumentFilter": true,
"enableJsonStringEnumConverter": false,
"enableSchemaIdNamespace": false,
"assemblyNameList": [],
"routePrefix": "doc/sys/swagger",
"url": "http://localhost:18010",
"projects": [
{
"name": "中台Admin",
"code": "admin",
"version": "v10.0.1",
"description": "权限管理"
}
]
},
"apiUI": {
"enable": true,
"routePrefix": "doc/sys",
"footer": {
"enable": false,
"content": ""
}
},
"miniProfiler": false,
"aop": {
"transaction": true
},
"log": {
"operation": true,
"method": "Grpc"
},
"rateLimit": false,
"varifyCode": {
"enable": true,
"fonts": [ "Times New Roman", "Verdana", "Arial", "Gungsuh", "Impact" ]
},
"defaultPassword": "123asd",
"dynamicApi": {
"formatResult": true
},
"passwordHasher": false,
"Kestrel": {
"KeepAliveTimeout": 600,
"RequestHeadersTimeout": 600,
"maxRequestBodySize": 104857600
},
"healthChecks": {
"enable": true,
"path": "/health"
},
"PreflightMaxAge": 1800,
"TaskSchedulerUI": {
"enable": true,
"path": "/task"
},
"IdGenerator": {
"DataCenterId": 0,
"WorkerId": 1,
"WorkerIdBitLength": 6,
"SeqBitLength": 6,
"CachePrefix": "zhontai:workerid"
},
"IP2Region": {
"Enable": true,
"DbPath": ""
},
"Lang": {
"EnableJson": true,
"DefaultLang": "zh-CN",
"Langs": [ "zh-CN", "en" ],
"RequestCultureProviders": []
}
}
}

2. DbConfig 数据库配置

配置文件: Configs/dbconfig.json

配置项总览

配置项 类型 说明
Key string 数据库注册键(如AdminDbLogDb
Type string 数据库类型:MySql / SqlServer / PostgreSQL / Sqlite / Oracle / TiDB
ConnectionString string 连接字符串
AssemblyNames string[] 程序集名称,自动获取实体表,为空则通过ConfigureFreeSql 自定义配置
IncludeEntityDbs string[] 指定实体数据库列表,不填同步所有数据库表实体
ExcludeEntityDbs string[] 排除实体数据库列表,指定不同步数据库表实体
MonitorCommand bool 监听所有操作
Curd bool 监听 Curd 操作
SyncStructureSql bool 监听同步结构脚本
SyncDataCurd bool 监听同步数据 Curd 操作
CreateDb bool 建库
CreateDbConnectionString string 建库连接字符串
CreateDbSql string 建库脚本
SyncStructure bool 自动同步表结构
SyncStructureEntityBatchSize int 同步结构批次实体数
SyncDataBatchSize int 同步数据分批处理大小,默认500,过大可能会导致内存溢出
SyncData bool 自动同步种子数据
SyncUpdateData bool 同步更新数据,生产环境谨慎开启
SyncDataPath string 同步数据地址
SyncDataIncludeTables string[] 同步数据包含表,指定表同步,不填同步所有表
SyncDataExcludeTables string[] 同步数据排除表,指定表不同步
SyncDataUser object 同步数据操作用户
GenerateData bool 生成种子数据包,发布生产环境前使用完记得关闭
ProviderType string 指定程序集
SlaveList object[] 读写分离从库列表
IdleTime int 空闲时间(分),0 不自动回收
ForceUpdate bool 新增时强制更新EntityUpdate 数据
Dbs object[] 多库配置(子库列表)

配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
"DbConfig": {
"key": "sysdb",
"assemblyNames": [ "ZhonTai.Admin" ],
"type": "MySql",
"connectionString": "Server=localhost;Port=3306;Database=sysdb;Uid=root;Pwd=pwd;Charset=utf8mb4;Min pool size=1;Allow User Variables=True",
"createDb": true,
"createDbConnectionString": "Server=localhost;Port=3306;Database=mysql;Uid=root;Pwd=pwd;Charset=utf8mb4;Min pool size=1;Allow User Variables=True",
"createDbSql": "CREATE DATABASE `sysdb` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'",
"syncStructure": true,
"syncStructureEntityBatchSize": 1,
"syncDataBatchSize": 500,
"syncData": true,
"syncUpdateData": false,
"SyncDataPath": "InitData/App",
"syncDataIncludeTables": [],
"syncDataExcludeTables": [],
"syncDataUser": {
"id": 161223411986501,
"userName": "admin",
"name": "管理员",
"tenantId": 161223412138053
},
"generateData": false,
"idleTime": 1440,
"forceUpdate": false,
"dbs": [
{
"key": "admindb",
"assemblyNames": [ "ZhonTai.Admin" ],
"type": "MySql",
"connectionString": "Server=localhost;Port=3306;Database=admindb;Uid=root;Pwd=pwd;Charset=utf8mb4;Min pool size=1;Allow User Variables=True"
},
{
"key": "logdb",
"assemblyNames": [ "ZhonTai.Admin" ],
"includeEntityDbs": [ "Log" ],
"type": "MySql",
"connectionString": "Server=localhost;Port=3306;Database=logdb;Uid=root;Pwd=pwd;Charset=utf8mb4;Min pool size=1;Allow User Variables=True"
}
]
}
}

3. JwtConfig JWT 配置

配置文件: Configs/jwtconfig.json

配置项

配置项 类型 说明
Issuer string 发行者
Audience string 订阅者
SecurityKey string 密钥,自定义
Expires int Access Token 有效期(分钟),120 = 2 小时
RefreshExpires int Refresh Token 有效期(分钟),1440 = 1 天

配置示例

1
2
3
4
5
6
7
8
9
{
"JwtConfig": {
"issuer": "admin.core",
"audience": "admin.core",
"securityKey": "73A74C69E2CF4522A7C69375CA0354D8",
"expires": 120,
"refreshExpires": 1440
}
}

4. EmailConfig 邮件配置

配置文件: Configs/appsettings.json 中的 Email 节点

配置项

配置项 类型 说明
Host string SMTP 主机,如smtp.qq.com
Port int 端口号,如46558725
UseSsl bool 是否使用 SSL
UserName string 邮箱账号
Password string 邮箱密码
FromEmail object 发件人信息
ToEmail object 收件人信息

FromEmail / ToEmail 子项:

配置项 类型 说明
Name string 发件人/收件人名称
Address string 发件人/收件人地址

配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"Email": {
"Host": "smtp.qq.com",
"Port": 465,
"UseSsl": true,
"UserName": "",
"Password": "",
"FromEmail": {
"Name": "",
"Address": ""
},
"ToEmail": {
"Name": "",
"Address": ""
}
}
}

5. OSSConfig OSS 文件上传配置

配置文件: Configs/ossconfig.json

配置项总览

配置项 类型 说明
LocalUploadConfig object 本地上传配置
Provider string 默认文件存储供应商
OSSConfigs object[] OSS 配置列表

LocalUploadConfig 本地上传配置

配置项 类型 说明
Directory string

#中台 #中台/数据库配置 #中台/多数据库配置 #中台/分布式微服务