XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEWorkflow

【WinUI】XFE基于windows的工作流

公开
关注 0 Fork 0 Star 0
UTF-8

内置基础节点完整目录

SDK 1.6 的 164 个核心动作节点。由核心能力声明生成;所有动作还带执行输入与声明的执行输出。另有间隔、每日、文件变化、工作流完成四个系统触发节点。

使用教程、类型规则、C# 关键词对应和导入示例见基础节点。通过节点库分类、中文名称、方法名或下表能力 ID 搜索。

比较与布尔(13)

节点与能力 ID 输入 输出 用途
不等比较
core.compare.ne
left Any · 左值
right Any · 右值
ignoreCase Boolean · 文本忽略大小写
value Boolean · 结果 C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。
布尔非
core.boolean.not
left Boolean · 布尔值 value Boolean · 结果 C# && || ^ !;输入必须为布尔值,输出可连到系统条件分支。已执行的上游节点不会因短路而跳过。
布尔或
core.boolean.or
left Boolean · 左值
right Boolean · 右值
value Boolean · 结果 C# && || ^ !;输入必须为布尔值,输出可连到系统条件分支。已执行的上游节点不会因短路而跳过。
布尔全部成立
core.boolean.all
items Array · 数组 value Boolean · 结果 Enumerable.All / Any;数组每项必须为布尔值;空数组 all 为 true、any 为 false。
布尔任意成立
core.boolean.any
items Array · 数组 value Boolean · 结果 Enumerable.All / Any;数组每项必须为布尔值;空数组 all 为 true、any 为 false。
布尔异或
core.boolean.xor
left Boolean · 左值
right Boolean · 右值
value Boolean · 结果 C# && || ^ !;输入必须为布尔值,输出可连到系统条件分支。已执行的上游节点不会因短路而跳过。
布尔与
core.boolean.and
left Boolean · 左值
right Boolean · 右值
value Boolean · 结果 C# && || ^ !;输入必须为布尔值,输出可连到系统条件分支。已执行的上游节点不会因短路而跳过。
大于比较
core.compare.gt
left Any · 左值
right Any · 右值
ignoreCase Boolean · 文本忽略大小写
value Boolean · 结果 C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。
大于等于比较
core.compare.gte
left Any · 左值
right Any · 右值
ignoreCase Boolean · 文本忽略大小写
value Boolean · 结果 C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。
条件选择值
core.value.select
condition Boolean · 条件
whenTrue Any · 成立值
whenFalse Any · 不成立值
value Any · 结果 C# ?:;condition 成立返回 whenTrue,否则返回 whenFalse。只选择已经得到的值,执行分支请使用条件分支节点。
相等比较
core.compare.eq
left Any · 左值
right Any · 右值
ignoreCase Boolean · 文本忽略大小写
value Boolean · 结果 C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。
小于比较
core.compare.lt
left Any · 左值
right Any · 右值
ignoreCase Boolean · 文本忽略大小写
value Boolean · 结果 C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。
小于等于比较
core.compare.lte
left Any · 左值
right Any · 右值
ignoreCase Boolean · 文本忽略大小写
value Boolean · 结果 C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。

编码与标识(10)

节点与能力 ID 输入 输出 用途
计算文本摘要
core.encoding.hash
value String · 原文
algorithm String · 算法
value String · 结果 SHA256 / SHA512 / SHA1 / MD5;按 UTF-8 计算小写十六进制摘要,默认 SHA256。
生成 GUID
core.value.guid
format String · 格式 value String · 结果 Guid.NewGuid;format 使用 D(带短横线)、N(不带)、B(花括号)、P(括号)。
十六进制编码
core.encoding.hexEncode
value String · 原文 value String · 结果 Convert.ToHexString;将 UTF-8 文本编码为大写十六进制。
十六进制解码
core.encoding.hexDecode
value String · 十六进制文本 value String · 结果 Convert.FromHexString;将十六进制解码为 UTF-8 文本,无效输入报错。
Base64 编码
core.encoding.base64Encode
value String · 原文 value String · 结果 Convert.ToBase64String;按 UTF-8 编码,不进行加密。
Base64 解码
core.encoding.base64Decode
value String · Base64 文本 value String · 结果 Convert.FromBase64String;将 Base64 解码为 UTF-8 文本,无效编码报错。
HTML 编码
core.encoding.htmlEncode
value String · 原文 value String · 结果 WebUtility.HtmlEncode;显式转义 HTML 特殊字符。
HTML 解码
core.encoding.htmlDecode
value String · 实体文本 value String · 结果 WebUtility.HtmlDecode;显式解码 HTML 实体。
URL 参数编码
core.encoding.urlEncode
value String · 参数原文 value String · 结果 Uri.EscapeDataString;编码一个 URL 参数值,不编码整条 URL。
URL 参数解码
core.encoding.urlDecode
value String · 编码文本 value String · 结果 Uri.UnescapeDataString;解码百分号编码,+ 保留为 +。

变量与数据(11)

节点与能力 ID 输入 输出 用途
变量递增递减
core.variable.increment
name String · 变量名
amount Number · 增量
value Number · 更新后的数字 C# ++ -- += -=;按 amount 更新数字变量(负数为递减),不存在从 0 开始;非数字报错。并行分支变量隔离。
布尔常量
core.value.boolean
value Boolean · 常量 value Boolean · 结果 const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。
读取变量
core.variable.get
name String · 变量名 value Any · 变量值
found Boolean · 变量存在
读取当前作用域变量,输出 value 与 found;不存在返回 null、false。循环 body 共享顺序变量,并行分支与子工作流隔离。
读取对象字段
core.object.get
value Any · 对象 / 数组
path String · 字段路径
value Any · 字段值
found Boolean · 字段存在
按字段路径读取对象或数组,通过连线输出字段值与是否存在,不需要在消息中填写表达式。字段名区分大小写,不修改源对象。
对象常量
core.value.object
value Object · 常量 value Object · 结果 const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。
空值常量
core.value.null
无 value Any · 结果 const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。
删除变量
core.variable.remove
name String · 变量名 removed Boolean · 是否删除 移除当前作用域变量,返回是否存在并删除,不修改流程输入。
设置变量
core.set
name String · 变量名
value Any · 值
value Any · 值 设置变量;详见工作流与运行说明。
数字常量
core.value.number
value Number · 常量 value Number · 结果 const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。
数组常量
core.value.array
value Array · 常量 value Array · 结果 const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。
文本常量
core.value.text
value String · 文本 value String · 结果 const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。

代码(1)

节点与能力 ID 输入 输出 用途
C# 代码
core.csharp
inputs Object · 输入 result Object · 结果 C# 代码;详见工作流与运行说明。

对象与 JSON(14)

节点与能力 ID 输入 输出 用途
从键值对创建对象
core.object.fromEntries
entries Array · 键值对数组 value Object · 结果 将 [{key,value}] 转换为对象;key 必须为文本,同名字段报错,保留 null。
从数组创建对象
core.object.fromPairs
keys Array · 字段名数组
values Array · 字段值数组
value Object · 结果 将 keys 文本数组与 values 数组逐项对应生成对象。长度必须相等,字段名重复时报错。
对象键值对数组
core.object.entries
value Object · 对象 value Array · 结果 Dictionary.Keys / Values / KeyValuePair;按字段原有顺序输出,entries 每项为 {key,value}。
对象字段存在判断
core.object.has
value Object · 对象
path String · 字段路径
value Boolean · 结果 ContainsKey;支持点路径与 JSON Pointer。字段存在且为 null 也返回 true。
对象字段名数组
core.object.keys
value Object · 对象 value Array · 结果 Dictionary.Keys / Values / KeyValuePair;按字段原有顺序输出,entries 每项为 {key,value}。
对象字段数量
core.object.count
value Object · 对象 value Number · 结果 Dictionary.Count;对象的顶层字段数量。
对象字段值数组
core.object.values
value Object · 对象 value Array · 结果 Dictionary.Keys / Values / KeyValuePair;按字段原有顺序输出,entries 每项为 {key,value}。
复制数据
core.value.clone
value Any · 值 value Any · 结果 DeepClone;深度复制任意 JSON 值,保留类型、中文、表情和字面表达式对象。
格式化 JSON 文本
core.json.stringify
value Any · 值
indent Boolean · 缩进
value String · 结果 序列化为 JSON,indent 可切换紧凑与缩进形式,完整显示中文与表情,字符串引号和控制字符按 JSON 规则转义。
合并对象
core.object.merge
left Object · 左对象
right Object · 右对象
overwrite Boolean · 覆盖同名字段
value Object · 结果 浅合并两个对象;overwrite=true 时右侧覆盖同名字段,否则保留左侧。嵌套对象整体作为一个字段,返回新对象。
解析任意 JSON
core.json.parse
value String · JSON 文本 value Any · 结果 JsonNode.Parse;显式把 JSON 文本解析为对象、数组、数字、布尔、文本或 null。结构化输出连接具体类型前使用类型转换。
删除对象字段
core.object.remove
value Object · 对象
key String · 字段名
value Object · 结果
removed Boolean · 是否删除
Dictionary.Remove;删除顶层完整字段名,返回新对象与是否删除。
设置对象字段
core.object.set
value Object · 对象
key String · 字段名
field Any · 字段值
value Object · 结果 obj[key] = value;key 是完整字段名(点和斜杠按原文),返回新对象,不修改来源。创建或替换字段,null 也可存入。
选择对象字段
core.object.pick
value Object · 对象
keys Array · 字段名数组
value Object · 结果 从对象复制 keys 数组指定的顶层完整字段名,缺失字段略过,重复名称只保留一次。

基础操作(1)

节点与能力 ID 输入 输出 用途
等待
core.delay
milliseconds Number · 毫秒 无 等待;详见工作流与运行说明。

类型判断(4)

节点与能力 ID 输入 输出 用途
读取值类型
core.value.type
value Any · 值 value String · 结果 GetType / typeof;输出 null、string、number、boolean、object 或 array,类型名称不包含插件的名义类型。
空值回退
core.value.coalesce
value Any · 值
fallback Any · 回退值
value Any · 结果 C# ??;value 为 null 时使用 fallback,空字符串、false 和 0 保留。
空值判断
core.value.isNull
value Any · 值 value Boolean · 结果 C# is null;只把 null 视为空,空字符串、false、0 和空数组均不等于 null。
类型判断
core.value.is
value Any · 值
type String · 类型
value Boolean · 结果 C# is;判断值的 JSON 类型,保持原始类型,不隐式解析数字或 JSON 文本。

类型转换(6)

节点与能力 ID 输入 输出 用途
序列化为 JSON 文本
core.convert.json
value Any · 待转换值 value String · 转换结果 将任意值序列化为 JSON 文本,保留引号、转义和空值。
转换为布尔
core.convert.boolean
value Any · 待转换值 value Boolean · 转换结果 接受 true / false、数字 1 / 0 及对应文本;其他值报错。
转换为对象 / 解析 JSON
core.convert.object
value Any · 待转换值 value Object · 转换结果 解析 JSON 对象文本,或将结构化值复制为普通对象;不创建有效的插件消息引用。
转换为数字
core.convert.number
value Any · 待转换值 value Number · 转换结果 解析数字或数字文本,使用小数点格式;无效文本、空值和非有限数字会报错。
转换为数组 / 解析 JSON
core.convert.array
value Any · 待转换值 value Array · 转换结果 解析 JSON 数组文本,或复制数组;其他类型报错。
转换为文本
core.convert.string
value Any · 待转换值 value String · 转换结果 将数字、布尔或结构化数据转换为文本;对象和数组使用 JSON 文本。

流程(3)

节点与能力 ID 输入 输出 用途
调用工作流
core.subworkflow
workflowId String · 工作流 ID
inputs Object · 输入
result Object · 结果 调用工作流;详见工作流与运行说明。
结束
core.end
result Any · 结果 无 结束;详见工作流与运行说明。
开始
core.start
无 inputs Object · 流程输入 开始;详见工作流与运行说明。

路径操作(4)

节点与能力 ID 输入 输出 用途
读取路径组成
core.path.parts
value String · 路径 fileName String · 文件名
name String · 不含扩展名
extension String · 扩展名
directory String · 目录
Path.GetFileName / GetExtension / GetDirectoryName;只分析路径文本,不读取文件。
获取绝对路径
core.path.full
value String · 路径
basePath String · 绝对基础路径(可空)
value String · 结果 Path.GetFullPath;basePath 留空使用 Runner 工作目录,也可指定绝对基础路径。只处理路径文本。
拼接文件路径
core.path.combine
left String · 基础路径
right String · 子路径
value String · 结果 Path.Combine;按 Runner 的操作系统规则拼接两个路径。第二段为绝对路径时会替换第一段。
修改路径扩展名
core.path.changeExtension
value String · 路径
extension String · 新扩展名
value String · 结果 Path.ChangeExtension;修改路径文本的扩展名,不重命名实际文件;扩展名留空时移除扩展名。

逻辑控制(15)

节点与能力 ID 输入 输出 用途
遍历集合
core.foreach
items Array · 集合
itemName String · 元素变量
results Array · 迭代结果 遍历集合;详见工作流与运行说明。
并行执行
core.parallel
无 branches Object · 分支结果 并行执行;详见工作流与运行说明。
当前循环项
core.foreach.current
无 item Any · 当前项
index Number · 序号
放在遍历集合、计数循环、重复执行或条件循环的 body 子图中,通过 item 和 index 输出连接当前元素与序号。计数循环 item 为当前数值,重复执行与条件循环 item 为序号。嵌套读取最近一层,退出内层后恢复外层。
当前异常
core.error.current
无 message String · 错误消息
nodeId String · 错误节点 ID
type String · 异常类型
catch;仅在 catch 子图中读取最近一次捕获的异常,可将 message 连到输出日志或通知。
多路选择
core.switch
value Any · 选择值
cases Array · 分支名称
无 多路选择;详见工作流与运行说明。
汇合
core.join
无 无 汇合;详见工作流与运行说明。
计数循环
core.for
start Number · 起始值
count Number · 次数
step Number · 步长
results Array · 迭代结果 for;执行 count 次,当前循环项为 start + index * step,序号从 0 开始。支持负步长与空循环,body 使用当前循环项节点。
继续下一次循环
core.continue
无 无 continue;略过本次 body 剩余步骤,进入最近一层循环的下一项;finally 子图照常执行。
抛出异常
core.throw
message String · 错误消息 无 throw;主动抛出 message,可由异常处理节点的 catch 子图捕获;取消与循环控制不会作为普通异常捕获。
条件分支
core.if
left Any · 左值
operator String · 比较
right Any · 右值
normalizeText Boolean · 忽略空白与全半角差异
ignoreCase Boolean · 忽略大小写
conditions Array · 条件组(可选 JSON)
matchAll Boolean · 条件组全部成立
matched Boolean · 条件成立
branch String · 匹配结果
条件分支;详见工作流与运行说明。
条件循环
core.while
left Any · 左值
operator String · 比较
right Any · 右值
normalizeText Boolean · 忽略空白与全半角差异
ignoreCase Boolean · 忽略大小写
conditions Array · 条件组(可选 JSON)
matchAll Boolean · 条件组全部成立
maxIterations Number · 最大次数
无 while;先判断再执行 body。可选 condition 子图使用读取变量、比较等节点,并将布尔结果连到该子图结束节点的 result,每轮重新判断;未添加 condition 子图时使用上方条件。
跳出循环
core.break
无 无 break;结束最近一层循环并继续循环后的步骤,finally 子图照常执行。不能跨独立工作流或并行分支控制外层循环。
先执行后判断循环
core.doWhile
left Any · 左值
operator String · 比较
right Any · 右值
normalizeText Boolean · 忽略空白与全半角差异
ignoreCase Boolean · 忽略大小写
conditions Array · 条件组(可选 JSON)
matchAll Boolean · 条件组全部成立
maxIterations Number · 最大次数
无 do while;至少执行一次 body,再判断条件。可选 condition 子图的结束 result 必须为布尔值,每轮重算;未添加时使用上方条件。
异常处理
core.try
无 result Object · 结果 异常处理;详见工作流与运行说明。
重复执行
core.repeat
count Number · 次数 results Array · 迭代结果 for;重复 count 次,body 使用当前循环项读取从 0 开始的序号,次数为 0 时不执行。

日期与时间(10)

节点与能力 ID 输入 输出 用途
比较日期时间
core.date.compare
left String · 左时间
right String · 右时间
value Number · 结果 DateTimeOffset.Compare;按时间线比较,早于返回 -1、相同瞬间 0、晚于 1。
当前时间
core.date.now
utc Boolean · 使用 UTC value String · 结果
timestamp Number · Unix 毫秒
DateTimeOffset.Now / UtcNow;输出带时区的 ISO 8601 文本和 Unix 毫秒时间戳,时间戳始终指同一瞬间。
读取日期组成
core.date.parts
value String · 日期时间 year Number · 年
month Number · 月
day Number · 日
hour Number · 时
minute Number · 分
second Number · 秒
dayOfWeek Number · 星期
Year / Month / Day / Hour / Minute / Second / DayOfWeek;按输入时区读取,dayOfWeek 为 0(日)~6(六)。
格式化日期时间
core.date.format
value String · 日期时间
format String · 输出格式
value String · 结果 DateTimeOffset.ToString;使用固定文化格式,例如 yyyy-MM-dd HH:mm:ss、O、yyyyMMdd,保留输入时区。
解析日期时间
core.date.parse
value String · 日期文本
format String · 输入格式(可空)
value String · 结果
timestamp Number · Unix 毫秒
DateTimeOffset.ParseExact;format 留空解析标准日期文本。未带时区的值按 UTC 解析,可在 timeZone 节点显式转换。
日期时间差
core.date.difference
start String · 开始时间
end String · 结束时间
unit String · 单位
value Number · 结果 DateTimeOffset 相减 / TimeSpan.Total;计算 end-start,跨时区比较同一 UTC 时间线,输出可为负数。
日期时间加减
core.date.add
value String · 日期时间
amount Number · 增量
unit String · 单位
value String · 结果 AddYears / AddMonths / AddDays / AddHours;amount 可为负数,years/months 必须为整数。
日期转时间戳
core.date.timestamp
value String · 日期时间
unit String · 精度
value Number · 结果 ToUnixTimeSeconds / ToUnixTimeMilliseconds;转换为自 1970-01-01T00:00:00Z 起的整数。
时间戳转日期
core.date.fromTimestamp
value Number · Unix 时间戳
unit String · 精度
value String · 结果 FromUnixTimeSeconds / FromUnixTimeMilliseconds;返回 UTC ISO 8601 文本。
转换时区
core.date.timeZone
value String · 日期时间
zone String · 目标时区
value String · 结果 TimeZoneInfo.ConvertTime;zone 可以是 UTC、local、Windows 时区 ID 或 IANA 时区 ID,例如 Asia/Shanghai。

日志操作(2)

节点与能力 ID 输入 输出 用途
导出运行日志
core.log.export
path String · 日志文件
format String · 文件格式
append Boolean · 追加到文件(仅 log)
path String · 已导出文件
count Number · 导出日志条数
将本次运行截至当前节点的 XFE 日志导出为 UTF-8 文本或 JSON,包含工作流、节点与运行来源,自动隐藏托管凭据。覆盖写入,或选择追加文本日志;后续步骤和最终完成状态不在本次快照中。
输出日志
core.log
message Any · 消息 无 输出日志;详见工作流与运行说明。

数学运算(21)

节点与能力 ID 输入 输出 用途
乘法
core.math.multiply
left Number · 左数
right Number · 右数
value Number · 结果 C# *;decimal 相乘。
乘方
core.math.power
left Number · 底数
right Number · 指数
value Number · 结果 Math.Pow;double 运算,非有限结果报错。
除法
core.math.divide
left Number · 左数
right Number · 右数
value Number · 结果 C# /;保留小数,除数为 0 报错。需要整数部分可再连接截断节点。
格式化数字
core.math.format
value Number · 数字
format String · 格式
value String · 结果 decimal.ToString;使用 InvariantCulture,例如 F2、0.00、N0、P1,不受系统语言影响。
加法
core.math.add
left Number · 左数
right Number · 右数
value Number · 结果 C# +;decimal 精确十进制相加,溢出时报错。
减法
core.math.subtract
left Number · 左数
right Number · 右数
value Number · 结果 C# -;decimal 相减。
截断小数
core.math.truncate
value Number · 数字 value Number · 结果 Math.Truncate;向 0 方向取整。
绝对值
core.math.abs
value Number · 数字 value Number · 结果 Math.Abs;取数字绝对值。
两数最大值
core.math.max
left Number · 左数
right Number · 右数
value Number · 结果 Math.Max;比较两个数字。
两数最小值
core.math.min
left Number · 左数
right Number · 右数
value Number · 结果 Math.Min;比较两个数字。
取相反数
core.math.negate
value Number · 数字 value Number · 结果 C# 一元 -;取相反数。
取余
core.math.modulo
left Number · 左数
right Number · 右数
value Number · 结果 C# %;取余结果符号跟随左数,除数为 0 报错。
数学函数
core.math.function
value Number · 数字
function String · 函数
value Number · 结果 Math;sqrt、log、log10、exp、sin、cos、tan、asin、acos、atan,三角函数使用弧度。无效定义域或非有限结果报错。
数字符号
core.math.sign
value Number · 数字 value Number · 结果 Math.Sign;负数 -1、零 0、正数 1。
数字数组统计
core.math.aggregate
items Array · 数组 count Number · 数量
sum Number · 总和
average Any · 平均值或空值
min Any · 最小值或空值
max Any · 最大值或空值
Enumerable Sum / Average / Min / Max;数组成员必须为数字,空数组 count/sum 为 0,min/max/average 为 null。
四舍五入
core.math.round
value Number · 数字
digits Number · 小数位数
mode String · 中点规则
value Number · 结果 Math.Round;可选择 awayFromZero(中点远离零)或 toEven(银行家舍入),digits 为 0~28。
随机数
core.math.random
min Number · 最小值
max Number · 上限(不含)
mode String · 类型
value Number · 结果 Random.Shared;integer 模式为 [min,max) 整数;fraction 模式为 [min,max) 小数,min 必须小于 max。
限制数值范围
core.math.clamp
value Number · 数字
min Number · 最小值
max Number · 最大值
value Number · 结果 Math.Clamp;把数字限制在包含两端的最小值与最大值之间。
向上取整
core.math.ceiling
value Number · 数字 value Number · 结果 Math.Ceiling;向正无穷方向取整。
向下取整
core.math.floor
value Number · 数字 value Number · 结果 Math.Floor;向负无穷方向取整。
整数位运算
core.math.bitwise
left Number · 左整数
right Number · 右整数 / 移位位数
operator String · 运算
value Number · 结果 C# & | ^ ~ << >>;64 位有符号整数运算,shift 为 0~63,右移保留符号。

数组与集合(26)

节点与能力 ID 输入 输出 用途
插入数组项
core.array.insert
items Array · 数组
index Number · 插入索引
value Any · 值
value Array · 结果 List.Insert;可插入到数组末尾;返回新数组,不修改源数组。
查找数组匹配项
core.array.find
items Array · 数组
path String · 比较字段路径(空为原值)
operator String · 比较
right Any · 比较值 / 候选数组
ignoreCase Boolean · 文本忽略大小写
value Any · 结果
index Number · 索引
found Boolean · 是否找到
FirstOrDefault / FindIndex;使用同样的字段条件查找首个匹配项,未找到 value=null、index=-1。
查找数组项位置
core.array.indexOf
items Array · 数组
value Any · 值
index Number · 索引
found Boolean · 是否找到
List.IndexOf;按 JSON 深度相等查找首项,未找到 index=-1、found=false。
创建数字序列
core.array.range
start Number · 起始值
count Number · 项数
step Number · 步长
value Array · 结果 Enumerable.Range / for;生成 start + index * step,count 为非负整数,step 可以为负数;返回新数组,不修改源数组。
读取数组项
core.array.get
items Array · 数组
index Number · 索引
value Any · 结果
found Boolean · 索引存在
items[index];index 从 0 开始,越界返回 found=false、value=null;存在的 null 项 found=true。
反转数组
core.array.reverse
items Array · 数组 value Array · 结果 Enumerable.Reverse;反转项目顺序;返回新数组,不修改源数组。
分批数组
core.array.chunk
items Array · 数组
size Number · 每批项数
value Array · 结果 Enumerable.Chunk;每批 size 项,最后一批可以不足;返回新数组,不修改源数组。
合并数组
core.array.concat
left Array · 左数组
right Array · 右数组
value Array · 结果 Enumerable.Concat;左数组在前,右数组在后,不去重;返回新数组,不修改源数组。
截取数组
core.array.slice
items Array · 数组
start Number · 起始索引
length Number · 长度(-1 到末尾)
value Array · 结果 Range / Skip / Take;start 从 0 开始,length=-1 取到末尾;越界报错;返回新数组,不修改源数组。
配对数组
core.array.zip
left Array · 左数组
right Array · 右数组
value Array · 结果 Enumerable.Zip;将两个数组配为 [左项,右项],结果长度取较短数组;返回新数组,不修改源数组。
筛选数组
core.array.filter
items Array · 数组
path String · 比较字段路径(空为原值)
operator String · 比较
right Any · 比较值 / 候选数组
ignoreCase Boolean · 文本忽略大小写
value Array · 结果 Enumerable.Where;path 指定字段,operator 指定条件。in / notIn 的 right 为候选数组;字段缺失视为 null;返回新数组,不修改源数组。
删除数组项
core.array.remove
items Array · 数组
index Number · 起始索引
count Number · 删除项数
value Array · 结果 RemoveAt / RemoveRange;从 index 删除 count 项,越界报错;返回新数组,不修改源数组。
数组包含
core.array.contains
items Array · 数组
value Any · 值
value Boolean · 结果 Enumerable.Contains;按 JSON 深度相等匹配,保留数据类型,文本 1 不等于数字 1。
数组并集
core.array.union
left Array · 左数组
right Array · 右数组
value Array · 结果 Enumerable.Union / Intersect / Except;JSON 深度相等,去重并保留首次出现顺序;返回新数组,不修改源数组。
数组差集
core.array.except
left Array · 左数组
right Array · 右数组
value Array · 结果 Enumerable.Union / Intersect / Except;JSON 深度相等,去重并保留首次出现顺序;返回新数组,不修改源数组。
数组分组
core.array.groupBy
items Array · 数组
path String · 分组字段路径(空为原值)
value Array · 结果 Enumerable.GroupBy;按 path 字段的 JSON 值分组,输出 [{key,items}],保留首次分组及项的顺序;空 path 使用原项;返回新数组,不修改源数组。
数组交集
core.array.intersect
left Array · 左数组
right Array · 右数组
value Array · 结果 Enumerable.Union / Intersect / Except;JSON 深度相等,去重并保留首次出现顺序;返回新数组,不修改源数组。
数组排序
core.array.sort
items Array · 数组
path String · 排序字段路径(空为原值)
descending Boolean · 降序
ignoreCase Boolean · 文本忽略大小写
value Array · 结果 OrderBy / OrderByDescending;空 path 排序原值,path 可读取对象字段。只比较同为数字或同为文本,null 在升序时排最前;稳定排序;返回新数组,不修改源数组。
数组前插一项
core.array.prepend
items Array · 数组
value Any · 值
value Array · 结果 Prepend;在数组开头插入,嵌套数组保持为一项;返回新数组,不修改源数组。
数组去重
core.array.distinct
items Array · 数组 value Array · 结果 Enumerable.Distinct;按 JSON 深度相等去重,保留首次出现顺序,对象字段顺序不影响相等;返回新数组,不修改源数组。
数组长度
core.array.length
items Array · 数组 value Number · 结果 Count / Length;数组项数,空数组为 0。
数组追加一项
core.array.append
items Array · 数组
value Any · 值
value Array · 结果 List.Add / Append;在数组末尾追加,嵌套数组保持为一项;返回新数组,不修改源数组。
提取数组字段
core.array.mapField
items Array · 数组
path String · 字段路径
skipMissing Boolean · 略过缺失字段
value Array · 结果 Enumerable.Select;逐项读取 path 字段形成数组。空 path 复制原项,可选择略过缺失字段;存在的 null 字段保留;返回新数组,不修改源数组。
替换数组项
core.array.set
items Array · 数组
index Number · 索引
value Any · 值
value Array · 结果 items[index] = value;索引必须已存在;返回新数组,不修改源数组。
展开嵌套数组
core.array.flatten
items Array · 数组 value Array · 结果 SelectMany;只展开一层,非数组项与 null 原样保留;返回新数组,不修改源数组。
组合数组
core.array.pack
first Any · 第一项
second Any · 第二项
third Any · 第三项
count Number · 项数
value Array · 结果 将通过连线输入的 first、second、third 组成数组;count 选择 1~3 项,包含 null;返回新数组,不修改源数组。

文本操作(23)

节点与能力 ID 输入 输出 用途
按行拆分文本
core.text.lines
value String · 原文
removeEmpty Boolean · 移除空行
value Array · 结果 ReadLine / Split;同时识别 CRLF、LF、CR,默认保留空行。
插入文本
core.text.insert
value String · 原文
index Number · 插入位置
text String · 插入内容
value String · 结果 string.Insert;index 按完整 Unicode 字符计数,从 0 开始,可在末尾插入。
查找文本位置
core.text.indexOf
value String · 原文
text String · 查找文本
ignoreCase Boolean · 忽略大小写
fromEnd Boolean · 从后查找
index Number · 位置(UTF-16)
found Boolean · 是否找到
IndexOf / LastIndexOf;输出从 0 开始的 UTF-16 索引,未找到为 -1。与截取文本的 utf16 单位联用。
拆分文本
core.text.split
value String · 原文
separator String · 分隔符
removeEmpty Boolean · 移除空项
trimEntries Boolean · 去除各项两侧空白
value Array · 结果 string.Split;按完整分隔符拆分,默认保留空项。分隔符留空时按完整 Unicode 字符拆分(不拆开组合表情)。
格式化文本
core.text.format
format String · 格式
arguments Array · 格式参数
value String · 结果 string.Format;只有这个节点显式处理 {0}、{1:F2} 等占位符。arguments 为参数数组;普通文本输入不会插值。
规范化 Unicode 文本
core.text.normalize
value String · 原文
form String · 规范形式
value String · 结果 string.Normalize;仅在明确添加此节点时进行 Unicode 规范化,FormKC 可用于全半角统一。
截取文本
core.text.substring
value String · 原文
start Number · 起始位置
length Number · 长度(-1 到末尾)
unit String · 索引单位
value String · 结果 Substring / Range;start 从 0 开始,length 为 -1 表示取到末尾。默认按完整 Unicode 字符,utf16 模式对应 C# 索引。
连接文本数组
core.text.join
items Array · 数组
separator String · 分隔符
value String · 结果 string.Join;将文本数组按分隔符连接。数组成员必须是文本,其他类型先显式转换。
去除首尾空白
core.text.trim
value String · 原文
mode String · 位置
value String · 结果 Trim / TrimStart / TrimEnd;只在这个节点明确删除首尾空白,不修改内部内容。
删除文本片段
core.text.remove
value String · 原文
start Number · 起始位置
length Number · 长度(-1 到末尾)
value String · 结果 string.Remove;按完整 Unicode 字符删除,length 为 -1 表示删至末尾。
替换文本
core.text.replace
value String · 原文
old String · 查找文本
replacement String · 替换文本
ignoreCase Boolean · 忽略大小写
value String · 结果 string.Replace;仅替换明确给出的文本,查找文本不能为空,可忽略大小写。
填充文本
core.text.pad
value String · 原文
width Number · 总宽度
fill String · 填充字符
side String · 方向
value String · 结果 PadLeft / PadRight;width 为完整 Unicode 字符总宽度,fill 必须是一个完整字符,支持表情。
文本包含
core.text.contains
value String · 原文
text String · 查找文本
ignoreCase Boolean · 忽略大小写
value Boolean · 结果 string.Contains;逐字匹配,返回布尔值,可连到条件分支。
文本结尾判断
core.text.endsWith
value String · 原文
text String · 查找文本
ignoreCase Boolean · 忽略大小写
value Boolean · 结果 string.EndsWith;判断后缀,默认区分大小写。
文本开头判断
core.text.startsWith
value String · 原文
text String · 查找文本
ignoreCase Boolean · 忽略大小写
value Boolean · 结果 string.StartsWith;判断前缀,默认区分大小写。
文本拼接
core.text.concat
left String · 左文本
right String · 右文本
separator String · 分隔符
value String · 结果 string.Concat / +;将左文本、分隔符、右文本顺序拼接。保留全部原文,不插值、不去空白。
文本为空判断
core.text.isEmpty
value String · 原文
includeWhitespace Boolean · 包含纯空白
value Boolean · 结果 IsNullOrEmpty / IsNullOrWhiteSpace;空文本返回 true,可选择把纯空白也视为空。
文本长度
core.text.length
value String · 原文 length Number · 字符数
utf16Length Number · UTF-16 长度
StringInfo.LengthInTextElements / string.Length;length 计算完整 Unicode 字符,utf16Length 对应 C# Length。
正则匹配
core.text.regex.match
value String · 原文
pattern String · 正则表达式
ignoreCase Boolean · 忽略大小写
multiline Boolean · 多行模式
matched Boolean · 匹配成功
value String · 结果
matches Array · 全部匹配
count Number · 数量
Regex.Matches;输出首个匹配、全部匹配(含命名分组、UTF-16 索引)及数量。单次匹配限制 2 秒,防止异常表达式长期占用。
正则替换
core.text.regex.replace
value String · 原文
pattern String · 正则表达式
replacement String · 替换内容
ignoreCase Boolean · 忽略大小写
multiline Boolean · 多行模式
value String · 结果 Regex.Replace;replacement 显式支持 \(1、\) 正则分组。普通消息不会进行这种替换。
重复文本
core.text.repeat
value String · 原文
count Number · 次数
value String · 结果 重复指定次数,count 为非负整数;中文、换行和表情均保留。
转换大小写
core.text.case
value String · 原文
mode String · 方式
value String · 结果 ToUpperInvariant / ToLowerInvariant;使用固定文化规则。
转义正则文本
core.text.regex.escape
value String · 原文 value String · 结果 Regex.Escape;将文本作为正则中的字面值,避免 . + [ 等符号被解释。

目录由 Export-BasicNodeCatalog.ps1 根据验收测试导出的实际运行元数据生成。