TenantSettingHelper
TenantSettingHelper 提供读取系统和租户级别配置的能力,可以在 C# 脚本或微服务中获取平台配置参数来驱动业务逻辑。
API 方法
GetSystemDefaultValue — 获取系统默认值
根据配置键获取系统级别的默认值。
string GetSystemDefaultValue(string key);
示例:
// 获取系统级默认配置
var maxUploadSize = sdk.TenantSettingHelper.GetSystemDefaultValue("MaxUploadFileSize");
var defaultLanguage = sdk.TenantSettingHelper.GetSystemDefaultValue("DefaultLanguage");
GetTenantConfig — 获取租户完整配置
获取当前租户的完整配置对象(IConfiguration 类型),支持通过冒号分隔符访问嵌套节点。
IConfiguration GetTenantConfig();
示例:
// 获取完整配置对象
var config = sdk.TenantSettingHelper.GetTenantConfig();
// 访问嵌套配置项
var connectionString = config["ConnectionStrings:Default"];
var appId = config["AppSettings:AppId"];
var featureFlag = config["FeatureFlags:NewDashboard"];
典型场景
根据配置控制业务流程
public async Task<object> ExecuteAsync(ComponentContext context, ChameleonSDK sdk)
{
var config = sdk.TenantSettingHelper.GetTenantConfig();
// 根据租户配置决定是否自动审批
var enableAutoApproval = config["WorkflowSettings:EnableAutoApproval"];
if (enableAutoApproval == "true")
{
// 走自动审批逻辑...
}
// 读取外部服务地址用于接口调用
var apiHost = config["ExternalServices:ApiHost"];
// ...
return new { success = true };
}
读取系统默认值作为回退
// 优先使用业务配置,没有则取系统默认值
var timeout = context.GetFieldValue("Timeout")
?? sdk.TenantSettingHelper.GetSystemDefaultValue("DefaultRequestTimeout");
相关文档
- 租户配置文件 — 租户配置文件的详细说明和结构定义