跳转至

iScript 使用场景速查

目标:在 generate-* 落盘过程中,按场景写出合法 iScript。本 skill 不落盘 XML;文件结构以对应 generate-*-file 为准。

常量源:ScriptLabel.TYPEobpm-core/.../macro/runner/ScriptLabel.java)。

通则

  1. 默认包装:(function () { ... return ...; })();须明确 return(无返回场景可只做副作用)。
  2. 属性大小写:
  3. Form/View/Activity/Flow 等 XML:camelCase(如 valueScript),脚本用 CDATA。
  4. JsonTemplate 字段节点:全小写(如 valuescripthiddenscriptoptionsscript)。
  5. 布尔契约:隐藏/只读 → true/false(true = 隐藏或只读)。
  6. 校验契约:失败 → 提示字符串;成功 → ""
  7. 选项契约:OptionscreateOptions()),或 "值:文本;..." / "文本;..."
  8. 运行时 GraalVM JS(非 Rhino):详见 graalvm.md。要点:
  9. 字符串比较用 === / !==,禁止 "x".equals(v) / v.equals("x")
  10. 字符串长度用 s.length(属性),禁止 s.length()JSONArray.length() 除外。
  11. 新建 Java 类用 Java.type('...')Packages... 仅作兼容。
  12. Java List/Collection.size();JS 数组用 .length
  13. 查法:定域 → 打开下表对应文件 → 按场景组找卡 → 填入正在写的属性。
  14. 边界:场景契约以本 skill 为准;函数细节见 iscript-guid/functions / iscript-guid/api;引擎差异见 graalvm.md

按场景种类(跨域)

种类 打开
值脚本 form.md#值脚本、view.md#值脚本、excelimport.md
选项脚本 form.md#选项脚本、view.md#excel-选项
隐藏脚本 form.md#隐藏脚本、view.md#隐藏脚本、activity.md#隐藏只读
只读脚本 form.md#只读脚本、activity.md#隐藏只读
校验脚本 form.md#校验脚本、flow.md#路径、excelimport.md
过滤/数据脚本 view.md#数据过滤、report.mdchart.md
操作前后置 activity.mdform.md#按钮与确认
流程审批人/条件 flow.md
定时/API/菜单链接 task.mdapi.mdmenu.md
Widget 内容 widget.md

按域

文件 Label 前缀
表单 form.md FORM:*
视图 view.md VIEW:*
操作 activity.md ACTIVITY:*
流程 flow.md WORKFLOW:*
Widget widget.md WIDGET:*
定时任务 task.md TASK:*
API api.md API:*
Excel 导入 excelimport.md EXCELIMPORT:*
统计图 chart.md CHART:*
报表 report.md REPORT:*
菜单 menu.md MENU:*
其它 other.md BIGSCREEN / KMS / DATAMODULE / LIB / PAGE / SCRIPT
引擎差异 graalvm.md GraalVM JS vs Rhino/Java

配套

正在写 读本 skill
.form / 字段 / .activity form.mdactivity.md ← 由 generate-form-file 落盘
.view / .column view.mdactivity.mdgenerate-view-file
.flow flow.mdgenerate-flow-file
.task task.mdgenerate-task-file
.api api.mdgenerate-api-file
.chart chart.mdgenerate-chart-file
.widget widget.mdgenerate-widget-file
.excelconfig excelimport.mdgenerate-excelconfig-file
.menu / .mobilemenu 脚本链接 menu.mdgenerate-menu-file / generate-mobilemenu-file
任意 iScript 写法 先读 graalvm.md=== / .length / Java.type

本文件只定**场景契约**;文件结构与属性全集以对应 generate-* 为准。引擎差异以 graalvm.md 为准。