Appearance
项目介绍
项目结构
配置文件
dbconfig.json 数据库配置
{
//数据库注册键
"key": "appdb",
//程序集名称,自动获取实体表,为空则通过ConfigureFreeSql自定义配置
"assemblyNames": [ "MyCompanyName.MyProjectName.Api" ],
//监听所有操作
"monitorCommand": false,
//监听Curd操作
"curd": true,
//监听同步结构脚本
"syncStructureSql": false,
//监听同步数据Curd操作
"syncDataCurd": false,
//建库
"createDb": false,
//SqlServer,PostgreSQL,Oracle,OdbcOracle,OdbcSqlServer,OdbcMySql,OdbcPostgreSQL,Odbc,OdbcDameng,MsAccess
//建库连接字符串
//MySql "Server=localhost; Port=3306; Database=mysql; Uid=root; Pwd=pwd; Charset=utf8mb4;"
//SqlServer "Data Source=.;User Id=sa;Password=pwd;Initial Catalog=master;TrustServerCertificate=true;Pooling=true;Min Pool Size=1"
//PostgreSQL "Host=localhost;Port=5432;Username=postgres;Password=; Database=postgres;Pooling=true;Minimum Pool Size=1"
//Oracle "user id=SYS;password=pwd; data source=//127.0.0.1:1521/XE;Pooling=true;Min Pool Size=1"
"createDbConnectionString": "",
//建库脚本,复杂建库脚本可放到createdbsql.txt中
//MySql "CREATE DATABASE `appdb` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'"
//SqlServer "CREATE DATABASE [appdb]"
//PostgreSQL "CREATE DATABASE \"appdb\" WITH ENCODING = 'UTF8'"
"createDbSql": "",
//同步结构
"syncStructure": true,
//同步结构批次实体数
"syncStructureEntityBatchSize": 1,
//同步数据
"syncData": true,
//同步更新数据
"sysUpdateData": true,
//新增强制更新EntityUpdate数据
"forceUpdate": false,
//同步数据地址
//"SyncDataPath": "InitData/Admin",
//同步所有表["ad_dict_type", "ad_dict", "ad_user", "ad_user_staff", "ad_org", "ad_role", "ad_api", "ad_view", "ad_permission", "ad_permission_api", "ad_user_role", "ad_user_org", "ad_role_permission", "ad_tenant", "ad_tenant_permission"]
//同步指定表["ad_api", "ad_view", "ad_permission", "ad_permission_api"]
//同步数据包含表,指定表同步,不填同步所有表
"syncDataIncludeTables": [],
//同步排除表["ad_user"]
//同步数据排除表,指定表不同步
"syncDataExcludeTables": [],
//同步数据操作用户
"syncDataUser": {
"id": 161223411986501,
"userName": "admin",
"tenantId": 161223412138053
},
//项目初始化不开启生成数据,发布生产环境前,如果开发环境有配置数据需要更新数据包,可以开启生成数据包,使用完记得关闭
//开启生成数据前先关闭syncStructure syncData createDb
//生成数据
"generateData": false,
//数据库配置 https://github.com/dotnetcore/FreeSql/wiki/入门
//连接字符串语法 https://www.connectionstrings.com
//数据库类型 MySql = 0, SqlServer = 1, PostgreSQL = 2, Oracle = 3, Sqlite = 4, OdbcOracle = 5, OdbcSqlServer = 6, OdbcMySql = 7, OdbcPostgreSQL = 8, Odbc = 9, OdbcDameng = 10, MsAccess = 11, Dameng = 12, OdbcKingbaseES = 13, ShenTong = 14, KingbaseES = 15, Firebird = 16
"type": "Sqlite",
//连接字符串
//MySql "Server=localhost; Port=3306; Database=appdb; Uid=root; Pwd=pwd; Charset=utf8mb4;"
//SqlServer "Data Source=.;Integrated Security=True;Initial Catalog=appdb;Pooling=true;Min Pool Size=1"
//PostgreSQL "Host=localhost;Port=5432;Username=postgres;Password=; Database=appdb;Pooling=true;Minimum Pool Size=1"
//Sqlite "Data Source=|DataDirectory|\\appdb.db; Pooling=true;Min Pool Size=1"
//"Oracle" "user id=SYS;password=pwd; data source=//127.0.0.1:1521/XE;Pooling=true;Min Pool Size=1",
"connectionString": "Data Source=|DataDirectory|\\appdb.db; Pooling=true;Min Pool Size=1",
//指定程序集
//FreeSql.MySql.MySqlProvider`1,FreeSql.Provider.MySqlConnector
"providerType": "",
//读写分离从库列表
"slaveList": [
//{
// //权重
// "Weight": 1,
// //连接字符串
// "ConnectionString": "Data Source=|DataDirectory|\\appdb.db; Pooling=true;Min Pool Size=1"
//}
],
//空闲时间(分),设置idleTime=0则不自动回收, 设置1天不使用则自动回收
"idleTime": 1440,
//多数据库
//Core/Consts定义DbKeys枚举
//使用仓储访问 public ModuleRepository(UnitOfWorkManagerCloud muowm) : base(DbKeys.AppDb, muowm)
//使用FreeSqlCloud访问 freeSqlCloud.Use(DbKeys.AppDb);
"dbs": [
{
//权限库
"key": "admindb",
//程序集名称,自动获取实体表
"assemblyNames": [ "ZhonTai.Admin" ],
//监听所有操作
"monitorCommand": false,
//监听Curd操作
"curd": true,
//建库
"createDb": false,
//SqlServer,PostgreSQL,Oracle,OdbcOracle,OdbcSqlServer,OdbcMySql,OdbcPostgreSQL,Odbc,OdbcDameng,MsAccess
//建库连接字符串
//MySql "Server=localhost; Port=3306; Database=mysql; Uid=root; Pwd=pwd; Charset=utf8mb4;"
//SqlServer "Data Source=.;User Id=sa;Password=pwd;Initial Catalog=master;TrustServerCertificate=true;Pooling=true;Min Pool Size=1"
//PostgreSQL "Host=localhost;Port=5432;Username=postgres;Password=; Database=postgres;Pooling=true;Minimum Pool Size=1"
//Oracle "user id=SYS;password=pwd; data source=127.0.0.1:1521/XE;Pooling=true;Min Pool Size=1"
"createDbConnectionString": "",
//建库脚本,复杂建库脚本可放到createdbsql.txt中
//MySql "CREATE DATABASE `admindb` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'"
//SqlServer "CREATE DATABASE [admindb]"
//PostgreSQL "CREATE DATABASE \"admindb\" WITH ENCODING = 'UTF8'"
"createDbSql": "",
//同步结构
"syncStructure": true,
//同步数据
"syncData": true,
//项目初始化不开启生成数据,发布生产环境前,如果开发环境有配置数据需要更新数据包,可以开启生成数据包,使用完记得关闭
//开启生成数据前先关闭syncStructure syncData createDb
//生成数据
"generateData": false,
//数据库配置 https:github.com/dotnetcore/FreeSql/wiki/入门
//连接字符串语法 https:www.connectionstrings.com
//数据库类型 MySql = 0, SqlServer = 1, PostgreSQL = 2, Oracle = 3, Sqlite = 4, OdbcOracle = 5, OdbcSqlServer = 6, OdbcMySql = 7, OdbcPostgreSQL = 8, Odbc = 9, OdbcDameng = 10, MsAccess = 11, Dameng = 12, OdbcKingbaseES = 13, ShenTong = 14, KingbaseES = 15, Firebird = 16
"type": "Sqlite",
//连接字符串
//MySql "Server=localhost; Port=3306; Database=admindb; Uid=root; Pwd=pwd; Charset=utf8mb4;"
//SqlServer "Data Source=.;Integrated Security=True;Initial Catalog=admindb;Pooling=true;Min Pool Size=1"
//PostgreSQL "Host=localhost;Port=5432;Username=postgres;Password=; Database=admindb;Pooling=true;Minimum Pool Size=1"
//Sqlite "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1"
//"Oracle" "user id=SYS;password=pwd; data source=127.0.0.1:1521/XE;Pooling=true;Min Pool Size=1",
"connectionString": "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1",
//指定程序集
//FreeSql.MySql.MySqlProvider`1,FreeSql.Provider.MySqlConnector
"providerType": "",
//读写分离从库列表
"slaveList": [
//{
// 权重
// "Weight": 1,
// 连接字符串
// "ConnectionString": "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1"
//}
]
}
]
}appsettings.json 应用程序配置
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.AspNetCore": "Warning",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.Extensions.Diagnostics.HealthChecks": "Warning"
}
},
"AllowedHosts": "*",
// 事件总线和分布式事务
"CAP": {
"RabbitMq": {
"HostName": "",
"Port": 5672,
"UserName": "",
"Password": ""
}
},
/*
//发送邮件验证码
await AppInfo.GetRequiredService<ICapPublisher>().PublishAsync(SubscribeNames.EmailSingleSend,
new EamilSingleSendEvent
{
ToEmail = new EamilSingleSendEvent.Models.EmailModel
{
Address = ""
},
Subject = "中台Admin账号邮件验证码",
Body = code
});
*/
//邮件配置
"Email": {
//主机
"Host": "smtp.qq.com",
//端口 465、587、25
"Port": 465,
//是否使用SSL
"UseSsl": true,
//邮箱账号
"UserName": "",
//邮箱密码
"Password": "",
//发件人
"FromEmail": {
//名称
"Name": "",
//地址
"Address": ""
},
//收件人
"ToEmail": {
//名称
"Name": "",
//地址
"Address": ""
}
},
//任务调度配置
"TaskScheduler": {
//进程启动信息
"ProcessStartInfo": {
"FileName": "C:/grpcurl_1.8.7/grpcurl",
//工作目录
"WorkingDirectory": ""
},
//告警邮件
"AlerEmail": {
"Enable": true,
"Adress": ""
}
},
// 滑动验证码
"SlideCaptcha": {
// 缓存过期时长
"ExpirySeconds": 300,
// 缓存前缀
"StoreageKeyPrefix": "app:captcha:",
// 容错值(校验时用,缺口位置与实际滑动位置匹配容错范围)
"Tolerant": 0.02,
// 背景图配置
"Backgrounds": [
{
"Type": "file",
"Data": "wwwroot/captcha/jigsaw/backgrounds/1.jpg"
},
{
"Type": "file",
"Data": "wwwroot/captcha/jigsaw/backgrounds/2.jpg"
},
{
"Type": "file",
"Data": "wwwroot/captcha/jigsaw/backgrounds/3.jpg"
},
{
"Type": "file",
"Data": "wwwroot/captcha/jigsaw/backgrounds/4.jpg"
},
{
"Type": "file",
"Data": "wwwroot/captcha/jigsaw/backgrounds/5.jpg"
}
],
// Templates不配置,则使用默认模板
"Templates": [
//{
// "Slider": {
// "Type": "file",
// "Data": "wwwroot/captcha/jigsaw/templates/1/transparent.png"
// },
// "Hole": {
// "Type": "file",
// "Data": "wwwroot/captcha/jigsaw/templates/1/dark.png"
// }
//}
]
}
}