diff --git a/Lib/SimpleDapper.dll b/Lib/SimpleDapper.dll
new file mode 100644
index 00000000..d02f3c74
Binary files /dev/null and b/Lib/SimpleDapper.dll differ
diff --git a/Tiobon.Core.Api/Controllers/TestController.cs b/Tiobon.Core.Api/Controllers/TestController.cs
new file mode 100644
index 00000000..696f6894
--- /dev/null
+++ b/Tiobon.Core.Api/Controllers/TestController.cs
@@ -0,0 +1,26 @@
+using System.Data;
+using SimpleDapper;
+
+namespace Tiobon.Core.Api.Controllers;
+
+///
+/// Ghra_Grade
+///
+[Route("api/[controller]")]
+[ApiController, GlobalActionFilter]
+[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghra)]
+public class TestController : BaseController
+{
+ public TestController(IGhra_GradeServices service) : base(service)
+ {
+ }
+
+ [HttpGet]
+ public async Task Test()
+ {
+
+ string sql = "SELECT * FROM Ghra_Grade";
+ DataTable dt = await DbAccess.GetDataTableAsync(sql);
+ return Success();
+ }
+}
\ No newline at end of file
diff --git a/Tiobon.Core.Api/Program.cs b/Tiobon.Core.Api/Program.cs
index 5b70419c..aa09e857 100644
--- a/Tiobon.Core.Api/Program.cs
+++ b/Tiobon.Core.Api/Program.cs
@@ -9,6 +9,7 @@ using Microsoft.IdentityModel.Logging;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
using Serilog;
+using SimpleDapper.Extensions;
using Tiobon.Core;
using Tiobon.Core.Common.Core;
using Tiobon.Core.Extensions;
@@ -55,6 +56,7 @@ builder.Services.AddCacheSetup();
builder.Services.AddSqlsugarSetup();
builder.Services.AddDbSetup();
builder.Services.AddInitializationHostServiceSetup();
+builder.Services.AddSimpleDapperSetup();
builder.Host.AddSerilogSetup();
diff --git a/Tiobon.Core.Api/Tiobon.Core.Api.csproj b/Tiobon.Core.Api/Tiobon.Core.Api.csproj
index cfa633c2..41dd1685 100644
--- a/Tiobon.Core.Api/Tiobon.Core.Api.csproj
+++ b/Tiobon.Core.Api/Tiobon.Core.Api.csproj
@@ -108,6 +108,12 @@
+
+
+ ..\Lib\SimpleDapper.dll
+
+
+
diff --git a/Tiobon.Core.Api/Tiobon.Core.xml b/Tiobon.Core.Api/Tiobon.Core.xml
index 628d91ba..04ebdb87 100644
--- a/Tiobon.Core.Api/Tiobon.Core.xml
+++ b/Tiobon.Core.Api/Tiobon.Core.xml
@@ -1593,6 +1593,11 @@
+
+
+ Ghra_Grade
+
+
全局请求验证
diff --git a/Tiobon.Core.Tests/Common_Test/DbAccess_Should.cs b/Tiobon.Core.Tests/Common_Test/DbAccess_Should.cs
new file mode 100644
index 00000000..75d9404e
--- /dev/null
+++ b/Tiobon.Core.Tests/Common_Test/DbAccess_Should.cs
@@ -0,0 +1,27 @@
+using System.Data;
+using SimpleDapper;
+using Tiobon.Core.Model.Models;
+using Xunit;
+
+namespace Tiobon.Core.Tests.Common_Test
+{
+ public class DbAccess_Should
+ {
+
+ [Fact]
+ public async void Test()
+ {
+ AppSetting.Init();
+
+ string sql = "SELECT * FROM Ghra_Grade";
+ DataTable dt = await DbAccess.GetDataTableAsync(sql);
+
+ //var list = await DbAccess.QueryListAsync(sql);
+
+ //var entity = new Ghra_Grade();
+ //DbAccess.Add(entity);
+
+ }
+
+ }
+}
diff --git a/Tiobon.Core.Tests/Tiobon.Core.Tests.csproj b/Tiobon.Core.Tests/Tiobon.Core.Tests.csproj
index 0edc85a5..053d455e 100644
--- a/Tiobon.Core.Tests/Tiobon.Core.Tests.csproj
+++ b/Tiobon.Core.Tests/Tiobon.Core.Tests.csproj
@@ -18,10 +18,11 @@
-
-
-
-
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -31,6 +32,12 @@
+
+
+ ..\Lib\SimpleDapper.dll
+
+
+
Always
diff --git a/Tiobon.Core.Tests/appsettings.json b/Tiobon.Core.Tests/appsettings.json
index c233b1ea..58704b32 100644
--- a/Tiobon.Core.Tests/appsettings.json
+++ b/Tiobon.Core.Tests/appsettings.json
@@ -1,98 +1,99 @@
{
- "urls": "http://*:9291", //web服务端口,如果用IIS部署,把这个去掉
- "Serilog": {
- "MinimumLevel": {
- "Default": "Debug",
- "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",
- "InstanceName": "" //前缀
- },
- "RabbitMQ": {
- "Enabled": false,
- "Connection": "118.25.251.13",
- "UserName": "",
- "Password": "!",
- "RetryCount": 3
- },
- "Kafka": {
- "Enabled": false,
- "Servers": "localhost:9092",
- "Topic": "Tiobon",
- "GroupId": "Tiobon-consumer",
- "NumPartitions": 3 //主题分区数量
- },
- "EventBus": {
- "Enabled": false,
- "SubscriptionClientName": "Tiobon.Core"
- },
- "AppSettings": {
- "CachingAOP": {
- "Enabled": true
+ "urls": "http://*:9291", //web服务端口,如果用IIS部署,把这个去掉
+ "Serilog": {
+ "MinimumLevel": {
+ "Default": "Debug",
+ "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",
+ "InstanceName": "" //前缀
},
- "LogToDb": true,
- "LogAOP": {
- "Enabled": false,
- "LogToFile": {
- "Enabled": true
- },
- "LogToDB": {
- "Enabled": true
- }
+ "RabbitMQ": {
+ "Enabled": true,
+ "Connection": "101xxxx57",
+ "UserName": "xxxx",
+ "Password": "xxxxx",
+ "Port": "5672",
+ "RetryCount": 2
},
- "TranAOP": {
- "Enabled": true
+ "Kafka": {
+ "Enabled": false,
+ "Servers": "localhost:9092",
+ "Topic": "Tiobon",
+ "GroupId": "Tiobon-consumer",
+ "NumPartitions": 3 //主题分区数量
},
- "UserAuditAOP": {
- "Enabled": false
+ "EventBus": {
+ "Enabled": false,
+ "SubscriptionClientName": "Tiobon.Core"
},
- "SqlAOP": {
- "Enabled": true,
- "LogToFile": {
- "Enabled": true
- },
- "LogToDB": {
- "Enabled": true
- },
- "LogToConsole": {
- "Enabled": true
- }
+ "AppSettings": {
+ "CachingAOP": {
+ "Enabled": true
+ },
+ "LogToDb": true,
+ "LogAOP": {
+ "Enabled": false,
+ "LogToFile": {
+ "Enabled": true
+ },
+ "LogToDB": {
+ "Enabled": true
+ }
+ },
+ "TranAOP": {
+ "Enabled": true
+ },
+ "UserAuditAOP": {
+ "Enabled": false
+ },
+ "SqlAOP": {
+ "Enabled": true,
+ "LogToFile": {
+ "Enabled": true
+ },
+ "LogToDB": {
+ "Enabled": true
+ },
+ "LogToConsole": {
+ "Enabled": true
+ }
+ },
+ "Date": "2018-08-28",
+ "SeedDBEnabled": false, //只生成表结构
+ "SeedDBDataEnabled": false, //生成表,并初始化数据
+ "Author": "Tiobon.Core",
+ "SvcName": "", // /svc/Tiobon
+ "UseLoadTest": false
},
- "Date": "2018-08-28",
- "SeedDBEnabled": true, //只生成表结构
- "SeedDBDataEnabled": true, //生成表,并初始化数据
- "Author": "Tiobon.Core",
- "SvcName": "", // /svc/Tiobon
- "UseLoadTest": false
- },
- //优化DB配置、不会再区分单库多库
- //MainDb:标识当前项目的主库,所对应的连接字符串的Enabled必须为true
- //Log:标识日志库,所对应的连接字符串的Enabled必须为true
- //从库只需配置Slaves数组,要求数据库类型一致!,比如都是SqlServer
- //
- //新增,故障转移方案
- //如果主库挂了,会自动切换到备用连接(比如说主库+备用库)
- //备用连接的ConnId配置为主库的ConnId+数字即可,比如主库的ConnId为Main,那么备用连接的ConnId为Mian1
- //主库、备用库无需数据库类型一致!
- //备用库不会有程序维护,需要手动维护
- "MainDB": "Main", //当前项目的主库,所对应的连接字符串的Enabled必须为true
- "DBS": [
- /*
+ //优化DB配置、不会再区分单库多库
+ //MainDb:标识当前项目的主库,所对应的连接字符串的Enabled必须为true
+ //Log:标识日志库,所对应的连接字符串的Enabled必须为true
+ //从库只需配置Slaves数组,要求数据库类型一致!,比如都是SqlServer
+ //
+ //新增,故障转移方案
+ //如果主库挂了,会自动切换到备用连接(比如说主库+备用库)
+ //备用连接的ConnId配置为主库的ConnId+数字即可,比如主库的ConnId为Main,那么备用连接的ConnId为Mian1
+ //主库、备用库无需数据库类型一致!
+ //备用库不会有程序维护,需要手动维护
+ "MainDB": "WMTiobon_MSSQL_Main", //当前项目的主库,所对应的连接字符串的Enabled必须为true
+ "DBS": [
+ /*
对应下边的 DBType
MySql = 0,
SqlServer = 1,
@@ -102,247 +103,268 @@
Dm = 5,//达梦
Kdbndp = 6,//人大金仓
*/
- {
- "ConnId": "Main",
- "DBType": 2,
- "Enabled": true,
- "Connection": "WMTiobon.db", //sqlite只写数据库名就行
- "Slaves": [
{
- "HitRate": 0,// 值越大,优先级越高 0不使用
- "Connection": "WMTiobon2.db"
- }
- ]
- },
- {
- "ConnId": "Main2",
- "DBType": 2,
- "Enabled": true,
- "Connection": "WMTiobon3.db", //sqlite只写数据库名就行
- "Slaves": [
+ "ConnId": "WMTiobon_MSSQL_Main",
+ "DBType": 1,
+ "Enabled": true,
+ "Connection": "Data Source=116.204.98.209;User ID=Tiobon;Password=&($!4UGUyU#$2sp9O;Database=Tiobon;Encrypt=True;TrustServerCertificate=True;",
+ "ProviderName": "System.Data.SqlClient"
+ },
+ {
+ "ConnId": "Main",
+ "DBType": 2,
+ "Enabled": false,
+ "Connection": "WMTiobon.db", //sqlite只写数据库名就行
+ "Slaves": [
+ {
+ "HitRate": 0, // 值越大,优先级越高 0不使用
+ "Connection": "WMTiobon2.db"
+ }
+ ]
+ },
+ {
+ "ConnId": "Main2",
+ "DBType": 2,
+ "Enabled": false,
+ "Connection": "WMTiobon3.db", //sqlite只写数据库名就行
+ "Slaves": [
+ {
+ "HitRate": 0, // 值越大,优先级越高 0不使用
+ "Connection": "WMTiobon4.db"
+ }
+ ]
+ },
+ {
+ "ConnId": "Log", //日志库连接固定名称,不要改,其他的可以改
+ "DBType": 1,
+ "Enabled": true,
+ "HitRate": 50,
+ "Connection": "Data Source=116.204.98.209;User ID=Tiobon;Password=&($!4UGUyU#$2sp9O;Database=Tiobon;Encrypt=True;TrustServerCertificate=True;",
+ "ProviderName": "System.Data.SqlClient"
+ },
+ {
+ "ConnId": "WMTiobon_MSSQL_1",
+ "DBType": 1,
+ "Enabled": false,
+ "Connection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=WMTiobon_MSSQL_1;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ "ProviderName": "System.Data.SqlClient"
+ },
{
- "HitRate": 0,// 值越大,优先级越高 0不使用
- "Connection": "WMTiobon4.db"
+ "ConnId": "WMTiobon_MSSQL_2",
+ "DBType": 1,
+ "Enabled": false,
+ "Connection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=WMTiobon_MSSQL_2;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ "ProviderName": "System.Data.SqlClient"
+ },
+ {
+ "ConnId": "WMTiobon_MYSQL",
+ "DBType": 0,
+ "Enabled": false,
+ "Connection": "server=localhost;Database=Tiobon;Uid=root;Pwd=root;Port=3306;Allow User Variables=True;"
+ },
+ {
+ "ConnId": "WMTiobon_MYSQL_2",
+ "DBType": 0,
+ "Enabled": false,
+ "Connection": "server=localhost;Database=Tioboncore001;Uid=root;Pwd=root;Port=3306;Allow User Variables=True;"
+ },
+ {
+ "ConnId": "WMTiobon_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": "WMTiobon_DM",
+ "DBType": 5,
+ "Enabled": false,
+ "Connection": "Server=xxxxx:5236;User Id=xxxxx;PWD=xxxxx;SCHEMA=TESTDBA;"
+ },
+ {
+ "ConnId": "WMTiobon_KDBNDP",
+ "DBType": 6,
+ "Enabled": false,
+ "Connection": "Server=127.0.0.1;Port=54321;UID=SYSTEM;PWD=system;database=SQLSUGAR4XTEST1;"
}
- ]
- },
- {
- "ConnId": "Log", //日志库连接固定名称,不要改,其他的可以改
- "DBType": 2,
- "Enabled": true,
- "HitRate": 50,
- "Connection": "WMTiobonLog.db" //sqlite只写数据库名就行
- },
- {
- "ConnId": "WMTiobon_MSSQL_1",
- "DBType": 1,
- "Enabled": false,
- "Connection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=WMTiobon_MSSQL_1;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- "ProviderName": "System.Data.SqlClient"
- },
- {
- "ConnId": "WMTiobon_MSSQL_2",
- "DBType": 1,
- "Enabled": false,
- "Connection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=WMTiobon_MSSQL_2;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- "ProviderName": "System.Data.SqlClient"
+ ],
+ "Audience": {
+ "Secret": "sdfsdfsrty45634kkhllghtdgdfss345t678fs", //不要太短,16位+
+ "SecretFile": "C:\\my-file\\Tiobon.core.audience.secret.txt", //安全。内容就是Secret
+ "Issuer": "Tiobon.Core", //这个值一定要在自己的项目里修改!!
+ "Audience": "wr" //这个值一定要在自己的项目里修改!!
},
- {
- "ConnId": "WMTiobon_MYSQL",
- "DBType": 0,
- "Enabled": false,
- "Connection": "server=localhost;Database=Tiobon;Uid=root;Pwd=root;Port=3306;Allow User Variables=True;"
+ "Mongo": {
+ "ConnectionString": "mongodb://nosql.data",
+ "Database": "TiobonCoreDb"
},
- {
- "ConnId": "WMTiobon_MYSQL_2",
- "DBType": 0,
- "Enabled": false,
- "Connection": "server=localhost;Database=Tioboncore001;Uid=root;Pwd=root;Port=3306;Allow User Variables=True;"
- },
- {
- "ConnId": "WMTiobon_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": "WMTiobon_DM",
- "DBType": 5,
- "Enabled": false,
- "Connection": "Server=xxxxx:5236;User Id=xxxxx;PWD=xxxxx;SCHEMA=TESTDBA;"
- },
- {
- "ConnId": "WMTiobon_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\\Tiobon.core.audience.secret.txt", //安全。内容就是Secret
- "Issuer": "Tiobon.Core",
- "Audience": "wr"
- },
- "Mongo": {
- "ConnectionString": "mongodb://nosql.data",
- "Database": "TiobonCoreDb"
- },
- "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": "Tiobon.Core",
- "IdentityServer4": {
- "Enabled": false, // 这里默认是false,表示使用jwt,如果设置为true,则表示系统使用Ids4模式
- "AuthorizationUrl": "http://localhost:5004", // 认证中心域名
- "ApiName": "Tiobon.core.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": false //性能分析开启
- },
- "Nacos": {
- "Enabled": false //Nacos注册中心
- }
- },
- "Middleware": {
- "RequestResponseLog": {
- "Enabled": true,
- "LogToFile": {
- "Enabled": true
- },
- "LogToDB": {
- "Enabled": true
- }
+ "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
+ },
+ "IdentityServer4": {
+ "Enabled": false, // 这里默认是false,表示使用jwt,如果设置为true,则表示系统使用Ids4模式
+ "AuthorizationUrl": "http://localhost:5004", // 认证中心域名
+ "ApiName": "Tiobon.core.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": false //性能分析开启
+ },
+ "Nacos": {
+ "Enabled": false //Nacos注册中心
+ }
},
- "IPLog": {
- "Enabled": true,
- "LogToFile": {
- "Enabled": true
- },
- "LogToDB": {
- "Enabled": true
- }
+ "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": {
+ "Enabled": true
+ },
+ "QuartzNetJob": {
+ "Enabled": true
+ },
+ "Consul": {
+ "Enabled": false
+ },
+ "IpRateLimit": {
+ "Enabled": true
+ },
+ "EncryptionResponse": {
+ "Enabled": true,
+ "AllApis": false,
+ "LimitApis": [
+ "/api/Login/GetJwtTokenSecret"
+ ]
+ },
+ "EncryptionRequest": {
+ "Enabled": true,
+ "AllApis": false,
+ "LimitApis": [
+ "/api/Login/GetJwtTokenSecret"
+ ]
+ }
},
- "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,"
+ "IpRateLimiting": {
+ "EnableEndpointRateLimiting": false, //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/Tiobon*",
+ "Period": "1m",
+ "Limit": 20
+ },
+ {
+ "Endpoint": "*/api/*",
+ "Period": "1s",
+ "Limit": 3
+ },
+ {
+ "Endpoint": "*/api/*",
+ "Period": "1m",
+ "Limit": 30
+ },
+ {
+ "Endpoint": "*/api/*",
+ "Period": "12h",
+ "Limit": 500
+ }
+ ]
+
},
- "SignalR": {
- "Enabled": true
+ "ConsulSetting": {
+ "ServiceName": "TiobonCoreService",
+ "ServiceIP": "localhost",
+ "ServicePort": "9291",
+ "ServiceHealthCheck": "/healthcheck",
+ "ConsulAddress": "http://localhost:8500"
},
- "SignalRSendLog": {
- "Enabled": true
+ "PayInfo": { //建行聚合支付信息
+ "MERCHANTID": "", //商户号
+ "POSID": "", //柜台号
+ "BRANCHID": "", //分行号
+ "pubKey": "", //公钥
+ "USER_ID": "", //操作员号
+ "PASSWORD": "", //密码
+ "OutAddress": "http://127.0.0.1:12345" //外联地址
},
- "QuartzNetJob": {
- "Enabled": true
+ "nacos": {
+ "ServerAddresses": [ "http://localhost:8848" ], // nacos 连接地址
+ "DefaultTimeOut": 15000, // 默认超时时间
+ "Namespace": "public", // 命名空间
+ "ListenInterval": 10000, // 监听的频率
+ "ServiceName": "Tiobon.Core.Api", // 服务名
+ "Port": "9291", // 服务端口号
+ "RegisterEnabled": true // 是否直接注册nacos
},
- "Consul": {
- "Enabled": false
+ "LogFiedOutPutConfigs": {
+ "tcpAddressHost": "", // 输出elk的tcp连接地址
+ "tcpAddressPort": 0, // 输出elk的tcp端口号
+ "ConfigsInfo": [ // 配置的输出elk节点内容 常用语动态标识
+ {
+ "FiedName": "applicationName",
+ "FiedValue": "Tiobon.Core.Api"
+ }
+ ]
},
- "IpRateLimit": {
- "Enabled": true
+ "Seq": {
+ "Enabled": true,
+ "Address": "http://localhost:5341/",
+ "ApiKey": ""
}
- },
- "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/Tiobon*",
- "Period": "1m",
- "Limit": 20
- },
- {
- "Endpoint": "*/api/*",
- "Period": "1s",
- "Limit": 3
- },
- {
- "Endpoint": "*/api/*",
- "Period": "1m",
- "Limit": 30
- },
- {
- "Endpoint": "*/api/*",
- "Period": "12h",
- "Limit": 500
- }
- ]
-
- },
- "ConsulSetting": {
- "ServiceName": "TiobonCoreService",
- "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": "Tiobon.Core.Api", // 服务名
- "Port": "9291", // 服务端口号
- "RegisterEnabled": true // 是否直接注册nacos
- },
- "LogFiedOutPutConfigs": {
- "tcpAddressHost": "", // 输出elk的tcp连接地址
- "tcpAddressPort": 0, // 输出elk的tcp端口号
- "ConfigsInfo": [ // 配置的输出elk节点内容 常用语动态标识
- {
- "FiedName": "applicationName",
- "FiedValue": "Tiobon.Core.Api"
- }
- ]
- },
- "Seq": {
- "Enabled": true,
- "Address": "http://localhost:5341/",
- "ApiKey": ""
- }
}
\ No newline at end of file