条件
“条件”组件是一个强大的逻辑判断工具。它本身不提供复杂的图形化条件选项,而是通过执行一段简单的 JavaScript 函数来返回一个结果:true(真)
或 false(假)
。
- 如果函数返回
true
: 会执行条件组件中的子节点。 - 如果函数返回
false
:不会执行条件组件中子节点。
如何读取变量
如果您需要获取 PRA 工作流中已存在的变量的值,请使用以下格式: jtc.var.get({{@var.变量名}})
// 假设有一个名为“状态”的变量
async function(){
const status = await jtc.var.get('{{@var.状态}}');
return status == '成功';
}
如何进行逻辑判断
“条件”组件就是通过您编写的 JavaScript 函数来返回 true
或 false
。以下是一些常见的判断示例,帮助您理解如何编写函数:
-
等于 (==): 判断两个值是否相等。
场景: 判断变量“状态”是否等于“成功”。
// 假设有一个名为“状态”的变量
var status = await jtc.var.get("{{@var.状态}}");
return status == "成功"; -
不等于 (!=): 判断两个值是否不相等。
场景: 判断变量“错误信息”是否不为空。
// 假设有一个名为“错误信息”的变量
var errorMessage = await jtc.var.get("{{@var.错误信息}}");
return errorMessage != null && errorMessage != ""; // 判断不为空字符串且不是null -
大于 (>) / 小于 (<): 判断数值大小。
场景: 判断变量“商品数量”是否大于 0。
// 假设有一个名为“商品数量”的变量
var num = await jtc.var.get("{{@var.商品数量}}");
var quantity = parseInt(num); // 将变量值转换为数字
return quantity > 0;场景: 判断变量“余额”是否小于 100。
// 假设有一个名为“余额”的变量
var money = await jtc.var.get("{{@var.余额}}");
var balance = parseFloat(money); // 将变量值转换为小数
return balance < 100; -
包含 (
.includes()
for string): 判断一个字符串是否包含另一个字符串。场景: 判断变量“网页内容”是否包含“已售罄”字样。
// 假设有一个名为“网页内容”的变量
var pageContent = await jtc.var.get("{{@var.网页内容}}");
return pageContent.includes("已售罄"); -
逻辑非 (!): 对一个判断结果取反。
场景: 判断变量“是否选中”为假。
// 假设有一个名为“是否选中”的变量,它的值可能是 true 或 false
var isSelected = await jtc.var.get("{{@var.是否选中}}");
return !isSelected; // 如果isSeleted是true,返回false;如果是false,返回true -
逻辑或 (||): 只要多个条件中有一个为真,结果就为真。
场景: 判断变量“登录状态”是“已登录”或“记住我”。
// 假设有一个名为“登录状态”的变量
var loginStatus = await jtc.var.get("{{@var.登录状态}}");
return loginStatus == "已登录" || loginStatus == "记住我"; -
逻辑且 (&&): 多个条件都为真时,结果才为真。
场景: 判断变量“用户年龄”大于 18 且“用户国籍”是“中国”。
// 假设有两个变量:“用户年龄”和“用户国籍”
var num = await jtc.var.get("{{@var.用户年龄}}");
var age = parseInt(num);
var nationality = await jtc.var.get("{{@var.用户国籍}}");
return age > 18 && nationality == "中国";