iScript 使用场景速查¶
目标:在 generate-* 落盘过程中,按场景写出合法 iScript。本 skill 不落盘 XML;文件结构以对应 generate-*-file 为准。
常量源:ScriptLabel.TYPE(obpm-core/.../macro/runner/ScriptLabel.java)。
通则¶
- 默认包装:
(function () { ... return ...; })();须明确return(无返回场景可只做副作用)。 - 属性大小写:
- Form/View/Activity/Flow 等 XML:camelCase(如
valueScript),脚本用 CDATA。 - JsonTemplate 字段节点:全小写(如
valuescript、hiddenscript、optionsscript)。 - 布尔契约:隐藏/只读 →
true/false(true = 隐藏或只读)。 - 校验契约:失败 → 提示字符串;成功 →
""。 - 选项契约:
Options(createOptions()),或"值:文本;..."/"文本;..."。 - 运行时 GraalVM JS(非 Rhino):详见 graalvm.md。要点:
- 字符串比较用
===/!==,禁止"x".equals(v)/v.equals("x")。 - 字符串长度用
s.length(属性),禁止s.length();JSONArray.length()除外。 - 新建 Java 类用
Java.type('...');Packages...仅作兼容。 - Java
List/Collection用.size();JS 数组用.length。 - 查法:定域 → 打开下表对应文件 → 按场景组找卡 → 填入正在写的属性。
- 边界:场景契约以本 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.md、chart.md |
| 操作前后置 | activity.md、form.md#按钮与确认 |
| 流程审批人/条件 | flow.md |
| 定时/API/菜单链接 | task.md、api.md、menu.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.md、activity.md ← 由 generate-form-file 落盘 |
.view / .column |
view.md、activity.md ← generate-view-file |
.flow |
flow.md ← generate-flow-file |
.task |
task.md ← generate-task-file |
.api |
api.md ← generate-api-file |
.chart |
chart.md ← generate-chart-file |
.widget |
widget.md ← generate-widget-file |
.excelconfig |
excelimport.md ← generate-excelconfig-file |
.menu / .mobilemenu 脚本链接 |
menu.md ← generate-menu-file / generate-mobilemenu-file |
| 任意 iScript 写法 | 先读 graalvm.md(=== / .length / Java.type) |
本文件只定**场景契约**;文件结构与属性全集以对应 generate-* 为准。引擎差异以 graalvm.md 为准。