JavaScript 代码 javascript-code
JavaScript代码 活动是 数据管理 活动。 使用此活动可在工作流的上下文中执行JavaScript脚本。 这允许您从数据库收集信息或执行其他复杂操作。
配置JavaScript代码活动 javascript-code-configuration
按照以下步骤配置 JavaScript代码 活动:
-
将 JavaScript代码 活动添加到您的工作流中。
-
选择要创建的活动类型:
- Simple:执行一个代码段。
- 高级:此选项允许您通过执行两个不同的代码片段来执行更高级的操作。 了解如何配置高级JavaScript活动
note note NOTE 通过Campaign Web用户界面,我们通过合并 简单 和 高级 JavaScript代码功能,将两个活动合并为一个。 此合并不会以任何方式影响该活动的功能。 -
确认,然后单击 编辑代码 按钮以打开表达式编辑器。 左侧窗格提供了预定义的语法,您可以利用它来构建代码,包括事件变量。 了解如何使用事件变量和表达式编辑器
-
在 执行 部分中,将延迟配置为在执行一段时间后停止活动。 默认情况下,执行阶段不能超过 1 小时。延迟之后,该进程将会中止并会显示错误消息,并且活动执行会失败。若要忽略此限制,请将该值设置为 0。
-
切换 流程错误 选项,将执行脚本期间发生的错误保留在额外的输出过渡中。
高级JavaScript代码活动 advanced
利用高级JavaScript活动,可执行复杂的操作。 它允许您:
- 执行两个不同的代码段。 在第一次启动工作流时执行第一个代码片段。 每次再次运行工作流时,都会执行第二次调用中定义的代码片段。
- 添加多个可使用脚本动态交互的输出过渡。
要配置高级JavaScript代码活动,请执行以下步骤:
-
选择 高级 类型,然后配置要执行的代码段:
- 单击 编辑首次调用代码 以定义要在首次调用期间执行的脚本。
- 单击 编辑下一个调用代码 以定义要在工作流下次调用期间执行的脚本。 (可选)
-
要添加一个或多个输出过渡,请点击 添加过渡 按钮,并为每个过渡指定一个标签和内部名称。
在此示例中,我们配置了两个由脚本根据特定条件在代码片段中激活的过渡。
-
完成活动的配置并启动工作流。
示例 javascript-code-example
根据传入群体初始化变量 example1
此示例说明如何根据工作流定向的用户档案数初始化变量。
在本例中,我们定位的是数据库中的VIP用户档案。 我们希望创建一个名为“channel”的变量,该变量的值取决于构建受众活动定向的用户档案数:
- 如果目标用户档案超过1000个,则使用值“email”初始化变量。
- 否则,使用值“sms”初始化它。
为此,请执行以下步骤:
-
在 生成受众 活动之后添加类型为 Simple 的 JavaScript代码 活动。
-
单击 编辑代码 并配置代码段,如下所示:
code language-none if (vars.recCount > 1000) vars.channel ="email" else vars.channel = "sms"
-
启动工作流。 根据 构建受众 活动定向的用户档案数,将使用“email”或“sms”值创建“channel”变量。
根据变量的值触发过渡 example2
此示例说明如何根据变量的值触发过渡。
在此处,工作流以 外部信号 活动开始,变量(interest
)从另一个工作流传递到此活动中。 变量的值为“正在运行”或“瑜伽”,具体取决于在初始工作流中执行的筛选操作。
我们希望根据变量的值,在工作流中触发不同的过渡。
为此,请执行以下步骤:
-
在类型为 高级 的外部信号活动之后添加 JavaScript代码 活动。
-
添加两个过渡:每个可能的变量值(“正在运行”、“瑜伽”)各一个。
-
单击 编辑第一个调用代码 并配置代码段,如下所示:
code language-none if (vars.interest=="running") task.postEvent(task.transitionByName("running")); else task.postEvent(task.transitionByName("yoga"));
-
根据需要完成每个过渡的配置,然后启动工作流。 已根据通过 外部信号 活动传递的
interest
变量的值激活两个输出转换之一。