@qingflow-tech/qingflow-cli 1.1.51 → 1.1.54
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/README.md +4 -4
- package/npm/lib/runtime.mjs +29 -13
- package/package.json +1 -1
- package/pyproject.toml +8 -2
- package/skills/qingflow-cli/SKILL.md +93 -322
- package/skills/qingflow-cli/manifest.yaml +1 -1
- package/skills/qingflow-cli/reference/00-INDEX.md +4 -4
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_ADMIN_CHEATSHEET.md +1 -1
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_BUILDER_VIEWS_WORKFLOW.md +3 -9
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_DATA_RETRIEVAL_WORKFLOW.md +3 -137
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_EXPLORATION_REPORT.md +6 -4
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_FIELD_DATA_TYPES.md +14 -14
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_MEMBER_CHEATSHEET.md +20 -19
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_ONE_SHOT_CHEATSHEET.md +18 -14
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_RECORD_CREATE_WORKFLOW.md +7 -12
- package/skills/qingflow-cli/reference/QINGFLOW_CLI_RECORD_UPDATE_WORKFLOW.md +2 -1
- package/skills/qingflow-cli/reference/builder/20-build-complete-system.md +3 -2
- package/skills/qingflow-cli/reference/builder/30-schema-fields.md +9 -5
- package/skills/qingflow-cli/reference/builder/50-views.md +192 -191
- package/skills/qingflow-cli/reference/builder/80-buttons-associated-resources.md +2 -0
- package/skills/qingflow-cli/reference/builder/README.md +1 -1
- package/skills/qingflow-cli/reference/builder/reference/app-delivery-sop.md +6 -6
- package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_ADMIN_CHEATSHEET.md +1 -1
- package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_DATA_RETRIEVAL_WORKFLOW.md +76 -95
- package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_EXPLORATION_REPORT.md +6 -4
- package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_FIELD_DATA_TYPES.md +13 -13
- package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_MEMBER_CHEATSHEET.md +20 -19
- package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_ONE_SHOT_CHEATSHEET.md +18 -14
- package/skills/qingflow-cli/reference/data/README.md +32 -0
- package/skills/qingflow-cli/reference/examples/README.md +1 -1
- package/skills/qingflow-cli/reference/examples/views/views_apply_v1alpha1.example.json +14 -0
- package/skills/qingflow-cli/reference/examples/views/views_upsert_table_minimal.example.json +30 -36
- package/skills/qingflow-cli/reference/record/QINGFLOW_CLI_RECORD_SPECIALIZED_WORKFLOW.md +50 -0
- package/skills/qingflow-cli/reference/record/QINGFLOW_CLI_RECORD_UPDATE_WORKFLOW.md +2 -1
- package/skills/qingflow-cli/reference/record/analysis/README.md +21 -113
- package/skills/qingflow-cli/reference/record/analysis/analysis-gotchas.md +10 -10
- package/skills/qingflow-cli/reference/record/analysis/analysis-patterns.md +9 -9
- package/skills/qingflow-cli/reference/record/analysis/business-context.md +1 -1
- package/skills/qingflow-cli/reference/record/analysis/confidence-reporting.md +10 -10
- package/skills/qingflow-cli/reference/record/analysis/data-access-playbook.md +52 -80
- package/skills/qingflow-cli/reference/record/analysis/pandas-recipes.md +2 -2
- package/skills/qingflow-common/SKILL.md +7 -4
- package/src/qingflow_mcp/app_form_compat.py +3 -0
- package/src/qingflow_mcp/app_form_validator.py +69 -17
- package/src/qingflow_mcp/builder_facade/app_form.py +497 -100
- package/src/qingflow_mcp/builder_facade/models.py +227 -17
- package/src/qingflow_mcp/builder_facade/schemas/app_form/manifest.json +1 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/complete.json +64 -30
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/address.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/amount.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/attachment.json +6 -10
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/code_block.json +6 -10
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/data_relation.json +11 -18
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/date.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/datetime.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/department.json +6 -10
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/email.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/link.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/long_text.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/member.json +6 -10
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/multi_select.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/number.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/phone.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/q_linker.json +6 -10
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/relation.json +46 -15
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/rich_text.json +146 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_choice.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_select.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/subtable.json +61 -27
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/text.json +4 -8
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/formula.json +43 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/summary.json +7 -12
- package/src/qingflow_mcp/builder_facade/schemas/views/manifest.json +42 -0
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/complete.json +1245 -0
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/button-config.json +53 -0
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/data-permission.json +60 -0
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/display.json +73 -0
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/operation-permission.json +48 -0
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/query-condition.json +47 -0
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/summary.json +319 -0
- package/src/qingflow_mcp/builder_facade/service.py +1709 -518
- package/src/qingflow_mcp/builder_facade/views_extract.py +595 -0
- package/src/qingflow_mcp/builder_facade/views_schema.py +400 -0
- package/src/qingflow_mcp/cli/commands/__init__.py +2 -1
- package/src/qingflow_mcp/cli/commands/builder.py +76 -55
- package/src/qingflow_mcp/cli/commands/data.py +134 -0
- package/src/qingflow_mcp/cli/commands/record.py +1 -1
- package/src/qingflow_mcp/cli/context.py +3 -0
- package/src/qingflow_mcp/cli/formatters.py +97 -1
- package/src/qingflow_mcp/public_surface.py +8 -0
- package/src/qingflow_mcp/response_trim.py +11 -2
- package/src/qingflow_mcp/server.py +2 -0
- package/src/qingflow_mcp/server_app_builder.py +34 -10
- package/src/qingflow_mcp/server_app_user.py +4 -0
- package/src/qingflow_mcp/solution/compiler/view_compiler.py +2 -1
- package/src/qingflow_mcp/solution/executor.py +96 -8
- package/src/qingflow_mcp/solution/spec_models.py +1 -0
- package/src/qingflow_mcp/tools/ai_builder_tools.py +218 -398
- package/src/qingflow_mcp/tools/csv_export.py +168 -0
- package/src/qingflow_mcp/tools/data_tools.py +284 -0
- package/src/qingflow_mcp/tools/record_tools.py +11 -46
- package/src/qingflow_mcp/tools/solution_tools.py +2 -0
- package/src/qingflow_mcp/tools/view_tools.py +0 -6
- package/src/qingflow_mcp/tools/view_writer.py +44 -0
- package/skills/qingflow-cli/reference/examples/views/views_batch_full.example.json +0 -159
- package/skills/qingflow-cli/reference/views_upsert_table_minimal.example.json +0 -42
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
222
222
|
},
|
|
223
223
|
"name": {
|
|
224
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
224
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
225
225
|
"minLength": 1,
|
|
226
226
|
"type": "string"
|
|
227
227
|
},
|
|
@@ -242,13 +242,9 @@
|
|
|
242
242
|
"type": "string"
|
|
243
243
|
},
|
|
244
244
|
"width": {
|
|
245
|
-
"description": "
|
|
246
|
-
"
|
|
247
|
-
|
|
248
|
-
50,
|
|
249
|
-
75,
|
|
250
|
-
100
|
|
251
|
-
],
|
|
245
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
246
|
+
"maximum": 100,
|
|
247
|
+
"minimum": 1,
|
|
252
248
|
"type": "integer"
|
|
253
249
|
}
|
|
254
250
|
},
|
|
@@ -268,10 +264,10 @@
|
|
|
268
264
|
]
|
|
269
265
|
}
|
|
270
266
|
],
|
|
271
|
-
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name
|
|
267
|
+
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name,两者同时提供时必须指向同一字段。后端允许同父级同名字段,queId 是稳定身份;name 仅在唯一时可解析,命中多个同名时报 AMBIGUOUS_FIELD_SELECTOR,此时必须改用 queId。",
|
|
272
268
|
"properties": {
|
|
273
269
|
"name": {
|
|
274
|
-
"description": "
|
|
270
|
+
"description": "字段名称;仅在当前作用域内唯一时可用于解析,同名命中多个字段时报 AMBIGUOUS_FIELD_SELECTOR,应改用 queId。",
|
|
275
271
|
"minLength": 1,
|
|
276
272
|
"type": "string"
|
|
277
273
|
},
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"DataRelationCondition": {
|
|
21
21
|
"additionalProperties": false,
|
|
22
|
-
"description": "一条数据关联过滤条件;sourceField 必须属于数据来源,operator 必须适用于该字段类型。固定值请使用 literal operand,不要直接声明后端 matchRules。",
|
|
22
|
+
"description": "一条数据关联过滤条件;sourceField 必须属于数据来源,operator 必须适用于该字段类型。固定值请使用 literal operand,不要直接声明后端 matchRules。sourceField 省略为存量读回形态(历史脏公式的源字段缺失,如 #queId_0$,写回时以 queId=0 透传),新建条件应提供 sourceField。",
|
|
23
23
|
"properties": {
|
|
24
24
|
"operand": {
|
|
25
25
|
"$ref": "#/$defs/DataRelationOperand",
|
|
@@ -55,11 +55,10 @@
|
|
|
55
55
|
},
|
|
56
56
|
"sourceField": {
|
|
57
57
|
"$ref": "#/$defs/FieldSelector",
|
|
58
|
-
"description": "
|
|
58
|
+
"description": "被过滤的数据源字段;存量读回形态可能缺失(后端反解析出的条件源字段 queId=0 且无名称)。"
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
"required": [
|
|
62
|
-
"sourceField",
|
|
63
62
|
"operator",
|
|
64
63
|
"operand"
|
|
65
64
|
],
|
|
@@ -67,7 +66,7 @@
|
|
|
67
66
|
},
|
|
68
67
|
"DataRelationConfig": {
|
|
69
68
|
"additionalProperties": false,
|
|
70
|
-
"description": "数据关联字段配置;从应用、Q-Linker 或代码块输出中读取数据。",
|
|
69
|
+
"description": "数据关联字段配置;从应用、Q-Linker 或代码块输出中读取数据。source 省略表示该字段当前无关联来源配置(存量表单读回形态:后端 GET 对 displayed 目标缺失的 relation 行不回传,FormSvcImpl#getQuestionRelationsBeans continue 分支;新建数据关联字段应提供 source)。",
|
|
71
70
|
"properties": {
|
|
72
71
|
"aggregation": {
|
|
73
72
|
"description": "可选聚合方式;null 表示不聚合。",
|
|
@@ -102,12 +101,10 @@
|
|
|
102
101
|
},
|
|
103
102
|
"source": {
|
|
104
103
|
"$ref": "#/$defs/DataRelationSource",
|
|
105
|
-
"description": "数据来源;按 kind
|
|
104
|
+
"description": "数据来源;按 kind 选择一种来源结构。存量读回形态可能无 source(后端读面不回传关联配置),此时写回不重建该字段的关联。"
|
|
106
105
|
}
|
|
107
106
|
},
|
|
108
|
-
"required": [
|
|
109
|
-
"source"
|
|
110
|
-
],
|
|
107
|
+
"required": [],
|
|
111
108
|
"type": "object"
|
|
112
109
|
},
|
|
113
110
|
"DataRelationCustomButton": {
|
|
@@ -483,7 +480,7 @@
|
|
|
483
480
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
484
481
|
},
|
|
485
482
|
"name": {
|
|
486
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
483
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
487
484
|
"minLength": 1,
|
|
488
485
|
"type": "string"
|
|
489
486
|
},
|
|
@@ -504,13 +501,9 @@
|
|
|
504
501
|
"type": "string"
|
|
505
502
|
},
|
|
506
503
|
"width": {
|
|
507
|
-
"description": "
|
|
508
|
-
"
|
|
509
|
-
|
|
510
|
-
50,
|
|
511
|
-
75,
|
|
512
|
-
100
|
|
513
|
-
],
|
|
504
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
505
|
+
"maximum": 100,
|
|
506
|
+
"minimum": 1,
|
|
514
507
|
"type": "integer"
|
|
515
508
|
}
|
|
516
509
|
},
|
|
@@ -530,10 +523,10 @@
|
|
|
530
523
|
]
|
|
531
524
|
}
|
|
532
525
|
],
|
|
533
|
-
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name
|
|
526
|
+
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name,两者同时提供时必须指向同一字段。后端允许同父级同名字段,queId 是稳定身份;name 仅在唯一时可解析,命中多个同名时报 AMBIGUOUS_FIELD_SELECTOR,此时必须改用 queId。",
|
|
534
527
|
"properties": {
|
|
535
528
|
"name": {
|
|
536
|
-
"description": "
|
|
529
|
+
"description": "字段名称;仅在当前作用域内唯一时可用于解析,同名命中多个字段时报 AMBIGUOUS_FIELD_SELECTOR,应改用 queId。",
|
|
537
530
|
"minLength": 1,
|
|
538
531
|
"type": "string"
|
|
539
532
|
},
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
84
84
|
},
|
|
85
85
|
"name": {
|
|
86
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
86
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
87
87
|
"minLength": 1,
|
|
88
88
|
"type": "string"
|
|
89
89
|
},
|
|
@@ -104,13 +104,9 @@
|
|
|
104
104
|
"type": "string"
|
|
105
105
|
},
|
|
106
106
|
"width": {
|
|
107
|
-
"description": "
|
|
108
|
-
"
|
|
109
|
-
|
|
110
|
-
50,
|
|
111
|
-
75,
|
|
112
|
-
100
|
|
113
|
-
],
|
|
107
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
108
|
+
"maximum": 100,
|
|
109
|
+
"minimum": 1,
|
|
114
110
|
"type": "integer"
|
|
115
111
|
}
|
|
116
112
|
},
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
84
84
|
},
|
|
85
85
|
"name": {
|
|
86
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
86
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
87
87
|
"minLength": 1,
|
|
88
88
|
"type": "string"
|
|
89
89
|
},
|
|
@@ -104,13 +104,9 @@
|
|
|
104
104
|
"type": "string"
|
|
105
105
|
},
|
|
106
106
|
"width": {
|
|
107
|
-
"description": "
|
|
108
|
-
"
|
|
109
|
-
|
|
110
|
-
50,
|
|
111
|
-
75,
|
|
112
|
-
100
|
|
113
|
-
],
|
|
107
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
108
|
+
"maximum": 100,
|
|
109
|
+
"minimum": 1,
|
|
114
110
|
"type": "integer"
|
|
115
111
|
}
|
|
116
112
|
},
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
202
202
|
},
|
|
203
203
|
"name": {
|
|
204
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
204
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
205
205
|
"minLength": 1,
|
|
206
206
|
"type": "string"
|
|
207
207
|
},
|
|
@@ -222,13 +222,9 @@
|
|
|
222
222
|
"type": "string"
|
|
223
223
|
},
|
|
224
224
|
"width": {
|
|
225
|
-
"description": "
|
|
226
|
-
"
|
|
227
|
-
|
|
228
|
-
50,
|
|
229
|
-
75,
|
|
230
|
-
100
|
|
231
|
-
],
|
|
225
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
226
|
+
"maximum": 100,
|
|
227
|
+
"minimum": 1,
|
|
232
228
|
"type": "integer"
|
|
233
229
|
}
|
|
234
230
|
},
|
|
@@ -248,10 +244,10 @@
|
|
|
248
244
|
]
|
|
249
245
|
}
|
|
250
246
|
],
|
|
251
|
-
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name
|
|
247
|
+
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name,两者同时提供时必须指向同一字段。后端允许同父级同名字段,queId 是稳定身份;name 仅在唯一时可解析,命中多个同名时报 AMBIGUOUS_FIELD_SELECTOR,此时必须改用 queId。",
|
|
252
248
|
"properties": {
|
|
253
249
|
"name": {
|
|
254
|
-
"description": "
|
|
250
|
+
"description": "字段名称;仅在当前作用域内唯一时可用于解析,同名命中多个字段时报 AMBIGUOUS_FIELD_SELECTOR,应改用 queId。",
|
|
255
251
|
"minLength": 1,
|
|
256
252
|
"type": "string"
|
|
257
253
|
},
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
79
79
|
},
|
|
80
80
|
"name": {
|
|
81
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
81
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
82
82
|
"minLength": 1,
|
|
83
83
|
"type": "string"
|
|
84
84
|
},
|
|
@@ -99,13 +99,9 @@
|
|
|
99
99
|
"type": "string"
|
|
100
100
|
},
|
|
101
101
|
"width": {
|
|
102
|
-
"description": "
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
50,
|
|
106
|
-
75,
|
|
107
|
-
100
|
|
108
|
-
],
|
|
102
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
103
|
+
"maximum": 100,
|
|
104
|
+
"minimum": 1,
|
|
109
105
|
"type": "integer"
|
|
110
106
|
}
|
|
111
107
|
},
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
79
79
|
},
|
|
80
80
|
"name": {
|
|
81
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
81
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
82
82
|
"minLength": 1,
|
|
83
83
|
"type": "string"
|
|
84
84
|
},
|
|
@@ -99,13 +99,9 @@
|
|
|
99
99
|
"type": "string"
|
|
100
100
|
},
|
|
101
101
|
"width": {
|
|
102
|
-
"description": "
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
50,
|
|
106
|
-
75,
|
|
107
|
-
100
|
|
108
|
-
],
|
|
102
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
103
|
+
"maximum": 100,
|
|
104
|
+
"minimum": 1,
|
|
109
105
|
"type": "integer"
|
|
110
106
|
}
|
|
111
107
|
},
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
79
79
|
},
|
|
80
80
|
"name": {
|
|
81
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
81
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
82
82
|
"minLength": 1,
|
|
83
83
|
"type": "string"
|
|
84
84
|
},
|
|
@@ -99,13 +99,9 @@
|
|
|
99
99
|
"type": "string"
|
|
100
100
|
},
|
|
101
101
|
"width": {
|
|
102
|
-
"description": "
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
50,
|
|
106
|
-
75,
|
|
107
|
-
100
|
|
108
|
-
],
|
|
102
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
103
|
+
"maximum": 100,
|
|
104
|
+
"minimum": 1,
|
|
109
105
|
"type": "integer"
|
|
110
106
|
}
|
|
111
107
|
},
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
151
151
|
},
|
|
152
152
|
"name": {
|
|
153
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
153
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
154
154
|
"minLength": 1,
|
|
155
155
|
"type": "string"
|
|
156
156
|
},
|
|
@@ -171,13 +171,9 @@
|
|
|
171
171
|
"type": "string"
|
|
172
172
|
},
|
|
173
173
|
"width": {
|
|
174
|
-
"description": "
|
|
175
|
-
"
|
|
176
|
-
|
|
177
|
-
50,
|
|
178
|
-
75,
|
|
179
|
-
100
|
|
180
|
-
],
|
|
174
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
175
|
+
"maximum": 100,
|
|
176
|
+
"minimum": 1,
|
|
181
177
|
"type": "integer"
|
|
182
178
|
}
|
|
183
179
|
},
|
|
@@ -197,10 +193,10 @@
|
|
|
197
193
|
]
|
|
198
194
|
}
|
|
199
195
|
],
|
|
200
|
-
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name
|
|
196
|
+
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name,两者同时提供时必须指向同一字段。后端允许同父级同名字段,queId 是稳定身份;name 仅在唯一时可解析,命中多个同名时报 AMBIGUOUS_FIELD_SELECTOR,此时必须改用 queId。",
|
|
201
197
|
"properties": {
|
|
202
198
|
"name": {
|
|
203
|
-
"description": "
|
|
199
|
+
"description": "字段名称;仅在当前作用域内唯一时可用于解析,同名命中多个字段时报 AMBIGUOUS_FIELD_SELECTOR,应改用 queId。",
|
|
204
200
|
"minLength": 1,
|
|
205
201
|
"type": "string"
|
|
206
202
|
},
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
147
147
|
},
|
|
148
148
|
"name": {
|
|
149
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
149
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
150
150
|
"minLength": 1,
|
|
151
151
|
"type": "string"
|
|
152
152
|
},
|
|
@@ -167,13 +167,9 @@
|
|
|
167
167
|
"type": "string"
|
|
168
168
|
},
|
|
169
169
|
"width": {
|
|
170
|
-
"description": "
|
|
171
|
-
"
|
|
172
|
-
|
|
173
|
-
50,
|
|
174
|
-
75,
|
|
175
|
-
100
|
|
176
|
-
],
|
|
170
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
171
|
+
"maximum": 100,
|
|
172
|
+
"minimum": 1,
|
|
177
173
|
"type": "integer"
|
|
178
174
|
}
|
|
179
175
|
},
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
79
79
|
},
|
|
80
80
|
"name": {
|
|
81
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
81
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
82
82
|
"minLength": 1,
|
|
83
83
|
"type": "string"
|
|
84
84
|
},
|
|
@@ -99,13 +99,9 @@
|
|
|
99
99
|
"type": "string"
|
|
100
100
|
},
|
|
101
101
|
"width": {
|
|
102
|
-
"description": "
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
50,
|
|
106
|
-
75,
|
|
107
|
-
100
|
|
108
|
-
],
|
|
102
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
103
|
+
"maximum": 100,
|
|
104
|
+
"minimum": 1,
|
|
109
105
|
"type": "integer"
|
|
110
106
|
}
|
|
111
107
|
},
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
79
79
|
},
|
|
80
80
|
"name": {
|
|
81
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
81
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
82
82
|
"minLength": 1,
|
|
83
83
|
"type": "string"
|
|
84
84
|
},
|
|
@@ -99,13 +99,9 @@
|
|
|
99
99
|
"type": "string"
|
|
100
100
|
},
|
|
101
101
|
"width": {
|
|
102
|
-
"description": "
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
50,
|
|
106
|
-
75,
|
|
107
|
-
100
|
|
108
|
-
],
|
|
102
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
103
|
+
"maximum": 100,
|
|
104
|
+
"minimum": 1,
|
|
109
105
|
"type": "integer"
|
|
110
106
|
}
|
|
111
107
|
},
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
79
79
|
},
|
|
80
80
|
"name": {
|
|
81
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
81
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
82
82
|
"minLength": 1,
|
|
83
83
|
"type": "string"
|
|
84
84
|
},
|
|
@@ -99,13 +99,9 @@
|
|
|
99
99
|
"type": "string"
|
|
100
100
|
},
|
|
101
101
|
"width": {
|
|
102
|
-
"description": "
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
50,
|
|
106
|
-
75,
|
|
107
|
-
100
|
|
108
|
-
],
|
|
102
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
103
|
+
"maximum": 100,
|
|
104
|
+
"minimum": 1,
|
|
109
105
|
"type": "integer"
|
|
110
106
|
}
|
|
111
107
|
},
|
|
@@ -125,10 +121,10 @@
|
|
|
125
121
|
]
|
|
126
122
|
}
|
|
127
123
|
],
|
|
128
|
-
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name
|
|
124
|
+
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name,两者同时提供时必须指向同一字段。后端允许同父级同名字段,queId 是稳定身份;name 仅在唯一时可解析,命中多个同名时报 AMBIGUOUS_FIELD_SELECTOR,此时必须改用 queId。",
|
|
129
125
|
"properties": {
|
|
130
126
|
"name": {
|
|
131
|
-
"description": "
|
|
127
|
+
"description": "字段名称;仅在当前作用域内唯一时可用于解析,同名命中多个字段时报 AMBIGUOUS_FIELD_SELECTOR,应改用 queId。",
|
|
132
128
|
"minLength": 1,
|
|
133
129
|
"type": "string"
|
|
134
130
|
},
|
|
@@ -258,7 +258,7 @@
|
|
|
258
258
|
"description": "普通字段的默认值;后端 queDefaultValue 为字符串,因此数字等字面量也必须以字符串传入。defaultType 为 1 时表示静态文本,为 3 时表示公式文本,为 2 时不携带字面量默认值。表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
|
|
259
259
|
},
|
|
260
260
|
"name": {
|
|
261
|
-
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId
|
|
261
|
+
"description": "字段展示名称;新增字段必填,已有字段可在携带 queId 时省略;同父级允许同名(后端以 queId 为字段身份),配置引用建议携带 queId。",
|
|
262
262
|
"minLength": 1,
|
|
263
263
|
"type": "string"
|
|
264
264
|
},
|
|
@@ -279,13 +279,9 @@
|
|
|
279
279
|
"type": "string"
|
|
280
280
|
},
|
|
281
281
|
"width": {
|
|
282
|
-
"description": "
|
|
283
|
-
"
|
|
284
|
-
|
|
285
|
-
50,
|
|
286
|
-
75,
|
|
287
|
-
100
|
|
288
|
-
],
|
|
282
|
+
"description": "字段在所在行的宽度百分比(1-100 整数);后端不校验总和与取值,存量数据存在 33/34 等三等分布值。",
|
|
283
|
+
"maximum": 100,
|
|
284
|
+
"minimum": 1,
|
|
289
285
|
"type": "integer"
|
|
290
286
|
}
|
|
291
287
|
},
|
|
@@ -305,10 +301,10 @@
|
|
|
305
301
|
]
|
|
306
302
|
}
|
|
307
303
|
],
|
|
308
|
-
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name
|
|
304
|
+
"description": "字段选择器;用于定位应用的数据标题、数据封面、自定义编号取值来源或其他配置引用的字段。至少提供 queId 或 name,两者同时提供时必须指向同一字段。后端允许同父级同名字段,queId 是稳定身份;name 仅在唯一时可解析,命中多个同名时报 AMBIGUOUS_FIELD_SELECTOR,此时必须改用 queId。",
|
|
309
305
|
"properties": {
|
|
310
306
|
"name": {
|
|
311
|
-
"description": "
|
|
307
|
+
"description": "字段名称;仅在当前作用域内唯一时可用于解析,同名命中多个字段时报 AMBIGUOUS_FIELD_SELECTOR,应改用 queId。",
|
|
312
308
|
"minLength": 1,
|
|
313
309
|
"type": "string"
|
|
314
310
|
},
|
|
@@ -351,7 +347,7 @@
|
|
|
351
347
|
},
|
|
352
348
|
"RelationConfig": {
|
|
353
349
|
"additionalProperties": false,
|
|
354
|
-
"description": "
|
|
350
|
+
"description": "引用字段配置;引用其他应用中的数据。展示字段与权限以 displayFields 为准(后端 referQuestions 全量有序回写,queAuth 1=可编辑/2=隐藏/3=仅可见);displayField/visibleFields 为已废弃旧形态,apply 兼容接收一个版本窗口(displayField 同时视为双向绑定目标)。",
|
|
355
351
|
"properties": {
|
|
356
352
|
"beingDefaultFormulaAutoFillEnabled": {
|
|
357
353
|
"description": "是否启用引用字段的默认值公式自动填充。",
|
|
@@ -389,7 +385,32 @@
|
|
|
389
385
|
},
|
|
390
386
|
"displayField": {
|
|
391
387
|
"$ref": "#/$defs/FieldSelector",
|
|
392
|
-
"description": "
|
|
388
|
+
"description": "已废弃:主展示字段;apply 兼容翻译为 twoWayBoundField + displayFields 首项,后续版本移除。"
|
|
389
|
+
},
|
|
390
|
+
"displayFields": {
|
|
391
|
+
"description": "有序展示字段全量列表(含隐藏字段),按 ordinal 保序回写为后端 referQuestions。可为空列表:空 = 双向绑定未配展示字段的合法存量形态(后端写链路对空 referQuestions 跳过插入、读面容忍空),round-trip 空↔空稳定;与已废弃 displayField/visibleFields 不可混用,条目 queId 不可重复。",
|
|
392
|
+
"items": {
|
|
393
|
+
"additionalProperties": false,
|
|
394
|
+
"properties": {
|
|
395
|
+
"auth": {
|
|
396
|
+
"default": "visible",
|
|
397
|
+
"description": "展示字段权限;editable=可编辑(1), hidden=隐藏(2), visible=仅可见(3);缺失按 visible。",
|
|
398
|
+
"enum": [
|
|
399
|
+
"editable",
|
|
400
|
+
"hidden",
|
|
401
|
+
"visible"
|
|
402
|
+
]
|
|
403
|
+
},
|
|
404
|
+
"field": {
|
|
405
|
+
"$ref": "#/$defs/FieldSelector"
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
"required": [
|
|
409
|
+
"field"
|
|
410
|
+
],
|
|
411
|
+
"type": "object"
|
|
412
|
+
},
|
|
413
|
+
"type": "array"
|
|
393
414
|
},
|
|
394
415
|
"relationMode": {
|
|
395
416
|
"default": "single",
|
|
@@ -404,8 +425,19 @@
|
|
|
404
425
|
"minLength": 1,
|
|
405
426
|
"type": "string"
|
|
406
427
|
},
|
|
428
|
+
"twoWayBoundField": {
|
|
429
|
+
"description": "双向引用绑定的目标字段(后端 referQueId);null/省略 = 单向引用。get 读面在 referQueId 非空时必产出。",
|
|
430
|
+
"oneOf": [
|
|
431
|
+
{
|
|
432
|
+
"type": "null"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"$ref": "#/$defs/FieldSelector"
|
|
436
|
+
}
|
|
437
|
+
]
|
|
438
|
+
},
|
|
407
439
|
"visibleFields": {
|
|
408
|
-
"description": "
|
|
440
|
+
"description": "已废弃:额外展示字段;apply 兼容翻译为 displayFields 后续项,后续版本移除。",
|
|
409
441
|
"items": {
|
|
410
442
|
"$ref": "#/$defs/FieldSelector"
|
|
411
443
|
},
|
|
@@ -414,8 +446,7 @@
|
|
|
414
446
|
}
|
|
415
447
|
},
|
|
416
448
|
"required": [
|
|
417
|
-
"targetAppKey"
|
|
418
|
-
"displayField"
|
|
449
|
+
"targetAppKey"
|
|
419
450
|
],
|
|
420
451
|
"type": "object"
|
|
421
452
|
},
|