Files
Api/DouyinApi.Api/appsettings.json

383 lines
12 KiB
JSON
Raw Normal View History

2025-11-04 21:09:16 +08:00
{
"urls": "http://*:9291", //web服务端口如果用IIS部署把这个去掉
"Serilog": {
"MinimumLevel": {
"Default": "Information", //关闭日志1修改Serilog的最低日志级别比如Warning
"Override": {
"Microsoft": "Information",
"Microsoft.AspNetCore": "Warning",
"System": "Warning",
"System.Net.Http.HttpClient": "Warning",
"Hangfire": "Information",
"Magicodes": "Warning",
"DotNetCore.CAP": "Information",
"Savorboard.CAP": "Information",
"Quartz": "Information"
}
}
},
"AllowedHosts": "*",
"Redis": {
"Enable": false,
"ConnectionString": "127.0.0.1:6379,allowAdmin=true",
"InstanceName": "" //前缀
},
"RabbitMQ": {
"Enabled": true,
"Connection": "101xxxx57",
"UserName": "xxxx",
"Password": "xxxxx",
"Port": "5672",
"RetryCount": 2
},
"Kafka": {
"Enabled": false,
"Servers": "localhost:9092",
"Topic": "blog",
"GroupId": "blog-consumer",
"NumPartitions": 3 //主题分区数量
},
"EventBus": {
"Enabled": false,
"SubscriptionClientName": "DouyinApi"
},
"AppSettings": {
"CachingAOP": {
"Enabled": true
},
"LogToDb": true,
"LogAOP": {
"Enabled": false,
"LogToFile": {
"Enabled": true
},
"LogToDB": {
"Enabled": true
}
},
"TranAOP": {
"Enabled": true
},
"UserAuditAOP": {
"Enabled": false
},
"SqlAOP": {
"Enabled": true, //关闭日志2修改Sql日志是否显示也可以精准配置是否生成到文件、数据库、控制台
"LogToFile": {
"Enabled": true
},
"LogToDB": {
"Enabled": true
},
"LogToConsole": {
"Enabled": true
}
},
"Date": "2018-08-28",
"SeedDBEnabled": true, //只生成表结构
"SeedDBDataEnabled": true, //生成表,并初始化数据
"Author": "DouyinApi",
"SvcName": "", // /svc/blog
"UseLoadTest": false
},
//优化DB配置、不会再区分单库多库
//MainDb标识当前项目的主库所对应的连接字符串的Enabled必须为true
//Log:标识日志库所对应的连接字符串的Enabled必须为true
//从库只需配置Slaves数组,要求数据库类型一致!比如都是SqlServer
//
//新增,故障转移方案
//如果主库挂了,会自动切换到备用连接(比如说主库+备用库)
//备用连接的ConnId配置为主库的ConnId+数字即可,比如主库的ConnId为Main,那么备用连接的ConnId为Mian1
//主库、备用库无需数据库类型一致!
//备用库不会有程序维护,需要手动维护
"MainDB": "WMBLOG_MYSQL", //当前项目的主库所对应的连接字符串的Enabled必须为true
"DBS": [
/*
DBType
MySql = 0,
SqlServer = 1,
Sqlite = 2,
Oracle = 3,
PostgreSQL = 4,
Dm = 5,//达梦
Kdbndp = 6,//人大金仓
*/
//{
// "ConnId": "Main",
// "DBType": 2,
// "Enabled": true,
// "Connection": "WMBlog.db", //sqlite只写数据库名就行
// "Slaves": [
// {
// "HitRate": 0,// 值越大,优先级越高 0不使用
// "Connection": "WMBlog2.db"
// }
// ]
//},
//{
// "ConnId": "Main2",
// "DBType": 2,
// "Enabled": false,
// "Connection": "WMBlog3.db", //sqlite只写数据库名就行
// "Slaves": [
// {
// "HitRate": 0,// 值越大,优先级越高 0不使用
// "Connection": "WMBlog4.db"
// }
// ]
//},
{
"ConnId": "Log", //日志库连接固定名称,不要改,其他的可以改
"DBType": 2,
"Enabled": true,
"HitRate": 50,
"Connection": "WMBlogLog.db" //sqlite只写数据库名就行
},
//{
// "ConnId": "WMBLOG_MSSQL_1",
// "DBType": 1,
// "Enabled": false,
// "Connection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=WMBLOG_MSSQL_1;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
// "ProviderName": "System.Data.SqlClient"
//},
//{
// "ConnId": "WMBLOG_MSSQL_2",
// "DBType": 1,
// "Enabled": false,
// "Connection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=WMBLOG_MSSQL_2;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
// "ProviderName": "System.Data.SqlClient"
//},
{
"ConnId": "WMBLOG_MYSQL",
"DBType": 0,
"Enabled": true,
"Connection": "Server=zhongjy001.synology.me;Port=3315;Database=douyinminiprogram;User=root;Password=123456asdfg;"
}
//{
// "ConnId": "WMBLOG_MYSQL_2",
// "DBType": 0,
// "Enabled": false,
// "Connection": "server=localhost;Database=blogcore001;Uid=root;Pwd=root;Port=3306;Allow User Variables=True;"
//},
//{
// "ConnId": "WMBLOG_ORACLE",
// "DBType": 3,
// "Enabled": false,
// "Connection": "Data Source=127.0.0.1/ops;User ID=OPS;Password=123456;Persist Security Info=True;Connection Timeout=60;"
//},
//{
// "ConnId": "WMBLOG_DM",
// "DBType": 5,
// "Enabled": false,
// "Connection": "Server=xxxxx:5236;User Id=xxxxx;PWD=xxxxx;SCHEMA=TESTDBA;"
//},
//{
// "ConnId": "WMBLOG_KDBNDP",
// "DBType": 6,
// "Enabled": false,
// "Connection": "Server=127.0.0.1;Port=54321;UID=SYSTEM;PWD=system;database=SQLSUGAR4XTEST1;"
//}
],
"Audience": {
"Secret": "sdfsdfsrty45634kkhllghtdgdfss345t678fs", //不要太短16位+
"SecretFile": "C:\\my-file\\douyinapi.audience.secret.txt", //安全。内容就是Secret
"Issuer": "DouyinApi", //这个值一定要在自己的项目里修改!!
"Audience": "wr" //这个值一定要在自己的项目里修改!!
},
"Mongo": {
"ConnectionString": "mongodb://nosql.data",
"Database": "BlogCoreDb"
},
"Startup": {
"Domain": "http://localhost:9291",
"Cors": {
"PolicyName": "CorsIpAccess", //策略名称
"EnableAllIPs": false, //当为true时开放所有IP均可访问。
// 支持多个域名端口,注意端口号后不要带/斜杆比如localhost:8000/,是错的
// 注意http://127.0.0.1:1818 和 http://localhost:1818 是不一样的
"IPs": "http://127.0.0.1:2364,http://localhost:2364,http://127.0.0.1:6688,http://localhost:6688"
},
"AppConfigAlert": {
"Enabled": true
},
"ApiName": "DouyinApi",
"IdentityServer4": {
"Enabled": false, // 这里默认是false表示使用jwt如果设置为true则表示系统使用Ids4模式
"AuthorizationUrl": "http://localhost:5004", // 认证中心域名
"ApiName": "douyinapi.api" // 资源服务器
},
"Authing": {
"Enabled": false,
"Issuer": "https://uldr24esx31h-demo.authing.cn/oidc",
"Audience": "63d51c4205c2849803be5178",
"JwksUri": "https://uldr24esx31h-demo.authing.cn/oidc/.well-known/jwks.json"
},
"RedisMq": {
"Enabled": false //redis 消息队列
},
"MiniProfiler": {
"Enabled": true //性能分析开启
},
"Nacos": {
"Enabled": false //Nacos注册中心
}
},
"Middleware": {
"RequestResponseLog": {
"Enabled": true,
"LogToFile": {
"Enabled": true
},
"LogToDB": {
"Enabled": true
}
},
"IPLog": {
"Enabled": true,
"LogToFile": {
"Enabled": true
},
"LogToDB": {
"Enabled": true
}
},
"RecordAccessLogs": {
"Enabled": true,
"LogToFile": {
"Enabled": true
},
"LogToDB": {
"Enabled": true
},
"IgnoreApis": "/api/permission/getnavigationbar,/api/monitor/getids4users,/api/monitor/getaccesslogs,/api/monitor/server,/api/monitor/getactiveusers,/api/monitor/server,"
},
"SignalR": {
"Enabled": true
},
"SignalRSendLog": {
2025-11-06 19:23:42 +08:00
"Enabled": false
2025-11-04 21:09:16 +08:00
},
"QuartzNetJob": {
2025-11-06 19:23:42 +08:00
"Enabled": false
2025-11-04 21:09:16 +08:00
},
"Consul": {
"Enabled": false
},
"IpRateLimit": {
2025-11-06 19:23:42 +08:00
"Enabled": false
2025-11-04 21:09:16 +08:00
},
"EncryptionResponse": {
"Enabled": true,
"AllApis": false,
"LimitApis": [
"/api/Login/GetJwtTokenSecret"
]
},
"EncryptionRequest": {
"Enabled": true,
"AllApis": false,
"LimitApis": [
"/api/Login/GetJwtTokenSecret"
]
}
},
"IpRateLimiting": {
"EnableEndpointRateLimiting": true, //False: globally executed, true: executed for each
"StackBlockedRequests": false, //False: Number of rejections should be recorded on another counter
"RealIpHeader": "X-Real-IP",
"ClientIdHeader": "X-ClientId",
"IpWhitelist": [], //白名单
"EndpointWhitelist": [ "get:/api/xxx", "*:/api/yyy" ],
"ClientWhitelist": [ "dev-client-1", "dev-client-2" ],
"QuotaExceededResponse": {
"Content": "{{\"status\":429,\"msg\":\"访问过于频繁,请稍后重试\",\"success\":false}}",
"ContentType": "application/json",
"StatusCode": 429
},
"HttpStatusCode": 429, //返回状态码
"GeneralRules": [ //api规则,结尾一定要带*
{
"Endpoint": "*:/api/blog*",
"Period": "1m",
"Limit": 20
},
{
"Endpoint": "*/api/*",
"Period": "1s",
"Limit": 3
},
{
"Endpoint": "*/api/*",
"Period": "1m",
"Limit": 30
},
{
"Endpoint": "*/api/*",
"Period": "12h",
"Limit": 500
}
]
},
"ConsulSetting": {
"ServiceName": "BlogCoreService",
"ServiceIP": "localhost",
"ServicePort": "9291",
"ServiceHealthCheck": "/healthcheck",
"ConsulAddress": "http://localhost:8500"
},
"PayInfo": { //建行聚合支付信息
"MERCHANTID": "", //商户号
"POSID": "", //柜台号
"BRANCHID": "", //分行号
"pubKey": "", //公钥
"USER_ID": "", //操作员号
"PASSWORD": "", //密码
"OutAddress": "http://127.0.0.1:12345" //外联地址
},
"nacos": {
"ServerAddresses": [ "http://localhost:8848" ], // nacos 连接地址
"DefaultTimeOut": 15000, // 默认超时时间
"Namespace": "public", // 命名空间
"ListenInterval": 10000, // 监听的频率
"ServiceName": "blog.Core.Api", // 服务名
"Port": "9291", // 服务端口号
"RegisterEnabled": true // 是否直接注册nacos
},
"LogFiedOutPutConfigs": {
"tcpAddressHost": "", // 输出elk的tcp连接地址
"tcpAddressPort": 0, // 输出elk的tcp端口号
"ConfigsInfo": [ // 配置的输出elk节点内容 常用语动态标识
{
"FiedName": "applicationName",
"FiedValue": "DouyinApi.Api"
}
]
},
"Seq": {
"Enabled": false,
"Address": "http://localhost:5341/",
"ApiKey": ""
2025-11-05 17:26:45 +08:00
},
"DeepSeek": {
"BaseUrl": "https://api.deepseek.com/v1",
2025-11-06 19:23:42 +08:00
"ApiKey": "sk-97a34dbac42b43b0a8cedc79082df0c6",
2025-11-05 17:26:45 +08:00
"Model": "deepseek-chat",
2025-11-06 19:23:42 +08:00
"TimeoutSeconds": 60,
2025-11-05 17:26:45 +08:00
"Temperature": 0.6,
2025-11-06 19:23:42 +08:00
"MaxTokens": 800,
"ResponseFormat": "json_object"
},
"ContentSecurity": {
"Enable": true,
"ClientKey": "tta82ade973724953d01",
"ClientSecret": "4ea9a6eff22158770818b8aa3a77e2b042d1016d",
"AppId": "tta82ade973724953d01",
"TokenUrl": "https://developer.toutiao.com/api/apps/v2/token",
"TextCheckUrl": "https://developer.toutiao.com/api/v2/tags/text/antidirt",
"TokenCacheSeconds": 5400,
"DefaultScene": "naming_input"
2025-11-04 21:09:16 +08:00
}
2025-11-05 17:26:45 +08:00
}