知识库
备忘单
上次修改时间: 2024年4月26日
特殊背景
#{ }:访问上下文变量?{ }?:打开 JavaScript 上下文§{ }§:访问组件配置时${ }:访问翻译<![CDATA[ ]]>:在不使用纯 XML 时使用
范围
step:当前活动的步骤workflow:当前组件的所有步骤root:工作流的所有组件user_session:用户在注销前访问的所有工作流
数据类型
string、bool、double、 、longobject
国家
- <onenter>:这是进入步骤时的第一个状态。用户界面在此状态下不可用,因此,您不能使用与 UI 相关的操作。但是,如果要初始化参数以将其用于 UI 映射,则这是执行此操作的正确状态。
- <onresume>:<onenter>之后的第二个状态。在此状态下,UI 可用,您可以使用 UI 更新操作修改加载的布局。
- <onpause> 和 <onleave>:每当使用
step_transitionorfinish_workflow操作离开当前步骤或整个组件时,都会发生这些状态。由于转换是不可中断的,因此您不能在此处使用使用这些操作的规则。在状态下onpause,步骤的资源仍然存在onleave,,它们不存在。 - <onevent>:这可能是最重要的状态。每次处理事件时,都会检查在此状态下定义的规则。与与用户交互相关的所有规则都在此状态下定义。
运营商
- 在表达式中可用:+、-、&&、||、!、/、==、>、>=、<、<=、%、*、!=
事件结构
- 命令: 此事件的命令,例如“NEXT”。例如,该命令可能对应于组件的布局或工作流描述中的 ID。例:
#{event:command} == ‘CANCEL’ - device.modality: 事件的源。可以使用简短的表示法访问此字段
- 表达式
#{event(SPEECH):command==’NEXT’等效于表达#{event:device.modality} == ‘SPEECH’ && #{event:command} == ‘NEXT’式。模式取决于事件发射器。例:#{event:device.modality} == ‘MENU_SELECTION’ - 有效载荷: 有效负载的结构/字段取决于触发事件的操作/处理程序。例:
#{event:payload.amount} - payload.error: 包含错误消息(如果有)。例:
#{event:payload.error}
嵌入式功能
- 存在: exists(#{shelve})
- toUppercase: toUppercase( '#{material_name} ' )
- toLowercase: toLowercase( '#{material_name} ' )
- 修剪: trim( # {material_name} )
- 包含: contains( # {first_code}, #{second_code})
- startsWith: startsWith( # {first_code}, #{second_code})
- endsWith: endsWith( # {first_code}, #{second_code})
- 等于: equals( # {first_code}, #{second_code})
- 子字符串: substring( # {material_name}, 0, 3)