Skip to main content

条件

“条件”组件是一个强大的逻辑判断工具。它本身不提供复杂的图形化条件选项,而是通过执行一段简单的 JavaScript 函数来返回一个结果:true(真)false(假)

  • 如果函数返回 true会执行条件组件中的子节点
  • 如果函数返回 false不会执行条件组件中子节点

条件

如何读取变量

如果您需要获取 PRA 工作流中已存在的变量的值,请使用以下格式: jtc.var.get({{@var.变量名}})

// 假设有一个名为“状态”的变量
async function(){
const status = await jtc.var.get('{{@var.状态}}');
return status == '成功';
}

如何进行逻辑判断

“条件”组件就是通过您编写的 JavaScript 函数来返回 truefalse。以下是一些常见的判断示例,帮助您理解如何编写函数:

  1. 等于 (==): 判断两个值是否相等。

    场景: 判断变量“状态”是否等于“成功”。

    // 假设有一个名为“状态”的变量
    var status = await jtc.var.get("{{@var.状态}}");
    return status == "成功";
  2. 不等于 (!=): 判断两个值是否不相等。

    场景: 判断变量“错误信息”是否不为空。

    // 假设有一个名为“错误信息”的变量
    var errorMessage = await jtc.var.get("{{@var.错误信息}}");
    return errorMessage != null && errorMessage != ""; // 判断不为空字符串且不是null
  3. 大于 (>) / 小于 (<): 判断数值大小。

    场景: 判断变量“商品数量”是否大于 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;
  4. 包含 (.includes() for string): 判断一个字符串是否包含另一个字符串。

    场景: 判断变量“网页内容”是否包含“已售罄”字样。

    // 假设有一个名为“网页内容”的变量
    var pageContent = await jtc.var.get("{{@var.网页内容}}");
    return pageContent.includes("已售罄");
  5. 逻辑非 (!): 对一个判断结果取反。

    场景: 判断变量“是否选中”为假。

    // 假设有一个名为“是否选中”的变量,它的值可能是 true 或 false
    var isSelected = await jtc.var.get("{{@var.是否选中}}");
    return !isSelected; // 如果isSeleted是true,返回false;如果是false,返回true
  6. 逻辑或 (||): 只要多个条件中有一个为真,结果就为真。

    场景: 判断变量“登录状态”是“已登录”或“记住我”。

    // 假设有一个名为“登录状态”的变量
    var loginStatus = await jtc.var.get("{{@var.登录状态}}");
    return loginStatus == "已登录" || loginStatus == "记住我";
  7. 逻辑且 (&&): 多个条件都为真时,结果才为真。

    场景: 判断变量“用户年龄”大于 18 且“用户国籍”是“中国”。

    // 假设有两个变量:“用户年龄”和“用户国籍”
    var num = await jtc.var.get("{{@var.用户年龄}}");
    var age = parseInt(num);
    var nationality = await jtc.var.get("{{@var.用户国籍}}");
    return age > 18 && nationality == "中国";