@stalfh233/omc-cli 0.5.6 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +359 -359
- package/coverage/m1-coverage-manifest-v1.json +1414 -1414
- package/dist/approval-flow.js +0 -0
- package/dist/args.js +0 -0
- package/dist/artifacts.js +0 -0
- package/dist/batch-call.js +0 -0
- package/dist/bench/call-face-eval.js +0 -0
- package/dist/bench/context-attribution.js +0 -0
- package/dist/bench/discovery-cost-eval.js +0 -0
- package/dist/bench/driver.js +0 -0
- package/dist/bench/evals.js +0 -0
- package/dist/bench/instrument.js +0 -0
- package/dist/bench/intent-face-eval.js +40 -40
- package/dist/bench/run.js +0 -0
- package/dist/bench/scenario.js +0 -0
- package/dist/bench/types.js +0 -0
- package/dist/bi-wire.js +0 -0
- package/dist/bizservice-config.js +0 -0
- package/dist/call.js +0 -0
- package/dist/capability-absences.js +0 -0
- package/dist/capability-overview.js +0 -0
- package/dist/capability-shape.js +0 -0
- package/dist/cli-contract.js +0 -0
- package/dist/cli-output.js +0 -0
- package/dist/cli.js +31 -1
- package/dist/closest-match.js +0 -0
- package/dist/code-rules.js +0 -0
- package/dist/command-transport.js +0 -0
- package/dist/compound-writes.js +0 -0
- package/dist/compute.js +0 -0
- package/dist/config-store.js +0 -0
- package/dist/context.js +0 -0
- package/dist/contract-consistency.js +0 -0
- package/dist/contract-resources.js +0 -0
- package/dist/coverage-consistency.js +0 -0
- package/dist/coverage-registry.js +0 -0
- package/dist/coverage.js +0 -0
- package/dist/data-list-filter.js +0 -0
- package/dist/describe-cache.js +0 -0
- package/dist/discovery.js +0 -0
- package/dist/endpoints.js +0 -0
- package/dist/environment-policy.js +0 -0
- package/dist/execution-metadata.js +0 -0
- package/dist/field-add.js +314 -0
- package/dist/field-change.js +0 -0
- package/dist/field-families.js +0 -0
- package/dist/form-default.js +0 -0
- package/dist/form-layout.js +0 -0
- package/dist/form-support.js +9 -0
- package/dist/formula-lint.js +0 -0
- package/dist/goal-routes.js +28 -16
- package/dist/governed-execution.js +0 -0
- package/dist/graph.js +50 -33
- package/dist/human-summary.js +1 -1
- package/dist/identity.js +0 -0
- package/dist/intent/baseline.js +0 -0
- package/dist/intent/capabilities/bizservice.js +0 -0
- package/dist/intent/capabilities/businessrule.js +0 -0
- package/dist/intent/capabilities/datarule.js +0 -0
- package/dist/intent/capabilities/field.js +0 -0
- package/dist/intent/capabilities/form.js +0 -0
- package/dist/intent/capabilities/index.js +0 -0
- package/dist/intent/capabilities/listview.js +0 -0
- package/dist/intent/capabilities/model.js +0 -0
- package/dist/intent/capabilities/onlinejs.js +0 -0
- package/dist/intent/capabilities/report.js +0 -0
- package/dist/intent/capabilities/workflow.js +0 -0
- package/dist/intent/capability.js +0 -0
- package/dist/intent/cli.js +0 -0
- package/dist/intent/compare.js +0 -0
- package/dist/intent/compiler.js +0 -0
- package/dist/intent/dsl.js +0 -0
- package/dist/intent/plan-apply.js +0 -0
- package/dist/intent/plan-file.js +0 -0
- package/dist/intent/readback.js +0 -0
- package/dist/intent/schema.js +0 -0
- package/dist/intent/validation.js +0 -0
- package/dist/intent/yaml.js +0 -0
- package/dist/journal.js +0 -0
- package/dist/json-column.js +0 -0
- package/dist/lanes/app-contract.js +0 -0
- package/dist/lanes/app-coverage.js +0 -0
- package/dist/lanes/app.js +0 -0
- package/dist/lanes/apply-changes.js +0 -0
- package/dist/lanes/b2-registration-contract.js +0 -0
- package/dist/lanes/b2-registration-coverage.js +0 -0
- package/dist/lanes/b2-registration.js +0 -0
- package/dist/lanes/businessrule-contract.js +0 -0
- package/dist/lanes/businessrule-coverage.js +0 -0
- package/dist/lanes/businessrule.js +11 -3
- package/dist/lanes/contract-support.js +0 -0
- package/dist/lanes/coverage-declaration.js +0 -0
- package/dist/lanes/custom-page.js +0 -0
- package/dist/lanes/datarule-contract.js +0 -0
- package/dist/lanes/datarule-coverage.js +0 -0
- package/dist/lanes/datarule-protocol.js +0 -0
- package/dist/lanes/datarule.js +6 -0
- package/dist/lanes/dictionary-contract.js +0 -0
- package/dist/lanes/dictionary-coverage.js +0 -0
- package/dist/lanes/dictionary.js +0 -0
- package/dist/lanes/environment-contract.js +0 -0
- package/dist/lanes/environment-coverage.js +0 -0
- package/dist/lanes/environment.js +0 -0
- package/dist/lanes/field-contract.js +0 -0
- package/dist/lanes/field-coverage.js +0 -0
- package/dist/lanes/field.js +0 -0
- package/dist/lanes/folder-contract.js +0 -0
- package/dist/lanes/folder-coverage.js +0 -0
- package/dist/lanes/folder.js +0 -0
- package/dist/lanes/form-contract.js +0 -0
- package/dist/lanes/form-coverage.js +0 -0
- package/dist/lanes/form.js +0 -0
- package/dist/lanes/lane-ids.js +0 -0
- package/dist/lanes/list-view-contract.js +0 -0
- package/dist/lanes/list-view-coverage.js +0 -0
- package/dist/lanes/list-view-shapes.js +0 -0
- package/dist/lanes/list-view.js +6 -0
- package/dist/lanes/meta-contract.js +0 -0
- package/dist/lanes/meta.js +0 -0
- package/dist/lanes/model-contract.js +0 -0
- package/dist/lanes/model-coverage.js +0 -0
- package/dist/lanes/model.js +0 -0
- package/dist/lanes/online-js-contract.js +0 -0
- package/dist/lanes/online-js-coverage.js +0 -0
- package/dist/lanes/online-js.js +0 -0
- package/dist/lanes/org-tree.js +0 -0
- package/dist/lanes/organization-coverage.js +27 -0
- package/dist/lanes/organization.js +10 -1
- package/dist/lanes/report-contract.js +0 -0
- package/dist/lanes/report-coverage.js +0 -0
- package/dist/lanes/report.js +0 -0
- package/dist/lanes/rule-graph.js +0 -0
- package/dist/lanes/rule-lifecycle-contract.js +0 -0
- package/dist/lanes/rule-lifecycle-coverage.js +0 -0
- package/dist/lanes/rule-lifecycle.js +0 -0
- package/dist/lanes/runtime-data-contract.js +0 -0
- package/dist/lanes/runtime-data-coverage.js +0 -0
- package/dist/lanes/runtime-data.js +24 -0
- package/dist/lanes/workflow-contract.js +0 -0
- package/dist/lanes/workflow-coverage.js +0 -0
- package/dist/lanes/workflow.js +7 -2
- package/dist/mcp-graph.js +0 -0
- package/dist/model-purge.js +0 -0
- package/dist/model-record.js +0 -0
- package/dist/model-scaffold.js +0 -0
- package/dist/omc-core-lazy.js +0 -0
- package/dist/online-js-layout.js +0 -0
- package/dist/online-js-source.js +28 -28
- package/dist/package-tool.js +0 -0
- package/dist/package.js +0 -0
- package/dist/path-projection.js +19 -1
- package/dist/plan.js +0 -0
- package/dist/read.js +0 -0
- package/dist/recipes/b2-registration.js +0 -0
- package/dist/recipes/businessrule.js +0 -0
- package/dist/recipes/datarule.js +0 -0
- package/dist/recipes/dictionary.js +0 -0
- package/dist/recipes/field.js +0 -0
- package/dist/recipes/form.js +0 -0
- package/dist/recipes/list-view.js +0 -0
- package/dist/recipes/model.js +0 -0
- package/dist/recipes/online-js.js +0 -0
- package/dist/recipes/runtime-data.js +0 -0
- package/dist/recipes/shared.js +0 -0
- package/dist/recipes/workflow.js +0 -0
- package/dist/redact.js +0 -0
- package/dist/refusal-guidance.js +0 -0
- package/dist/rollback-spec.js +0 -0
- package/dist/rollback.js +0 -0
- package/dist/rule-support.js +0 -0
- package/dist/rule-when.js +4 -3
- package/dist/runtime-support.js +0 -0
- package/dist/script.js +0 -0
- package/dist/service-doctor.js +0 -0
- package/dist/session-manager.js +0 -0
- package/dist/session.js +0 -0
- package/dist/skills.js +0 -0
- package/dist/sqlite-warning-filter.js +0 -0
- package/dist/support.js +0 -0
- package/dist/token-cache.js +0 -0
- package/dist/tool-types.js +0 -0
- package/dist/tools.js +0 -0
- package/dist/usage-log.js +0 -0
- package/dist/wire.js +0 -0
- package/dist/workflow-support.js +0 -0
- package/dist/write-lease.js +0 -0
- package/dist/write-lock.js +0 -0
- package/dist/write.js +0 -0
- package/dist/zip.js +0 -0
- package/docs/images/omc-nixi/README.md +41 -41
- package/docs/omc-introduction.md +851 -851
- package/docs/tool-surface-map.md +42 -42
- package/package.json +3 -3
- package/skills/omc-acceptance-criteria.md +50 -50
- package/skills/omc-business-configuration.md +336 -335
- package/skills/omc-capabilities.md +214 -214
- package/skills/omc-capability-scouting.md +55 -55
- package/skills/omc-config-draft-review.md +175 -175
- package/skills/omc-five-piece-flow.md +35 -35
- package/skills/omc-glossary.md +86 -86
- package/skills/omc-refusals.md +129 -129
- package/skills/omc-requirement-analysis.md +161 -161
- package/skills/omc-requirement-vocabulary.md +61 -61
- package/skills/omc-start-here.md +107 -106
- package/skills/omc-tool-selection.md +119 -119
- package/skills/omc-write-hazards.md +222 -200
- package/dist/approval-token.js +0 -102
- package/dist/bench/fake-http-server.js +0 -65
- package/dist/fake/app.js +0 -45
- package/dist/fake/b2-registration.js +0 -594
- package/dist/fake/businessrule.js +0 -242
- package/dist/fake/datarule.js +0 -72
- package/dist/fake/dictionary.js +0 -108
- package/dist/fake/environment.js +0 -30
- package/dist/fake/field.js +0 -167
- package/dist/fake/form.js +0 -101
- package/dist/fake/index.js +0 -121
- package/dist/fake/list-view.js +0 -289
- package/dist/fake/model.js +0 -136
- package/dist/fake/online-js.js +0 -18
- package/dist/fake/report.js +0 -253
- package/dist/fake/routes.js +0 -47
- package/dist/fake/rule-lifecycle.js +0 -37
- package/dist/fake/runtime-data.js +0 -367
- package/dist/fake/state.js +0 -67
- package/dist/fake/workflow.js +0 -364
- package/dist/server.js +0 -92
package/dist/online-js-source.js
CHANGED
|
@@ -15,34 +15,34 @@ import { ToolRefusalError } from "./tool-types.js";
|
|
|
15
15
|
* to replace it.
|
|
16
16
|
*/
|
|
17
17
|
export const PLATFORM_LIFECYCLE_WRAPPER_MARKER = "(function(form)";
|
|
18
|
-
export const PLATFORM_DEFAULT_LIFECYCLE_SCRIPT = `/**
|
|
19
|
-
* 用户自定义JS区域;
|
|
20
|
-
* 注:外部链接的JS统一放置在HTML中,原有script标签下的js统一放置在当前编码区域
|
|
21
|
-
* 使用环境变量,可通过"$env("唤醒提示框,并通过$env(分类名称.变量名称)的方式使用
|
|
22
|
-
*/
|
|
23
|
-
(function(form){
|
|
24
|
-
/**
|
|
25
|
-
* 事件绑定,form.on
|
|
26
|
-
* @param eventType 事件类型
|
|
27
|
-
* @params function 事件
|
|
28
|
-
* @param cover true, false 是否覆盖root的生命周期 默认不覆盖
|
|
29
|
-
*/
|
|
30
|
-
//数据加载后,渲染之前,this为window
|
|
31
|
-
form.on('onLoad',function(data, dataPermission){},'cover');
|
|
32
|
-
//渲染完成后
|
|
33
|
-
form.on('onRendered',function(data){});
|
|
34
|
-
//内置校验完成后,返回false阻止提交
|
|
35
|
-
form.on('onValidate',function(action,data){});
|
|
36
|
-
//操作前(包含自定义按钮)执行,返回false阻止按钮操作
|
|
37
|
-
form.on('onPreAction',function(action,data){});
|
|
38
|
-
//自定义按钮执行
|
|
39
|
-
form.on('onCustomAction',function(action,data){});
|
|
40
|
-
//操作完成后执行
|
|
41
|
-
form.on('onActionDone',function(action,data,httpRes){});
|
|
42
|
-
//表单字段打印数据格式扩展,可自行定义调用打印模板时,表单字段对应所打印数据的内容
|
|
43
|
-
form.on('onPrintFormDataHandle',function(vm, printData, sourceData, formValues, key, locale, printTemplateCode, control, dataType, sheetData){});
|
|
44
|
-
//流程日志打印数据格式扩展,可自行定义调用打印模板时,流程日志对应所打印数据的内容
|
|
45
|
-
form.on('onPrintWorkflowLogDataHandle',function(vm, sourceData, printData, locale, printTemplateCode){});
|
|
18
|
+
export const PLATFORM_DEFAULT_LIFECYCLE_SCRIPT = `/**
|
|
19
|
+
* 用户自定义JS区域;
|
|
20
|
+
* 注:外部链接的JS统一放置在HTML中,原有script标签下的js统一放置在当前编码区域
|
|
21
|
+
* 使用环境变量,可通过"$env("唤醒提示框,并通过$env(分类名称.变量名称)的方式使用
|
|
22
|
+
*/
|
|
23
|
+
(function(form){
|
|
24
|
+
/**
|
|
25
|
+
* 事件绑定,form.on
|
|
26
|
+
* @param eventType 事件类型
|
|
27
|
+
* @params function 事件
|
|
28
|
+
* @param cover true, false 是否覆盖root的生命周期 默认不覆盖
|
|
29
|
+
*/
|
|
30
|
+
//数据加载后,渲染之前,this为window
|
|
31
|
+
form.on('onLoad',function(data, dataPermission){},'cover');
|
|
32
|
+
//渲染完成后
|
|
33
|
+
form.on('onRendered',function(data){});
|
|
34
|
+
//内置校验完成后,返回false阻止提交
|
|
35
|
+
form.on('onValidate',function(action,data){});
|
|
36
|
+
//操作前(包含自定义按钮)执行,返回false阻止按钮操作
|
|
37
|
+
form.on('onPreAction',function(action,data){});
|
|
38
|
+
//自定义按钮执行
|
|
39
|
+
form.on('onCustomAction',function(action,data){});
|
|
40
|
+
//操作完成后执行
|
|
41
|
+
form.on('onActionDone',function(action,data,httpRes){});
|
|
42
|
+
//表单字段打印数据格式扩展,可自行定义调用打印模板时,表单字段对应所打印数据的内容
|
|
43
|
+
form.on('onPrintFormDataHandle',function(vm, printData, sourceData, formValues, key, locale, printTemplateCode, control, dataType, sheetData){});
|
|
44
|
+
//流程日志打印数据格式扩展,可自行定义调用打印模板时,流程日志对应所打印数据的内容
|
|
45
|
+
form.on('onPrintWorkflowLogDataHandle',function(vm, sourceData, printData, locale, printTemplateCode){});
|
|
46
46
|
})`;
|
|
47
47
|
/** The lifecycle events the platform dispatches; anything else is a typo the runtime silently drops (or throws on). */
|
|
48
48
|
export const ONLINE_JS_EVENTS = new Set([
|
package/dist/package-tool.js
CHANGED
|
File without changes
|
package/dist/package.js
CHANGED
|
File without changes
|
package/dist/path-projection.js
CHANGED
|
@@ -2,6 +2,24 @@ import { readFileSync } from "node:fs";
|
|
|
2
2
|
import { readArtifact } from "./artifacts.js";
|
|
3
3
|
import { artifactRoot } from "./command-transport.js";
|
|
4
4
|
export function projectJsonPath(value, path) {
|
|
5
|
+
// 2026-11-01(r36 维护者实测):jq 切片 `a[0:6]`/`a[:n]`/`a[n:]` 此前
|
|
6
|
+
// pathMiss 且 hint 的 available 还把数组列成"可用键",误导下一步。数组
|
|
7
|
+
// 切片与 jq 语义一致(含头不含尾)。
|
|
8
|
+
const sliceSel = /\[(\d*):(\d*)\]/.exec(path);
|
|
9
|
+
if (sliceSel !== null) {
|
|
10
|
+
const [, rawFrom, rawTo] = sliceSel;
|
|
11
|
+
const before = path.slice(0, sliceSel.index);
|
|
12
|
+
const after = path.slice(sliceSel.index + sliceSel[0].length);
|
|
13
|
+
const base = projectJsonPath(value, before);
|
|
14
|
+
if (base.missed)
|
|
15
|
+
return base;
|
|
16
|
+
if (!Array.isArray(base.value))
|
|
17
|
+
return { missed: true, at: before || "$", available: `该层不是数组(是 ${base.value === null ? "null" : typeof base.value});切片 [from:to] 需要数组` };
|
|
18
|
+
const from = rawFrom === "" ? undefined : Number(rawFrom);
|
|
19
|
+
const to = rawTo === "" ? undefined : Number(rawTo);
|
|
20
|
+
const sliced = base.value.slice(from, to);
|
|
21
|
+
return after === "" ? { missed: false, value: sliced } : projectJsonPath(sliced, after);
|
|
22
|
+
}
|
|
5
23
|
// 1.5 of issue 2026-10-23: an array-of-objects selection WITHOUT jq pipes.
|
|
6
24
|
// `.rules[code=Create]` (or `[code="Create"]`) picks the FIRST element whose
|
|
7
25
|
// key matches — exactly the shape callers reached for with
|
|
@@ -97,7 +115,7 @@ function argvValues(args, name) {
|
|
|
97
115
|
return values;
|
|
98
116
|
}
|
|
99
117
|
/** Shared wording for every projection miss, so all three faces teach the same syntax. */
|
|
100
|
-
const PATH_MISS_HINT = "路径未命中(这一层没有该段)。可用写法:点式 a.b、下标 a[0]、数组映射 items[].fields.x、按键选择 rules[code=Create](返回第一个匹配项)。available 是该层真实存在的键。";
|
|
118
|
+
const PATH_MISS_HINT = "路径未命中(这一层没有该段)。可用写法:点式 a.b、下标 a[0]、切片 a[0:6]、数组映射 items[].fields.x、按键选择 rules[code=Create](返回第一个匹配项)。available 是该层真实存在的键。";
|
|
101
119
|
/**
|
|
102
120
|
* `call --extract/--extract-keys`: resolve paths inside the result's own
|
|
103
121
|
* artifact (or inside the result object when the tool returned no artifact).
|
package/dist/plan.js
CHANGED
|
File without changes
|
package/dist/read.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/recipes/datarule.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/recipes/field.js
CHANGED
|
File without changes
|
package/dist/recipes/form.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/recipes/model.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/recipes/shared.js
CHANGED
|
File without changes
|
package/dist/recipes/workflow.js
CHANGED
|
File without changes
|
package/dist/redact.js
CHANGED
|
File without changes
|
package/dist/refusal-guidance.js
CHANGED
|
File without changes
|
package/dist/rollback-spec.js
CHANGED
|
File without changes
|
package/dist/rollback.js
CHANGED
|
File without changes
|
package/dist/rule-support.js
CHANGED
|
File without changes
|
package/dist/rule-when.js
CHANGED
|
@@ -31,8 +31,9 @@ export function composeRuleWhenGraph(options) {
|
|
|
31
31
|
throw new Error("至少给一个 --then 动作");
|
|
32
32
|
const leaves = [];
|
|
33
33
|
for (const raw of options.when) {
|
|
34
|
-
// 最长操作符优先:>= <= ~= !~ == != >
|
|
35
|
-
|
|
34
|
+
// 最长操作符优先:>= <= ~= !~ == != > <(操作符两侧允许空格——r34 探针
|
|
35
|
+
// 实测 `dr_price > 1000` 因空格被拒,属于自然书写)
|
|
36
|
+
const match = /^([A-Za-z_][A-Za-z0-9_]*)\s*(>=|<=|~=|!~|==|!=|=|>|<)\s*([\s\S]+)$/.exec(raw.trim());
|
|
36
37
|
if (!match)
|
|
37
38
|
throw new Error(`--when "${raw}" 解析失败:形如 字段=值 / 字段!=值 / 字段>=数字 / 字段~=文本(包含)`);
|
|
38
39
|
const [, field, op, rawValue] = match;
|
|
@@ -46,7 +47,7 @@ export function composeRuleWhenGraph(options) {
|
|
|
46
47
|
}
|
|
47
48
|
const actions = [];
|
|
48
49
|
for (const raw of options.then) {
|
|
49
|
-
const match = /^set:([A-Za-z_][A-Za-z0-9_]*)
|
|
50
|
+
const match = /^set:([A-Za-z_][A-Za-z0-9_]*)\s*=\s*([\s\S]*)$/.exec(raw.trim());
|
|
50
51
|
if (!match)
|
|
51
52
|
throw new Error(`--then "${raw}" 解析失败:v1 只支持 set:<字段>=<字面量>、set:<字段>={来源字段} 或 set:<字段>={公式}(如 set:total={amount}*0.9)`);
|
|
52
53
|
const [, field, rawValue] = match;
|
package/dist/runtime-support.js
CHANGED
|
File without changes
|
package/dist/script.js
CHANGED
|
File without changes
|
package/dist/service-doctor.js
CHANGED
|
File without changes
|
package/dist/session-manager.js
CHANGED
|
File without changes
|
package/dist/session.js
CHANGED
|
File without changes
|
package/dist/skills.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/support.js
CHANGED
|
File without changes
|
package/dist/token-cache.js
CHANGED
|
File without changes
|
package/dist/tool-types.js
CHANGED
|
File without changes
|
package/dist/tools.js
CHANGED
|
File without changes
|
package/dist/usage-log.js
CHANGED
|
File without changes
|
package/dist/wire.js
CHANGED
|
File without changes
|
package/dist/workflow-support.js
CHANGED
|
File without changes
|
package/dist/write-lease.js
CHANGED
|
File without changes
|
package/dist/write-lock.js
CHANGED
|
File without changes
|
package/dist/write.js
CHANGED
|
File without changes
|
package/dist/zip.js
CHANGED
|
File without changes
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
# 截图占位目录(尼西实战案例)
|
|
2
|
-
|
|
3
|
-
`omc-introduction.md` 的「15. 实战一:尼西双表单与流程搭建」章节里引用了 9 张截图。
|
|
4
|
-
把截图按下面文件名放进本目录即可,文档中的占位说明可逐条删除。
|
|
5
|
-
|
|
6
|
-
## 客户源需求(3 张)
|
|
7
|
-
|
|
8
|
-
| 文件名 | 内容 |
|
|
9
|
-
|---|---|
|
|
10
|
-
| `01-requirement-ft-sheet.png` | 客户 Excel 的 `FT` Sheet(字段清单 / 必填 / LotClass 显隐) |
|
|
11
|
-
| `02-requirement-fp-sheet.png` | 客户 Excel 的 `FP` Sheet |
|
|
12
|
-
| `03-requirement-flow.png` | 客户给的流程图(FT/FP,含 `SubConRootCause=1` 分支) |
|
|
13
|
-
|
|
14
|
-
## 对话截图(6 张)
|
|
15
|
-
|
|
16
|
-
| 文件名 | 内容 |
|
|
17
|
-
|---|---|
|
|
18
|
-
| `04-chat-app-create.png` | 确认新建应用 + `app.create ok` |
|
|
19
|
-
| `05-chat-intent-apply.png` | `intent apply` 返回 `DELIVERED` + `equivalent: true`(89 个动作) |
|
|
20
|
-
| `06-chat-workflow-role.png` | 流程节点与角色路由(PIC→蔡依涛 / MOS→赵益 / AOSIT / AOSENG) |
|
|
21
|
-
| `07-chat-permission-matrix.png` | 节点字段权限矩阵(本节点 + 之前所有节点可见) |
|
|
22
|
-
| `08-chat-biz-integration.png` | `service.register` 注册 productType 服务 + `method.test` 返回 `PRODUCT_TYPE=MOS` |
|
|
23
|
-
| `09-chat-onlinejs-publish.png` | `onlinejs.compose` 返回 `published: true` |
|
|
24
|
-
|
|
25
|
-
## 替换方式
|
|
26
|
-
|
|
27
|
-
文档里每处占位是:
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
> **[截图 01|客户源需求:FT 表单规格]**
|
|
31
|
-
> 占位文件:`docs/images/omc-nixi/01-requirement-ft-sheet.png`
|
|
32
|
-
> 建议内容:...
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
落地后改成标准图片引用即可:
|
|
36
|
-
|
|
37
|
-
```markdown
|
|
38
|
-

|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
建议截图宽度 ≥ 1200px,避免中文文字模糊。
|
|
1
|
+
# 截图占位目录(尼西实战案例)
|
|
2
|
+
|
|
3
|
+
`omc-introduction.md` 的「15. 实战一:尼西双表单与流程搭建」章节里引用了 9 张截图。
|
|
4
|
+
把截图按下面文件名放进本目录即可,文档中的占位说明可逐条删除。
|
|
5
|
+
|
|
6
|
+
## 客户源需求(3 张)
|
|
7
|
+
|
|
8
|
+
| 文件名 | 内容 |
|
|
9
|
+
|---|---|
|
|
10
|
+
| `01-requirement-ft-sheet.png` | 客户 Excel 的 `FT` Sheet(字段清单 / 必填 / LotClass 显隐) |
|
|
11
|
+
| `02-requirement-fp-sheet.png` | 客户 Excel 的 `FP` Sheet |
|
|
12
|
+
| `03-requirement-flow.png` | 客户给的流程图(FT/FP,含 `SubConRootCause=1` 分支) |
|
|
13
|
+
|
|
14
|
+
## 对话截图(6 张)
|
|
15
|
+
|
|
16
|
+
| 文件名 | 内容 |
|
|
17
|
+
|---|---|
|
|
18
|
+
| `04-chat-app-create.png` | 确认新建应用 + `app.create ok` |
|
|
19
|
+
| `05-chat-intent-apply.png` | `intent apply` 返回 `DELIVERED` + `equivalent: true`(89 个动作) |
|
|
20
|
+
| `06-chat-workflow-role.png` | 流程节点与角色路由(PIC→蔡依涛 / MOS→赵益 / AOSIT / AOSENG) |
|
|
21
|
+
| `07-chat-permission-matrix.png` | 节点字段权限矩阵(本节点 + 之前所有节点可见) |
|
|
22
|
+
| `08-chat-biz-integration.png` | `service.register` 注册 productType 服务 + `method.test` 返回 `PRODUCT_TYPE=MOS` |
|
|
23
|
+
| `09-chat-onlinejs-publish.png` | `onlinejs.compose` 返回 `published: true` |
|
|
24
|
+
|
|
25
|
+
## 替换方式
|
|
26
|
+
|
|
27
|
+
文档里每处占位是:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
> **[截图 01|客户源需求:FT 表单规格]**
|
|
31
|
+
> 占位文件:`docs/images/omc-nixi/01-requirement-ft-sheet.png`
|
|
32
|
+
> 建议内容:...
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
落地后改成标准图片引用即可:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+

|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
建议截图宽度 ≥ 1200px,避免中文文字模糊。
|