{ //多租户,支持多库,DbConnOptions会自动创建到默认租户,支持配置文件方式+数据库方式,AbpDefaultTenantStoreOptions // "Tenants": [ // { // "Id": "33333333-3d72-4339-9adc-845151f8ada0", // "Name": "Mes@MySql", // "ConnectionStrings": { // "Default": "DataSource=mes-dev.db" // }, // "IsActive": false // } // ], "Logging": { "LogLevel": { //"Default": "Information", "Default": "Debug", "Microsoft.AspNetCore": "Warning" } }, //应用启动:SelfUrl 供 Program.cs UseUrls 绑定;用 0.0.0.0 避免写成固定局域网 IP 在本机无该网卡时启动失败(WinError 10049) "App": { "SelfUrl": "http://192.168.1.2:19002", "CorsOrigins": "http://localhost:19002;http://localhost:18000;http://localhost:5666;http://localhost:3000;http://127.0.0.1:19002" }, //配置 "Settings": { "Test": "hello" }, //泰额版 + 美国版业务共用(勿重复定义 FoodLabeling 节点,否则后者会覆盖前者) "FoodLabeling": { "MultiTenancy": { "Mode": "SeparateDatabase" }, "TenantDatabase": { "DatabaseNameTemplate": "antis-foodlabeling-{tenant}", "Server": "rm-bp19ohrgc6111ynzh1o.mysql.rds.aliyuncs.com", "Port": 3306, "UserId": "netteam", "Password": "netteam", "CharSet": "utf8mb4" }, "LegacyTenant": { "Id": "11111111-1111-1111-1111-111111111111", "Name": "Default" }, "PlatformHost": { "DatabaseName": "antis-foodlabeling-host" }, "BatchImport": { "TemplateDirectory": "/www/wwwroot/FoodLabelingManagementUs/batchImportOfFiles", "LocationTemplateFileName": "Location-Manager-批量导入模板.xlsx", "TeamMemberTemplateFileName": "Team-Member-批量导入模板.xlsx", "ProductTemplateFileName": "Product-Manager-批量导入模板.xlsx", "TeamMemberImportDefaultPassword": "ChangeMe123!", "MaxImportRows": 5000, "MaxUploadBytes": 10485760, "MaxBulkUpdateItems": 500 } }, //数据库类型列表 "DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle", "PostgreSQL" ], "DbConnOptions": { "Url": "server=rm-bp19ohrgc6111ynzh1o.mysql.rds.aliyuncs.com;port=3306;database=antis-foodlabeling-host;uid=netteam;pwd=netteam;CharSet=utf8mb4;", "DbType": "MySql", "EnabledReadWrite": false, "EnabledCodeFirst": false, "EnabledSqlLog": true, "EnabledDbSeed": false, "EnableUnderLine": false, "EnabledSaasMultiTenancy": true, "EnabledConcurrencyException": false }, //redis使用freeesql参数在“FreeSqlOptions的ConnectionStringBuilder中” "Redis": { "IsEnabled": false, "Configuration": "127.0.0.1:6379,password=123,defaultDatabase=13", "JobDb": 13 }, //鉴权 "JwtOptions": { "Issuer": "https://ccnetcore.com", "Audience": "https://ccnetcore.com", "SecurityKey": "qqxwcevrbtnymu312412ihe9rfwhe78rh23djoi32hrui3ryf9e8wfh34iuj54y0934uti4h97fgw7hf97wyh8yy69522", "ExpiresMinuteTime": 86400 }, //刷新token "RefreshJwtOptions": { "Issuer": "https://yi.ccnetcore.com", "Audience": "https://yi.ccnetcore.com", "SecurityKey": "67ij4o6jo4i5j6io45j6i4j74p5k6i54ojoi5t9g8ergoj34ofgkrtbmreog894jbioemgropihj48rj4io5juopjgior", "ExpiresMinuteTime": 172800 }, //第三方登录 "OAuth": { "QQ": { "ClientId": "", "ClientSecret": "", "RedirectUri": "" }, "Gitee": { "ClientId": "", "ClientSecret": "", "RedirectUri": "" } }, //Rbac模块 "RbacOptions": { "AdminPassword": "123456", "EnableCaptcha": false, "EnableRegister": false, "EnableDataBaseBackup": false }, "ForgotPasswordEmail": { "IsEnabled": true, "SmtpHost": "smtp.office365.com", "SmtpPort": 587, "SecureSocketPreset": "StartTls", "UserName": "Sandi.ma@3ffoodsafety.com", "Password": "", "FromAddress": "Sandi.ma@3ffoodsafety.com", "FromDisplayName": "Food Labeling", "CodeLength": 6, "CacheExpirationMinutes": 10 }, "SemanticKernel": { "ModelIds": [ "gpt-4o" ], "Endpoint": "https://xxx.com/v1", "ApiKey": "sk-xxxxxx" } }