华为云用户手册

  • 操作步骤 登录低代码开发平台。 在左侧导航栏中,选择“逻辑”。 单击编排后的,进入添加服务编排页面。 按照下图,创建服务编排GetResourveListFlow,单击“添加”。 图1 创建服务编排 创建该服务编排的入参和出参变量。 由于该服务编排封装的是“ResourceListScript”脚本,所以该服务编排的入参和出参的字段类型和字段名与“ResourceListScript”脚本保持一致。 表5 服务编排变量 变量类型 参数名 Data Type Input/Output Type 普通变量Variable ownerId text Input Only limit number Input Only offset number Input Only totalCount number Output Only 结构体变量Struct resource struct Output Only 在服务编排设计页面右侧,选择,在私有结构体页面单击“新增”。 创建输出参数结构体类型变量“resource”前,首先需要创建私有结构体类型。 图2 添加私有结构体类型 设置页面参数。 在“基本信息”中,输入结构体名字、描述信息。 在“结构体成员”中,设置自定义成员变量,包括设置成员变量的名称、数据类型、是否必填、是否是集合、描述信息等。单击“新增”,可增加成员变量。成员变量需要和“ResourceListScript”脚本中定义的出参“resource”成员变量(参见表4)保持一致。 创建私有结构体后,即可创建私有结构体变量。 图3 配置私有结构体 在服务编排设计页面右侧,选择,在全局上下文页面,单击“对象变量”后的。 图4 新建对象变量 选择“私有结构体”,设置页面参数。 图5 配置私有结构体变量 表6 私有结构体变量参数说明 参数 参数说明 名称 结构体的变量名称,与“ResourceListScript”脚本中定义的出参命名保持一致。 本示例设置为resource。 私有结构体 结构体变量类型。 本示例选择刚创建的结构体类型名称“resourcestruct”。 默认值 变量的默认取值。 本示例不用配置。 描述 变量的描述说明,建议设置为该变量的作用。 是否为数组 是否为数组型变量,即集合变量。 本示例请勾选。 在服务编排设计页面右侧,选择,在全局上下文页面,单击“变量”后的。 单击新增变量后的“...”,选择“设置”。 图6 设置变量 配置普通变量“ownerId”。 图7 配置变量 表7 普通变量参数说明 参数 参数说明 名称 新建变量的名称。 本示例设置为ownerId。 数据类型 变量的数据类型。 默认值 变量的默认取值。 本示例不用配置。 描述 新增变量的描述说明,建议设置为变量的作用。 是否为数组 是否为数组型变量即集合变量。 本示例不用勾选。 参考上述操作,创建表5中其他普通变量。 在服务编排设计页面右侧,选择,按照表5从全局上下文页面中拖拽参数到相应的入参和出参区域,设置服务编排的入参和出参。 图8 设置服务编排的入参和出参 拖拽“基本”下的“脚本”图元至画布中。 单击,如图9所示,设置页面参数。 将服务编排中的变量赋值给脚本中的输入参数,脚本中的输出参数赋值给服务编排中的变量。 图9 配置脚本 表8 脚本配置参数说明 参数 参数说明 脚本 调用的脚本名称,选择“命名空间_ResourceListScript”。 只有在启用状态下同一应用工程内的脚本,才能被服务编排调用。 输入参数/目标 脚本的输入参数名称,直接在下拉框中选择。 输入参数/源 服务编排中的变量,为目标赋值。 请从“全局上下文”中,拖拽之前创建的服务编排输入变量。 输出参数/源 脚本的输出参数名称,直接在下拉框中选择。 输出参数/目标 服务编排中的变量,脚本中的输出参数赋值给服务编排中的变量,请从“全局上下文”中拖拽之前创建的服务编排输出变量。 若有多个输入参数或输出参数,请单击“新增行”,进行添加。 连接所有元素。 单击页面上方的,保存服务编排。
  • 前提条件 已创建名为“Approved Resource”的Object,用于存储资源数据,该对象中需要包含如下字段。 表2 Approved Resource对象说明 字段标签 字段名称(系统自动生成) 字段类型 取值 读写权限 是否加入界面布局 含义 ownerId ownerId__CST 文本 长度:255 全选 不勾选 资源拥有者ID ResourceName ResourceName__CST 文本 长度:255 全选 不勾选 资源名称 Type Type__CST 选项列表 枚举值如下: File Folder 全选 不勾选 资源类型 SubmitDate SubmitDate__CST 日期/时间 不涉及 全选 不勾选 资源提交时间 ApproveDate ApproveDate__CST 日期/时间 不涉及 全选 不勾选 资源审批时间 Status Status__CST 选项列表 枚举值如下: Waiting Submitted Approved 全选 不勾选 审批状态 已创建场景描述中的脚本。该脚本根据对象的数据生成资源列表数据,用于前台数据呈现。示例脚本为“ResourceListScript.zip”,单击下载链接可获取该脚本包。该脚本中定义的入参和出参说明,如表3和表4所示。 表3 入参说明 参数 参数类型 说明 ownerId string 资源拥有者ID。 limit number 每页展示的资源条数。 offset number 每页展示第一条资源的偏移量,即从offset+1条资源开始展示。 表4 出参说明 参数 参数类型 说明 resource struct 返回资源数组集合。 approveDate:审批时间,若该记录已审批则返回审批时间。 ownerId:资源拥有者ID。 resourceName:资源名称。 status:资源状态。 Waiting:记录未提交。 Submitted:记录已提交未审批。 Approved:记录已审批。 submitDate:资源提交时间。 type:资源类型。 totalCount number 资源总数(固定100)。
  • 标准库模块 低代码平台中有些模块会被编译成二进制,预先加载到内存中。例如,decimal、context都是系统预置的标准库模块。 在低代码平台中,会优先加载标准库模块, 例如: import * as http from 'http'; 始终返回内置的HTTP模块,即使有同名自定义模块。如果需要返回自定义的模块,请使用相对路径语法: import * as http from './http';
  • 扩展名 因为脚本实际上是存在数据库中的,所以脚本没有路径的概念,扩展名也没有特别的意义。 导入模块时,尽量采用不带扩展的方式。 import * as circle from './circle'; 平台只允许“.ts”扩展名文件存在,不允许包含“.js”后缀的模块,请尽量不要使用待扩展名的导入方式。如下方式等同上面的举例,但不推荐。 import * as circle from './circle.ts';
  • 循环依赖 当循环调用模块时,一个模块可能在未完成执行时被返回。因此,需要仔细的规划模块间调用,以允许循环模块依赖在应用程序内正常工作。 例如,脚本a: console.log('a 开始');exports.done = false;import * as b from 'b';console.log('在 a 中,b.done = ', b.done);exports.done = true;console.log('a 结束'); 脚本b: console.log('b 开始');exports.done = false;import * as a from 'a';console.log('在 b 中,a.done = ', a.done);exports.done = true;console.log('b 结束'); 脚本main: console.log('main 开始');import * as a from 'a';import * as b from 'b';console.log('在 main 中,a.done = ', a.done ',b.done = ', b.done); 当main加载a时,a又加载b。 此时,b又会尝试去加载a。 为了防止无限的循环,会返回一个a的exports对象的未完成的副本给b模块。然后b完成加载,并将exports对象提供给a模块。当main加载这两个模块时,它们都已完成加载,因此该程序的输出会是: main 开始a 开始b 开始在 b 中,a.done = falseb 结束在 a 中,b.done = truea 结束在 main 中,a.done=true,b.done=true
  • 场景说明 根据对象的数据生成资源列表数据,用于前台数据呈现,启用本脚本后,可实现数据导入模板使用。 创建脚本前,需要先创建脚本中操作的对象ApprovedResource,其字段如表1所示。 表1 对象说明 字段标签 字段名称 字段类型 取值 读写权限 含义 ownerId ownerId 文本 长度:255 全选 资源拥有者ID ResourceName ResourceName 文本 长度:255 全选 资源名称 Type Type 选项列表 枚举值如下: File Folder 全选 资源类型 SubmitDate SubmitDate 日期/时间 不涉及 全选 资源提交时间 ApproveDate ApproveDate 日期/时间 不涉及 全选 资源审批时间 Status Status 选项列表 枚举值如下: Waiting Submitted Approved 全选 审批状态
  • 创建空白脚本 登录新版应用设计器。 在左侧导航栏中,选择“逻辑”。 单击脚本后的,进入新增脚本页面。 选择“创建一个新脚本”,设置脚本名称(如httpTest),单击“添加”,进入脚本编辑器页面。 图1 新增脚本 在脚本编辑器中,将以下脚本代码粘贴到代码编辑区。 import * as http from 'http' // 导入http库let client = http.newClient() // 实例化let resp = client.get("https://www.huawei.com/")// 请求网址console.log(resp.headers) // 打印返回headers 单击页面上方的,保存脚本。 运行测试脚本。 单击编辑器上方的,执行脚本。 在页面底部单击测试窗口右上角的,返回消息头信息。 { Age: [ '10309' ], Cache-Control: [ 'no-store' ], Content-Type: [ 'text/html; charset=utf-8' ], Date: [ 'Thu, 01 Dec 2022 03:41:39 GMT' ], Expires: [ 'Wed, 30 Nov 2022 22:01:57 GMT' ], Pragma: [ 'no-cache' ], Processtime: [ '0.049' ], Server: [ 'PAAS-WEB' ], Set-Cookie: [ 'HMF_CI=596020aa4dbe4b6***42343ba04a; Expires=Sat, 31-Dec-22 03:41:39 GMT; Path=/' ], Strict-Transport-Security: [ 'max-age=31536000' ], Ws-S2h-Acc-Level: [ '1' ], X-Content-Type-Options: [ 'nosniff' ], X-Download-Options: [ 'noopen' ], X-Frame-Options: [ 'SAMEORIGIN' ], X-Powered-By: [ 'ASP.NET' ], X-Via: [ '1.1 PSjsczsxga60:2 (Cdn Cache Server V2.0), 1.1 uzhoudianxin101:13 (Cdn Cache Server V2.0), 1.1 wdx18:10 (Cdn Cache Server V2.0)' ], X-Ws-Request-Id: [ '63882273_wdx18_41265-37840' ], X-Xss-Protection: [ '1; mode=block' ] } 以上步骤已完成了一个简单脚本的编写,如果后续其他脚本、服务编排、编译打包等需要继续使用该脚本,则必须单击页面上方的,启用该脚本。如果未启用,其他组件无法查询到该脚本,查询时会报错该脚本不存在或未启用。 后续在新版本功能中如果需要更新该脚本,可单击编辑器上方的,选择“新建版本”,在新建的版本中更改脚本并保存、测试及启用。单击编辑器上方的,选择对比版本,可将当前版本与历史版本进行比对。
  • 使用说明 在如下两个场景,您可以基于已有脚本,创建新脚本: 场景1:在已有脚本基础上新建版本。 因业务需要,脚本要实现的能力变化,此时您可以基于原有脚本修改,并保存为脚本的新版本。在此场景下,原有脚本作为老版本自动失效。 场景2:在已有脚本基础上新建脚本。 需要开发的新脚本与已有的某个脚本类似,此时您可以基于原有脚本修改,再保存为新的脚本名称。在此场景下,原有脚本仍然有效。新脚本和老脚本也没有关联关系,各自独立。
  • 运行服务编排 在服务编排设计器中,单击页面上方的,保存服务编排。 保存后,系统会对服务编排进行编译。如果有报错或者警告,请单击“确定”,在服务编排编辑器页面修改服务编排。修改后再次保存,直至无报错和警告。 保存成功后,单击页面上方的,运行服务编排。 在弹出的输入参数页面进行配置,单击“运行”。 如果有输入参数,请输入参数后,再单击“运行”。如果该服务编排没有输入参数,可直接单击“运行”。 表1 基本信息参数说明 参数 参数说明 请求头参数 请求消息头的参数配置,“键”为参数名,“值”为参数取值。 单击“请求头参数”前的,会显示映射区域“键”和“值”。若需要多个请求头参数,请单击“添加行”。 responseType('arraybuffer') 表示返回响应的类型。勾选时,表示返回响应是一个包含二进制数据的JavaScript ArrayBuffer。 输入参数 填写该服务编排运行实例的输入参数及取值。 检查输出页签的调试结果是否符合预期。 表2 输出页签 调试结果 取值 查看日志 单击该按钮,可弹出“日志跟踪器”,显示该服务编排实例的运行日志。 结果 调试结果。 成功 '参数名'的值'%!v(BADINDEX)'无效或格式非法 输出 该服务编排的输出内容,检查输出是否和预期一致。 若输出结果符合预期,单击服务编排设计器页面上方的,启用服务编排。 若发现输出结果不符合预期,单击服务编排设计器页面右上方的“跟踪”,打开“跟踪器”页面,查看详细信息。 在“跟踪器”页面,查看服务编排执行的每一步的详细信息。检查哪一步的输出不符合预期,并按照调试服务编排进行调试。 图2 日志跟踪器
  • 调试服务编排 在服务编排设计器中,选中需要设置断点的图元,单击鼠标右键选择“设置断点”。 设置断点后,选中图元,单击鼠标右键选择“禁用断点”或者“移除断点”,可禁用或移除断点。 目前不支持在等待Wait图元,以及等待图元之后的所有图元,设置断点。 图3 设置断点 单击服务编排设计器上方的,开始调试服务编排。 在弹出的输入参数页面进行配置,单击“运行”。 在服务编排设计器左侧,会显示调试页面。 单击,可执行到下一断点,单击,可停止调试,查看执行到某一断点的参数变化是否符合预期。 图4 调试页面 左侧调试页面参数说明: 变量:展示执行到当前断点,服务编排中的变量取值情况,包括全局变量、某图元的输入输出变量等。 调用堆栈:执行到当前断点时,出现的调用堆栈。 正在调试:正在调试的服务编排名。当执行到子服务编排时,该处显示当前子服务编排名。 断点:展示设置的所有断点,选中某一断点,单击鼠标右键可出现“移除断点”、“移除所有断点”、“启用所有断点”或“禁用所有断点”。也可以单击该区域某一断点,进行启用或禁用该断点。 单击服务编排设计器页面右上方的“跟踪”,打开“跟踪器”页面。 在弹出的页面,可查看服务编排执行的每一步的详细信息。 图5 查看详情信息 关闭跟踪器页签,单击,至执行完最后一个断点,调试结束。 重新设计问题图元及前后逻辑,再次运行服务编排,直至结果符合预期。 单击服务编排设计器页面上方的,启用服务编排。 调试服务编排符合预期后,需要启用服务编排。启用后,服务编排才能在系统中使用。
  • 操作步骤 登录新版应用设计器。 在左侧导航栏中,选择“集成”。 在开放接口后,单击,进入新建开放接口页面。 设置开放接口参数。 图1 开放接口配置页面 表1 新建开放接口参数说明 参数 参数说明 标签 新建接口的标签。 操作名称 新建接口的操作名称。 版本 URL对应的版本号。 URL 新URL地址,其中“/service”为固定值,其次是“/App名称/版本号”,剩下部分进行自定义。 自定义的URL需要符合一定规则,规则如下: 必须以单个“/”开头。 可以配置多级路径,两个或者多个“/”之间必须有内容。 内容类型 请求中的body类型。 application/json multipart/form-data binary-data “multipart/form-data”和“binary-data”用于文件上传接口,选择该内容类型,只能调用POST类型的脚本。 分类 新建接口所属的分类。 描述 新建接口的描述信息,建议设置为API的作用。 允许匿名访问 是否可匿名访问运行环境中,该API接口。 勾选表示允许匿名访问,通过运行环境子域名访问此接口时,如果无有效的Token认证信息,则以匿名用户身份继续访问此接口,且不需要做CSRF校验。匿名用户的权限为“Anonymous User Profile”,请确保该权限具备访问该接口的业务权限凭证或者相关资源权限。如当该接口有配置业务权限凭证时,给“Anonymous User Profile”权限添加相应业务权限凭证,即可通过运行环境子域名匿名访问该接口。 说明如下: 需要支持匿名访问自定义接口的帐号,必须要设置运行环境子域名。 带有合法认证信息来访问允许匿名访问的自定义接口时,优先以合法认证的身份权限来访问。 匿名用户身份访问自定义接口,不需要做CSRF校验。 不论以什么方式来访问, 认证身份后做的权限校验保持一致。如果配置了业务权限凭证,还会查看用户权限,是否配置了相应的业务权限凭证。 例如:登录业务应用接口“login”的URL为“/service/trq1__MyApp/1.0.0/login”,运行环境子域名为“test.XXX.com”,期望可匿名访问该自定义接口,则配置接口时请勾选“允许匿名访问”,且“Anonymous User Profile”权限配置了该接口的业务权限凭证,则匿名用户通过“https://test.XXX.com/service/trq1__MyApp/1.0.0/login”,即可访问该接口。 类型 系统支持以下三种类型。 服务编排:表示该定义URL调用的接口类型是服务编排。 脚本:表示该定义URL调用的接口类型是脚本。 对象:表示该定义URL是操作对象数据,包括对象数据的增删改查。 本示例选择服务编排。 自定义响应 是否需要格式化,调用该URL后返回的响应消息。如果勾选,表示对响应消息进行格式化,删除resCode、resMsg、result外层信息,只透传返回的消息。 例如,不勾选“自定义响应”,返回如下响应消息: { "resCode": "0", "resMsg": "成功", "result": [ { "equipments": [ { "createdBy": "aaa", "createdBy.__objectType": "User" }, { "createdBy": "aaa", "createdBy.__objectType": "User" } ], "total": "2" } ]} 勾选“自定义响应”后,只返回如下响应消息: { "equipments": [ { "createdBy": "aaa", "createdBy.__objectType": "User" }, { "createdBy": "aaa", "createdBy.__objectType": "User" } ], "total": "2"} 资源 调用的服务编排、脚本或操作的对象名称。 对象操作 请选择具体的操作。当“类型”选择为“对象”时,该参数才会显示。 Insert Record:新增对象数据。 Update or Insert Record:更新或者新增对象数据。 Update By ID:按记录ID更新对象数据。 Delete By ID:按记录ID删除对象数据。 Query By ID:按记录ID查询对象数据。 Update By Condition:按条件更新对象数据。 Delete By Condition:按条件删除对象数据。 Query By Condition:按条件查询对象数据。 方法 映射后调用的方法名,如GET(查询)、PUT(增加)、POST(修改)和DELETE(删除)。 输入参数/输出参数 展示服务编排的入参、出参,同时支持修改未受保护资源的参数描述。由于开发人员在开发服务编排过程中,可能未设置或未精确添加参数的描述信息,导出自定义接口的yaml描述文档时对参数的描述就会缺失或模糊。在开放接口二次封装服务编排时,可对参数描述进行编辑补充。 当“类型”选择为“服务编排”时,该参数才会显示。 设置完成后,单击“保存”。 保存后,进入接口详情页。在接口详情页的“基本信息”区域,勾选“是否已废弃”后,可配置是否推荐使用该接口。若不推荐使用,勾选“是否已废弃”,勾选后,在后续使用到该接口时,会显示该接口“已废弃”的提示,但接口仍可被调用。 接口创建完成后,支持在线进行测试。 在新版应用开发设计器左侧的导航栏中,选择“集成”。 在开放接口中,单击对应接口后的,选择“查看”,进入接口预览页面。 在接口预览页面,单击URL后的。 单击“测试一下”,如果有输入参数,设置输入参数后,单击“执行”。 返回成功响应,表示接口调用成功 。
  • 是否可以多人编辑服务编排 当多人编辑已有服务编排时,为防止多人篡改,低代码平台提供了一套保护机制。假设,A用户打开X服务编排,编辑前单击锁定服务编排,A用户进行编辑,此时B用户也打开X服务编排,B用户的服务编排编辑器将自动进入锁定模式。 保持A用户对X流程的编辑设计权限。A用户编辑完成后,需要单击进行解锁或者单击启用按钮进行自动解锁。 当A用户锁定X流程后,系统会只读模式锁定B用户对X流程的操作,B用户的服务编排编辑器页面会有提示“该资源已经由A用户锁定,点击此处强制获得编辑权”。B用户如果按照提示强制获得编辑权,A用户的X流程编辑器画面会自动锁定。 当多人编辑已有工作流、触发器、标准页面或状态机时,低代码提供的保护机制是相同的,后续不再分别介绍。 父主题: 服务编排
  • 基于预留扩展点进行定制 此处以“createOrder”接口为例进行介绍,基线“createOrder”接口中预留了一个扩展点。 这个扩展点是一个空的子服务编排“AfterSaveOrder”,将这个子服务编排另存一个定制版本“AfterSaveOrder_0419”,实现新的业务逻辑。子服务编排另存为定制版本的操作方法,请参见另存版本后进行定制。 在此方式下,定制内容在基线接口预留节点中,该接口还是属于基线接口,可以随版本升级使用。 图2 定制示例
  • 添加目录 登录新版应用设计器。 在左侧导航栏中,选择“逻辑”。 在右侧的编排中,可查看该应用拥有或依赖的所有服务编排。 图1 查看服务编排 单击编排后的,进入添加目录页面。 设置目录名称,单击“保存”。 目录创建后,您可以执行如下操作。 单击目录后的,可新建服务编排。 单击目录后的,可新建子目录。目录创建后,可直接拖拽服务编排到目录中。 单击后,选择“编辑”,可修改目录名称。 单击后,选择“移动”,可移动页面、数据、逻辑、流程等到其他应用。 单击后,选择“删除”,可删除目录。删除目录前,请确保当前目录为空。
  • 另存版本后进行定制 此处以基于服务编排“testFlow”的基线“1.0.1”版本另存一个“1.0.2”的定制版本为例,进行说明。 单击已创建好的服务编排“testFlow”,进入该服务编排设计页面。 单击页面上方的,禁用该服务编排。 单击页面上方的,进入另存为页面。 “类型”选择“新版本”,设置服务编排标签,单击“保存”。 保存后,系统默认进入“1.0.2”的新版本服务编排设计页面。 图1 另存为新版本 标签:服务编排的标签,用于在页面展示。 名称:服务编排的名称,和基线版本的服务编排名称保持一致。 类型:另存为的类型。 新版本:另存为新版本,适用于新建的服务编排,基础服务编排仍可使用。 新服务编排:是将原服务编排重新另存并命名,新保存后为另一服务编排,与选择“新版本”场景不同,适用于新建的服务编排,基础服务编排仍可使用。 服务编排类型:服务编排的类型,在创建基础服务编排时配置的类型,不可更改。 Autolaunched Flow:自启动服务编排,在接口调用后会立即执行服务编排模型定义的逻辑。 Event Trigger:事件触发的服务编排,在事件触发时才会开始执行服务编排模型定义的逻辑。 展示标签:服务编排实例的展示标签,系统自动填充为“标签值{!$Flow.CurrentDateTime}”。 描述:服务编排的描述信息。 在“1.0.2”版本服务编排设计页面,按需进行定制。 单击页面上方的,保存服务编排。 保存成功后,单击,运行服务编排,检查服务编排运行结果是否符合预期。 单击页面上方的,启用新版本服务编排。 在此方式下,当基线版本升级时,系统默认启用和使用服务编排的定制版本。升级造成的基线服务编排原有图元变化,定制服务编排可继承。升级造成的基线服务编排新增图元,定制服务编排无法继承。
  • Native服务图元参数配置 在Native服务中,拖拽所需的Native服务图元至画布中。 选中Native服务图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为原生服务名+序号。序号从“0”开始,表示同类型图元序号。 名称 图元的标识,请确保在当前服务编排中唯一。 描述 图元的描述信息。 单击,在“Native服务”页面进行配置。 图1 配置Native服务图元 表2 Native服务图元配置参数说明 参数 参数说明 操作方法 原生服务中已自定义好的API接口。 入参/目标 当选择具体操作方法(API)后,API的输入参数将会显示在入参的目标列。 入参/源 服务编排中的变量,需要和目标的参数类型保持一致。该源会将服务编排中的变量,赋值给调用API的输入参数。 出参/源 当选择具体操作方法(API)后,API的输入参数将会显示在出参的源列。 出参/目标 服务编排中的变量,需要和输出参数的类型保持一致。将API中的输出参数赋值给服务编排中的变量,供服务编排中使用。
  • 决策图元参数配置 在逻辑中,拖拽“决策”图元至画布中。 选中决策图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为Decision序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 单击,在“决策”页面进行配置。 图1 配置决策图元 表2 决策图元配置参数说明 参数 参数说明 可编辑的结果 所有的判断条件。 可通过单击“新增”,新增判断条件分支,界面右侧区域配置分支条件。 默认:默认输出,当其他所有条件均不满足情况下,进入该分支。 可视 当选择“可视”时,可配置分支的判断条件。单击“新增”,可新增判断条件,条件显示为“资源”、“比较符”、“值”。 资源:从全局上下文拖拽变量或者直接输入“{!变量名}”。 比较符:从下拉框中选择。 值:从全局上下文拖拽变量或者直接输入“{!变量名}”,也可以是常量。 公式 可采用公式设置该分支条件。 公式中的变量,可从全局上下文拖拽变量或者直接输入变量。 选择连接条件 当选择“可视”并设置多条判断条件时,需要设置选择连接条件“或”或者“且”。 或:表示满足多条判断条件的其中一条,便可进入该分支。 且:表示必须同时满足多条判断条件,才可进入该分支。
  • 跳出循环图元参数配置 在逻辑中,拖拽“跳出循环”图元至画布中。 选中跳出循环图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为Break序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 单击,在“跳出循环”页面的“循环”下拉框中,选择当前服务编排中需要中断的循环。 图1 配置跳出循环图元
  • 等待图元参数配置 在逻辑中,拖拽“等待”图元至画布中。 选中等待图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为Wait序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 单击,在“等待”页面进行配置。 图1 Wait配置及Pass分支条件配置 图2 Unpass分支条件配置 图3 Timeout分支条件配置 表2 条件分支配置参数说明 参数 参数说明 可编辑的事件 所有的判断条件。 可通过单击“新增”,来增加判断条件分支。 默认:默认输出,当其他所有条件均不满足情况下,进入该分支。 例如,新增如下三个判断条件: Pass:应聘者被录用。应聘通过时,Boolean类型参数“result”赋值为全局常量“{!$GlobalConstant.True}”,表示结果为真,即应聘通过。 Unpass:应聘者没有被录用。应聘失败时,Boolean类型参数“result”赋值为全局常量“{!$GlobalConstant.False}”,表示结果为假,即应聘拒绝。 Timeout:超时事件。基于该服务编排执行时间,超时30分钟未返回是否录用。 事件/时间 当订阅的是自定义事件时,需要选择“事件”。 当订阅的是系统预置的标准事件“Absolute Time Alert”,即定时器发送的系统事件时,需要选择“时间”。 本示例中,需要配置如下: Pass:请选择“事件”。 Unpass:请选择“事件”。 Timeout:请选择“时间”。 事件 请选择需要订阅的事件,当订阅的是自定义事件时,该参数才会显示。 事件条件 该分支的条件。单击“新增行”,可进行添加。当订阅的是自定义事件时,该参数才会显示。 分支条件中的字段,为创建该事件时设置的自定义参数,值可从右侧全局上下文中选择拖入。 定义需要满足的其他条件 勾选“定义需要满足的其他条件”后,可根据事件变量外的其他变量设置追加条件。 可视 勾选“定义需要满足的其他条件”后,该参数才会显示。当选择“可视”时,可配置追加条件的判断条件。单击“新增”,可新增判断条件。条件显示为“资源”、“比较符”、“值”。 默认选择“可视”。 公式 勾选“定义需要满足的其他条件”后,该参数才会显示。可采用公式设置追加条件。 选择连接条件 当选择“可视”并设置多条判断条件时,需要设置选择连接条件“或”或者“且”。 或:表示满足多条判断条件的其中一条,便可进入该分支。 且:表示必须同时满足多条判断条件,才可进入该分支。 输出 如果需要在服务编排中,使用事件的参数,将其参数赋值到事件变量中方便服务编排引用。 当订阅的是自定义事件时,该参数才会显示。 默认不需要。 基准 基准时间。当订阅的是系统预置的定时器发送事件时,该参数才会显示。 可从全局上下文拖拽日期/时间类型变量,也可设置为某个具体时间,或者设置为本服务编排执行时间。 例如,在本节中设置为本服务编排执行时间,即{!$Flow.CurrentDateTime}。 偏移时间 偏移时间,例如“30”。当订阅的是系统预置的定时器发送事件时,该参数才会显示。
  • BO图元参数配置 在BO中,拖拽所需的BO图元至画布中。 选中BO图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为BO名序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 单击,在“BO”页面进行配置。 图1 配置BO图元 表2 BO图元配置参数说明 参数 参数说明 服务版本 BO中自定义API的版本号。 API类型 API类型。 操作方法 BO中已自定义好的API接口,该API接口类型必须是“服务编排”,才可在服务编排中调用。 入参/目标 当选择具体操作方法(API)后,API的输入参数将会显示在入参的目标列。 入参/源 服务编排中的变量,需要和目标的参数类型保持一致。该源会将服务编排中的变量,赋值给调用API的输入参数。 出参/源 当选择具体操作方法(API)后,API的输入参数将会显示在出参的源列。 出参/目标 服务编排中的变量,需要和输出参数的类型保持一致。API中的输出参数赋值给服务编排中的变量,供服务编排使用。
  • 循环图元参数配置 例如,当前有数组变量“TestList1”,“TestList2”,要求把“TestList1”中的元素逐个加到数组“TestList2”的后面。 创建数组变量“TestList1”、“TestList2”和普通变量“test_var”。 在服务编排编辑器页面右侧,选择。 在全局上下文页面,单击“变量”后的加号。 单击新增变量后的“...”,选择“设置”。 设置数组变量“TestList1”,数据类型为文本。 图1 数组变量“TestList1” 参考上述步骤设置数组变量“TestList2”和普通变量“test_var”,普通变量不用勾选“是否为数组”。 图2 数组变量“TestList2” 图3 普通变量“test_var” 在逻辑中,拖拽“循环”图元到画布中。 选中循环图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为Loop序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 单击,在“循环”页面进行配置。 图4 配置循环图元 表2 循环图元配置参数说明 参数 参数说明 数组 进行循环的具体数组,可从全局上下文中拖拽或输入集合变量。 本示例从全局上下文拖拽数组变量“TestList1”,表示对数组“TestList1”进行循环。 元素 将每次循环取出来的元素,赋值给该变量,可从全局上下文中拖拽或者输入变量。 本示例请从全局上下文拖拽普通变量“test_var”,表示将每次循环取出来的元素赋值给变量“test_var”。 排序 循环取出的顺序,可选择升序或者降序从数组中依次取出。 进行赋值操作,将“test_var”的值加到数组“TestList2”后面。 在逻辑中,拖拽“赋值”图元到循环图元后。 图5 拖拽赋值图元 单击,设置“标签”和“名称”为“AddToList2”。 如下图所示,设置页面参数,从全局上下文拖拽数组变量“TestList2”到变量中,从全局上下文拖拽普通变量“test_var”到值中。将“test_var”的值加到数组“TestList2”后面。 图6 添加Assignment定义 将循环和赋值连线,在连线类型选择“下一个取值”。 图7 添加连线 清空“test_var”并闭环。 在逻辑中,拖拽“赋值”图元至画布中。 单击,设置“标签”和“名称”为“testvar_Tonull”。 单击,设置页面参数。 从全局上下文拖拽普通变量“test_var”到变量中,从全局上下文拖拽全局常量“$GlobalConstant.Null”到值中。清空“test_var”。 图8 清空test_var页面 在服务编排编辑器页面右侧,选择,按照下图从全局上下文页面中拖拽参数到相应的入参和出参区域,设置服务编排的入参和出参。 按照下图连线,单击页面上方的,保存服务编排。 单击,在“输入参数”中输入参数后,运行服务编排。 在“输入参数”中,输入如下参数: { "TestList1": [ "1", "2", "3" ]} 检查输出页签的结果是否符合预期。 { "interviewId": "002N000000YfbbgBStmq", "outputs": { "TestList2": [ "1", "2", "3" ] }}
  • 如何查多条数据 通过配置记录查询图元,输出对象的多行数据列表。 例如,应用中已创建设备对象“CNAME1__Equipment__CST”,且已有如下两条数据记录,通过在服务编排中配置记录查询图元,查询出该对象数据记录中所有的设备名称。实现步骤如下: 先创建服务编排。 参考如何创建服务编排中操作,创建一个服务编排,名称和标签为“queryEquipment”。 图3 添加服务编排 定义服务编排的变量。 由于本任务需要查询出对象的多行数据列表,所以需要先创建对象类型的数组型变量,用于进行输出。 在服务编排编辑器页面右侧,选择。 在全局上下文页面,单击“对象变量”后的加号。 设置对象变量,保持默认“记录”类型,设置参数名称为“Equipment”(也可自定义为其他名称),对象中选择要查询的具体对象“CNAME1__Equipment__CST”,勾选“数组”表示该变量为数组型变量即集合变量,单击“保存”。 图4 创建对象 新增并配置记录查询图元。 从左侧图元列表中,拖拽“基本”下“记录查询”图元至画布中。 该图元用于根据条件查询对象记录。 选中记录查询图元,单击,配置该图元。 表4 普通类型记录查询参数说明 参数 参数说明 对象 查询的具体对象名,从下拉框中选择对象“CNAME1__Equipment__CST”。 剔重 若查询记录有重复值,是否需要删掉重复记录只保留一条记录。 默认不勾选,表示不删掉重复记录。 条件 单击“新增行”,可设置查询数据的条件。 (排序)排序字段/顺序 将查询结果,根据某个字段,进行升序或降序排序。 记录行的偏移量 分页,跳过前n条记录,从第n+1条记录开始。 从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。 记录行的最大数目 分页,每页最多显示的记录数。 从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。 记录行的总数 限定查询出来的总记录数。 从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。 (输出)源/目标 输出结果,单击“新增行”,可进行添加。 “源”配置为需要查询的设备名称字段“name”,可从下拉框中选择。 “目标”从全局上下文拖拽对象变量的“name”字段,拖拽后。 “目标”取值为“Equipment[0].name”。 无记录时配置空值 当根据条件查询无记录时,则变量为空值。 默认为勾选。 将目标“Equipment[0].name”中的“0”修改为通配符“*”。 如果不改为通配符,只能查询出一条数据。 连接开始和记录查询图元。 在画布上,把鼠标放在起点图元上,从“+”拖动鼠标,在起点图元和记录查询图元间增加连线。 单击画布空白后,单击右侧,设置服务编排的出参,从全局上下文里的对象变量中拖入。 单击服务编排页面上方的,保存服务编排。 测试服务编排能否正常执行。 单击服务编排编辑器上方的,执行服务编排。 不用输入测试数据,直接单击“运行”。 执行成功,界面上会返回设备对象中的全部设备名称数据,样例如下: 图5 返回样例 启用服务编排。 测试成功后,单击服务编排编辑器上方的,启用服务编排。 如果服务编排创建完成后,未启用默认是属于编辑状态,不能被页面或者其他服务调用。
  • 记录查询图元参数配置 在基本中,拖拽“记录查询”图元至画布中。 选中记录查询图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为RecordSelect序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 使用快速查询模式 是否启用快速查询模式。 若勾选该参数,表示为快速模式。 仅配置查询条件即可,查询结果自动保存在对象变量中。如果对象变量不是数组,则仅保存第一条符合条件的记录。如果对象变量为数组,则保存所有返回的记录。 不勾选,表示为普通模式。 根据条件查询对象记录,需要指明要查询的对象名、查询条件,需要查询的字段列表,查询结果需要保存到设置的变量中。 默认不勾选。 单击,在“记录查询”页面进行配置。 若上一步勾选“使用快速查询模式”,则需要指定一个预先定义的对象变量或者对象变量数组,并将该对象变量或对象变量数组拖拽到“变量”输入框中,并设置条件以及选择排序方式,即可实现根据条件和排序方式将查询结果保存在对象变量中。例如,如下图所示,根据条件查询对象数据,并将查询结果保存在对象变量“Account”中。 图1 快速查询模式 表2 快速查询模式参数说明 参数 参数说明 变量 预先定义的对象变量或者对象变量数组。 查询结果自动保存在对象变量或者对象变量数组中。如果对象变量不是数组,则仅保存第一条符合条件的记录。如果对象变量为数组,则保存所有返回的记录。 从全局上下文拖拽或直接输入对象变量/对象变量数组。 无记录时配置空值 当根据条件查询无记录时,则变量为空值。 默认为勾选。 条件 选中对象后,该条件区域“字段”列会出现该对象的字段。单击“新增行”,可设置查询数据的条件。 在“字段”中选择要进行判断的对象字段,在“比较符”中选择相应的比较符,“值”则可从全局上下文拖拽变量或者直接输入“{!变量名}”。 (排序)排序字段/顺序 使查询结果根据某个字段进行升序或者降序排序。 若上一步未勾选“使用快速查询模式”,则需要指定对象并在条件中设置指定对象部分字段的值,根据条件查询符合条件的对象记录,并赋值到设置的变量上。例如,如下图所示,查询“Account”对象“name”为“Lily”的记录,并将查询得到的对象id赋值到"var_record_id"变量上。 图2 普通查询模式 表3 普通查询模式参数说明 参数 参数说明 对象 查询的具体对象名。 剔重 若查询记录有重复值,是否需要删掉重复记录只保留一条记录。 默认不勾选,表示不删掉重复记录。 条件 选中对象后,该条件区域“字段”列会出现该对象的字段。单击“新增行”,可设置查询数据的条件。 在“字段”中选择要进行判断的对象字段,在“比较符”中选择相应的比较符,“值”则可从全局上下文拖拽变量或者直接输入“{!变量名}”。 (排序)排序字段/顺序 使查询结果根据某个字段进行升序或者降序排序。 记录行的偏移量 分页,跳过前n条记录,从第n+1条记录开始。 从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。 记录行的最大数目 分页,每页最多显示的记录数。 从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。 记录的总行数存入变量 查询出来的总记录数存入变量中。 从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”。 (输出)源/目标 输出结果,单击“新增行”,可进行添加。 “源”为需要查询的字段,可从下拉框中选择,“目标”可从全局上下文拖拽变量或者直接输入变量名。 无记录时配置空值 当根据条件查询无记录时,则变量为空值。 默认为勾选。
  • 前提条件 开发呼吸机申请服务,首先需要创建呼吸机资源对象Respirator,作为呼吸机申请服务处理的对象。 表1 Respirator对象自定义字段 字段名 字段类型 字段含义 status 文本 呼吸机当前状态,“空闲”或“使用中”。 hospital 文本 呼吸机当前所在医院。 登录新版应用设计器。 在左侧导航栏中,选择“数据”。 单击对象后的,进入创建对象页面。 设置对象的名称和唯一标识为“Respirator”,单击“确定”。 在创建的对象Respirator中,单击。 图2 编辑对象 在“字段”页签,单击“添加”。 设置字段显示名称和唯一标识为status,字段类型设置为“文本”,单击“确认”。 图3 设置字段status 参考上述操作,添加“hospital”字段。
  • 场景描述 实现场景:根据查询到的呼吸机资源,数据判断资源是否充足,并修改相关资源信息。 实现方案:提前创建好呼吸机资源对象Respirator,使用服务编排实现上述场景功能。 通过循环图元对传入的数组对象变量RespiratorInfos(即空闲状态下的呼吸机资源数组)进行遍历,并将数组中的每个元素放置到对象变量RespiratorInfo(空闲状态下的呼吸机资源数组元素)中。 通过“赋值”图元,设置参数。 将当前遍历的对象变量元素,添加到此次申请的原始呼吸机资源数组中,并对计数进行加一操作。将当前遍历的对象变量元素的字段医院信息修改为发起呼吸机申请的医院信息,将呼吸机状态修改为“使用中”,并添加到申请后的呼吸机资源数组中。 通过“决策”图元,判断资源是否充足。 走“ResourceEnough1”分支:在空闲状态下的呼吸机资源满足申请数量时,跳出循环,返回信息“资源充足,申请呼吸机成功!”。 走“ResourceNotEnough1”分支:循环遍历全部元素后仍未满足申请数量,将走Finish连线进行资源是否充足的判断: 走“ResourceEnough2”分支:资源充足情况下,返回“资源充足,申请呼吸机成功!”。 走“ResourceNotEnough2”分支:当此次申请的呼吸机资源数组中,实际存在的资源数量比申请的数量少时,代表申请的资源不足,返回信息“资源不足,申请失败!”。 图1 总体编排流程
  • 赋值图元参数配置 在逻辑中,拖拽“赋值”图元至画布中。 选中赋值图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的名称,用于在页面展示。系统会自动填入该值,格式为Assignment序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 单击,在“赋值”页面进行配置。 图1 配置赋值图元 表2 赋值图元配置参数说明 参数 参数说明 变量 可以是任意变量,例如普通变量、结构体变量、系统变量等。 操作符 操作符,目前支持普通赋值(=),变量追加(+=)与变量相减(-=)。 值 可以是普通变量、结构体变量、系统变量,也可以新建变量获取值,或根据类型填写常量。 常量填写提示: 文本类型,需要用双引号括起来,例如"abc"、"He said Hi."。 数字和货币类型,支持带符号、小数点的合法数字表达形式,例如123.5、 -12、12.3。 日期类型格式为YYYY-MM-DD,例如2020-10-01。 日期时间类型格式为YYYY-MM-DD hh:mm:ss,例如2020-10-01 12:00:00。 布尔类型,只能是true或false。 任意类型,支持所有基本类型的格式。
  • 发送邮件图元参数配置 在基本中,拖拽“发送邮件”图元至画布中。 选中发送邮件图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为Email序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 单击,在“发送邮件”页面进行配置。 图1 配置直接编辑邮件 图2 配置基于模板邮件 表2 发送邮件图元配置参数说明 参数 参数说明 直接编辑 手动设置邮件信息。 基于模板 基于同一租户或基线里已有的邮件模板,设置邮件主题和内容。 模板 当选中“基于模板”时,需要选择邮件模板。 主题 邮件标题。 当选中“直接编辑”时,需要配置邮件标题。 当选中“基于模板”时,该参数配置区域置灰。 内容 邮件内容。 当选中“直接编辑”时,需要配置邮件内容。 当选中“基于模板”时,该参数配置区域置灰。 自定义变量 当选中“基于模板”时,需要配置模板中的参数,在“值”中进行赋值。 地址 接收人的邮箱地址。 字符串:直接输入邮箱地址,多个地址请用分号分隔,或者从全局上下文拖拽变量代表一个接收人的邮箱地址。 集合:表示可以从全局上下文拖拽集合变量,集合变量即数组型变量,表示多个接收人的邮箱地址。在定义变量时勾选“是否为数组”,则该变量被定义为集合变量。 抄送 抄送人员的邮箱地址,直接输入分号分隔的字符串或者从全局上下文拖拽变量。 密送 秘密发送人员的邮箱地址,直接输入分号分隔的字符串或者从全局上下文拖拽变量。
  • 发送事件图元参数配置 在基本中,拖拽“发送事件”图元至画布中。 选中发送事件图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面显示。系统会自动填入该值,格式为Event序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 单击,在“发送事件”页面进行配置。 图1 配置发送事件图元 表2 发送事件图元配置参数说明 参数 参数说明 事件 选择待发送的事件。 分区字段 从事件中选择一个自定义参数用作Kafka的分区字段,则根据该字段值进行路由,相同的值将路由到同一个Kafka分区;如果不指定,则默认随机路由到不同Kafka分区,从而提升并发处理性能。 须知: 建议选择有区分度的关键字段,该字段必须是事件的自定义字段。 发送到外部 系统内部有配置与AppCube相连Kafka的固定Topic“__BINGO_SYS_TOPIC”。 若不勾选“发送到外部”,表示将事件数据发到默认的Topic上。 若勾选“发送到外部”,表示将事件数据发送到与AppCube相连Kafka的其他Topic上,此时需要配置其他的Topic。 默认不勾选。 延迟到事务结束(提交或回滚)后才发送 是否延迟到该服务编排事务结束后,才发送事件。 默认不勾选,表示流程执行到该图元时立即发送事件。 主题 当勾选“发送到外部”时,该参数才会显示,表示非系统配置的默认Topic。 需要从与AppCube相连Kafka处,获取其他主题Topic。 目标/源 配置事件数据,为该事件自定义参数赋值,将“源”取值赋值到“目标”中。单击“新增行”,可添加并进行赋值。 目标:从下拉框中,选择事件的自定义参数。 源:从全局上下文拖拽变量或直接输入“{!变量名}”,给目标赋值。
  • 记录更新图元参数配置 在基本中,拖拽“记录更新”图元至画布中。 选中记录更新图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于页面展示。系统会自动填入该值,格式为RecordUpdate序号,序号从“0”开始,表示同类型图元序号。 名称 该图元的标识,请确保在当前服务编排中唯一。 描述 该图元的描述信息。 使用快速更新模式 是否启用快速更新模式。 若勾选该参数,表示为快速模式。 根据对象变量中的记录ID,将对象变量更新到数据库中。更新的值,来源于对象变量中的值。如果对象变量为数组,则根据对象变量中的记录ID,批量将对象变量数组更新到数据库中。 不勾选,表示为普通模式。 根据条件更新对象记录,需要配置修改记录对应的对象名,更新条件,更新的各个字段的值。 默认不勾选。 单击,在“记录更新”页面进行配置。 若上一步勾选“使用快速更新模式”,则需要指定一个预先定义的对象变量或者对象变量数组,并将该对象变量或对象变量数组拖拽到“变量”输入框中。即可根据对象变量中的记录ID,将对象变量更新到数据库中,更新的值来源于对象变量中的值。如下图所示,根据对象变量“Accountupdate”中的记录ID将对象变量中的值更新到数据库中。 图1 快速更新模式 表2 快速更新模式参数说明 参数 参数说明 变量 预先定义的对象变量或者对象变量数组。 根据对象变量中的记录ID,将对象变量更新到数据库中。更新的值来源于对象变量中的值。如果变量为对象数组,则根据对象变量中的记录ID,批量将对象变量数组更新到数据库中。 从全局上下文拖拽或直接输入对象变量/对象变量数组。 当前服务编排出现错误时回滚 当前服务编排出现错误时回滚到上一流程。 默认为勾选。若无特殊要求,请不要更改设置。 若上一步未勾选“使用快速更新模式”,则需要指定对象并在条件中,设置指定对象部分字段的值。在赋值中,设置需要更新的目标字段及更新值,最后根据条件查找符合条件的对象记录,并将赋值中的值更新到数据库中。例如,如下图所示,更新“Account”对象“name”为“Lily”的记录,将变量“var_record_id”值更新到“id”字段。 图2 普通更新模式 表3 普通更新模式参数说明 参数 参数说明 对象 更新的具体对象名。 当前服务编排出现错误时回滚 当前服务编排出现错误时,回滚到上一流程。 默认为勾选。若无特殊要求,请不要更改设置。 条件 选中对象后,该条件区域“字段”列会出现该对象的字段。单击“新增行”,可设置更新数据的条件。 在“字段”中选择要进行判断的对象字段。 在“比较符”中选择相应的比较符 “值”则可从全局上下文拖拽变量或者直接输入“{!变量名}”。 赋值 选中对象后,该赋值区域“目标”列会出现该对象的字段。如果需要给多个字段赋值,则单击“新增行”,定义其他字段的值。 在“目标”中选择需要赋值的对象字段。 “源”则可从全局上下文拖拽变量或者直接输入“{!变量名}”。
  • 记录删除图元参数配置 在基本中,拖拽“记录删除”图元至画布中。 选中记录删除图元,单击,设置基本信息。 表1 基本信息参数说明 参数 参数说明 标签 图元的标签,用于在页面展示。系统会自动填入该值,格式为RecordDelete序号,序号从“0”开始,表示同类型图元序号。 名称 图元的标识,请确保在当前服务编排中唯一。 描述 图元的描述信息。 使用快速删除模式 是否启用快速删除模式。 若勾选该参数,表示为快速模式。 根据对象变量中的记录ID,删除对应的记录。当配置的对象变量为数组时,则从数据库中删除对象变量数组中的包含的所有记录(按照记录ID进行删除)。 不勾选,表示为普通模式。 按照条件删除指定对象中的记录,需要配置待删除记录对应的对象名,删除条件。 默认不勾选。 单击,在“记录删除”页面进行配置。 若上一步勾选“使用快速删除模式”,则需要指定一个预先定义的对象变量或者对象变量数组,并将该对象变量或对象变量数组拖拽到“变量”输入框中,使用该对象变量或对象变量数组的记录ID删除对应的对象记录。例如,如下图所示,使用“accountDelete”对象变量的记录ID删除对象记录。 图1 快速删除模式 表2 快速删除模式参数说明 参数 参数说明 变量 预先定义的对象变量,使用该对象变量或对象变量数组中的记录ID删除对象记录。 从全局上下文拖拽或直接输入对象变量/对象变量数组。 当前服务编排出现错误时回滚 当前服务编排出现错误时,回滚到上一流程。 默认为勾选。若无特殊要求,请不要更改设置。 若上一步未勾选“使用快速删除模式”,则需要指定对象并在条件中设置指定对象部分字段的值,根据条件删除符合条件的对象记录。例如,如下图所示,删除“Account”对象“name”为“Lily”的记录。 图2 普通删除模式 表3 普通删除模式参数说明 参数 参数说明 对象 指定的具体对象。 当前服务编排出现错误时回滚 当前服务编排出现错误时,回滚到上一流程。 默认为勾选。若无特殊要求,请不要更改设置。 条件 选中对象后,该条件区域“字段”列会出现该对象的字段。单击“新增行”,可设置删除数据的条件。 在“字段”中选择要进行判断的对象字段,在“比较符”中选择相应的比较符,“值”则可从全局上下文拖拽变量或者直接输入“{!变量名}”。
共100000条