Skip to content

Commit 7d38df8

Browse files
💾 Feat(CallNode): 添加 TargetDevice 属性以支持跨设备调用;更新 GetDisplayTitle 方法以显示目标设备信息
1 parent 8f2ee17 commit 7d38df8

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

KitX Core Contracts/KitX.Core.Contract/Workflow/BlueprintModels.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,12 @@ public class CallNode : BlueprintNode
510510
/// </summary>
511511
public string FunctionName { get; set; } = string.Empty;
512512

513+
/// <summary>
514+
/// Target device name for cross-device calls.
515+
/// If null or empty, call is routed locally via PluginCall.
516+
/// </summary>
517+
public string? TargetDevice { get; set; }
518+
513519
public CallNode()
514520
{
515521
NodeType = BlueprintNodeType.Call;
@@ -528,7 +534,10 @@ public CallNode()
528534
);
529535

530536
public override string GetDisplayTitle()
531-
=> string.IsNullOrEmpty(PluginName) ? $"Call: {FunctionName}" : $"Call: {PluginName}.{FunctionName}";
537+
{
538+
var baseTitle = string.IsNullOrEmpty(PluginName) ? $"Call: {FunctionName}" : $"Call: {PluginName}.{FunctionName}";
539+
return string.IsNullOrEmpty(TargetDevice) ? baseTitle : $"{baseTitle} @ {TargetDevice}";
540+
}
532541
}
533542

534543
/// <summary>

KitX Core Contracts/KitX.Core.Contract/Workflow/PluginCallInfo.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ public class PluginCallInfo
3434
/// </summary>
3535
public string[] ParameterNames { get; set; } = Array.Empty<string>();
3636

37+
/// <summary>
38+
/// 目标设备名称(远程调用时使用)。如果为空或 null,则为本地调用。
39+
/// </summary>
40+
public string? TargetDevice { get; set; }
41+
3742
public PluginCallInfo()
3843
{
3944
}

0 commit comments

Comments
 (0)