@qingflow-tech/qingflow-cli 1.1.54 → 1.1.55
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 +3 -3
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/skills/qingflow-cli/reference/builder/50-views.md +6 -6
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/complete.json +7 -6
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/button-config.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/data-permission.json +9 -8
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/display.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/operation-permission.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/query-condition.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/summary.json +5 -4
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Qingflow CLI 是轻流面向开发者和 AI Agent 的命令行工具。它把轻
|
|
|
7
7
|
## 安装
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm install @qingflow-tech/qingflow-cli@1.1.
|
|
10
|
+
npm install @qingflow-tech/qingflow-cli@1.1.55
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
推荐从官网复制这一条一键安装 Qingflow CLI:
|
|
@@ -21,7 +21,7 @@ npx qingflow-cli@latest install
|
|
|
21
21
|
## 运行
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
npx -y -p @qingflow-tech/qingflow-cli@1.1.
|
|
24
|
+
npx -y -p @qingflow-tech/qingflow-cli@1.1.55 qingflow
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
全局安装后可以直接运行:
|
|
@@ -62,7 +62,7 @@ qingflow-skills install --agent codex --scope user
|
|
|
62
62
|
如果你通过一次性 `npx -p` 执行 skills 安装,建议加 `--copy`,避免 symlink 指向 npm 临时执行缓存:
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
npx -y -p @qingflow-tech/qingflow-cli@1.1.
|
|
65
|
+
npx -y -p @qingflow-tech/qingflow-cli@1.1.55 qingflow-skills install --agent codex --scope user --copy
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
`qingflow-skills install` 默认使用 symlink,且遇到同名 skill 不会覆盖;只有显式传入 `--force` 才会替换。
|
package/package.json
CHANGED
package/pyproject.toml
CHANGED
|
@@ -27,7 +27,7 @@ app get -> app get fields/views -> views schema -> prepare one view -> views val
|
|
|
27
27
|
- **完整声明的提取边界**:`views get --schema-kind complete` 优先读取 `buttonConfigVO` 中的完整按钮绑定。公式过滤、无法解析的过滤规则或按钮 ID 会使该视图返回 `VIEW_NOT_EXTRACTABLE`(见 `details.config_read_errors[].gaps`),不会生成删减后的可写声明。修改这类视图的其他属性应使用局部 patch。更新现有视图时,已配置的系统字段原样保留,不补默认值、不重算序号;读接口生成的未配置占位对象不会写回,不会因此新增系统字段配置。
|
|
28
28
|
- **版本协商**:apply 显式传 `--schema-version v1alpha1` 时启用版本化校验:非法声明返回 `INVALID_SPEC` 且**不写**;响应信封回显 `schemaVersion`。apply 不传时行为与旧版一致(别名宽容,零破坏)。
|
|
29
29
|
- **公开视图类型**:summary 与 complete 均支持 `table`、`card`、`board`、`gantt`、`hierarchy`、`calendar`。层级视图须提供 `hierarchy: {title_que_id, children_que_id}`;日历视图须提供 `calendar: {title_que_id, date_que_id}`,可选 `color_que_id`。日历 `date_que_id` 可引用表单日期字段,也可用系统字段 `2`(申请时间)或 `3`(更新时间)。
|
|
30
|
-
- **complete 档配置速览**:`data_permission
|
|
30
|
+
- **complete 档配置速览**:`data_permission` 默认 `{type: custom, scope: all}`。`type=config` 跟随应用成员授权,忽略 `scope` 与 `filters`;`type=custom` 才使用 `scope`,其中 `scope=custom` 的规则写 `filters`。`sort`(`[{que_id, ascending}]`,空数组=恢复默认排序);`hierarchy`(可选 `root_filter`);`card`/`gantt`/`calendar`/`display`/`record`/`share` 配置组。
|
|
31
31
|
|
|
32
32
|
## Update existing views
|
|
33
33
|
|
|
@@ -156,14 +156,14 @@ CLI 将参数与文件内容拼装为服务层载荷,**顶层键**如下:
|
|
|
156
156
|
|
|
157
157
|
| 目标场景 | 写到哪里 | 推荐写法 | 不要这样做 |
|
|
158
158
|
| --- | --- | --- | --- |
|
|
159
|
-
|
|
|
159
|
+
| 视图自定义数据范围 | `data_permission` + `filters` | `{"type":"custom","scope":"custom"}`,规则写 `filters` | 不要只写 `filters`;`type=config` 或 `scope` 为 all/oneself/dept/subordinate 时 `filters` 不生效 |
|
|
160
160
|
| 前端查询面板显示哪些字段 | `query_conditions.rows` | `[["客户名称", "负责人"], ["创建时间"]]` | 不要写筛选值;不要把它当 OR 条件 |
|
|
161
161
|
| 按钮显示条件 | `action_buttons[].visible_when` | `{"que_id":101,"operator":"eq","value":"已完工"}` | 不要手写后端判断符 |
|
|
162
162
|
| 当前记录创建下游记录时传值 | `field_mappings` | `{"source_field":"数据ID","target_field":"关联工单"}` | 不要放在 `header` 按钮;`header` 没有当前记录上下文 |
|
|
163
163
|
| 关联视图/关联报表按当前记录过滤 | `associated-resource apply.match_mappings` | `{"target_field":"关联客户","operator":"eq","source_field":"数据ID"}` | 不要用 `filters` 或 `query_conditions` 代替 |
|
|
164
164
|
| 关联视图/关联报表静态筛选 | `match_mappings` | `{"target_field":"状态","operator":"eq","value":"有效"}` | 不要混用 raw `match_rules` |
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
短规则:**数据权限默认 `custom + all`;自定义范围才写 `filters`(且 `type=custom`、`scope=custom`);查询栏用 `query_conditions`;当前记录匹配用 `match_mappings`;当前记录传参用 `field_mappings`。**
|
|
167
167
|
|
|
168
168
|
### 6.1 `filters`
|
|
169
169
|
|
|
@@ -171,7 +171,7 @@ CLI 将参数与文件内容拼装为服务层载荷,**顶层键**如下:
|
|
|
171
171
|
- **`operator`**:统一公共语义,推荐 `eq` / `neq` / `in` / `contains` / `gte` / `lte` / `is_empty` / `not_empty`;兼容 `equal` / `equals` / `=` / `!=` / `any_of` / `one_of` / `empty` 等别名(以契约为准)。
|
|
172
172
|
- **`in` 等多值**:传 **列表**;**`value`** 为列表时可作别名。
|
|
173
173
|
- **`value` 按字段类型写**:文本/数字/日期直接写业务值;单选/多选/是否优先写选项文本,也支持 option id;成员/部门/关联记录固定筛选优先写唯一 id 或 `{id,value}`。完整规则见 **[reference/match-rules.md](./reference/match-rules.md)**。
|
|
174
|
-
-
|
|
174
|
+
- **语义**:`filters` 是 `data_permission.type=custom` 且 `scope=custom` 时的数据范围,不是叠在 `config` 或预设范围上的第二层筛选。不要把前端查询栏字段写进 `filters`。
|
|
175
175
|
- **写入 / 读回语义**:智能体始终写 `que_id + operator + value/values`;CLI 内部自动转换目标协议,读回也会还原成 `operator/value` 语义。不要手写或解释后端判断符。
|
|
176
176
|
|
|
177
177
|
示例:
|
|
@@ -184,12 +184,12 @@ CLI 将参数与文件内容拼装为服务层载荷,**顶层键**如下:
|
|
|
184
184
|
|
|
185
185
|
`query_conditions` 是前端“查询条件/查询栏”配置,和 `filters` 是两套语义。新建业务视图必须配置 `query_conditions`,不要交付没有查询面板的业务视图。
|
|
186
186
|
|
|
187
|
-
- `filters
|
|
187
|
+
- `filters`:仅 `type=custom` 且 `scope=custom` 时作为视图数据范围。默认权限是 `custom + all`,此时不要写 `filters`。
|
|
188
188
|
- `query_conditions`:只配置前端查询面板可输入哪些字段;用户输入查询值后才生效。
|
|
189
189
|
- `rows` 是字段布局矩阵,不表示 OR 条件。
|
|
190
190
|
- `rows` 只放前端查询面板支持的字段:文本、长文本、数字、金额、日期/时间、单选/多选、成员、部门、手机号、邮箱、布尔。
|
|
191
191
|
- 不要把 relation、attachment、subtable/subfield、address、Q-Linker 或 code-block 字段放进 `query_conditions`。
|
|
192
|
-
-
|
|
192
|
+
- 需要自定义数据范围时,写 `data_permission.type=custom`、`scope=custom` 和 `filters`;需要关联报表/关联视图按当前记录匹配时用 `builder associated-resource apply` 的 `match_mappings`。
|
|
193
193
|
- 每个新建业务视图至少配置 2-4 个查询字段;优先选择标题/编号、状态、负责人、日期等高频检索字段。
|
|
194
194
|
|
|
195
195
|
示例:
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
},
|
|
53
53
|
"data_permission": {
|
|
54
54
|
"$ref": "#/$defs/DataPermission",
|
|
55
|
-
"dataPermissionDescription": "
|
|
55
|
+
"dataPermissionDescription": "数据权限。默认写 {type: custom, scope: all}。type 选来源:config 跟随应用成员授权,此时 scope 与 filters 不参与查询;custom 才使用本视图 scope。scope=custom 时规则写 filters,编译为 viewgraphLimit。"
|
|
56
56
|
},
|
|
57
57
|
"visibility": {
|
|
58
58
|
"$ref": "#/$defs/Visibility",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
}
|
|
76
76
|
]
|
|
77
77
|
},
|
|
78
|
-
"filtersDescription": "
|
|
78
|
+
"filtersDescription": "数据范围规则,仅 type=custom 且 scope=custom 时生效,编译为 viewgraphLimit。不会叠在 config 或 all/oneself/dept/subordinate 上。扁平 [rule,...]=单组 AND;嵌套 [[rule,...],...]=组间 OR、组内 AND。",
|
|
79
79
|
"x-backend": "viewgraphLimitType=1 + viewgraphLimit(List<List<MatchRule>> 单组);公式形态(scope=custom 的 OR 组)列 v1alpha2"
|
|
80
80
|
},
|
|
81
81
|
"sort": {
|
|
@@ -311,6 +311,7 @@
|
|
|
311
311
|
"DataPermission": {
|
|
312
312
|
"type": "object",
|
|
313
313
|
"additionalProperties": false,
|
|
314
|
+
"dataPermissionDescription": "先选来源 type,再在 type=custom 时选 scope。默认且优先写 custom + all。filters 只在 type=custom 且 scope=custom 时作为数据范围,不会叠在 config 或预设范围上。",
|
|
314
315
|
"properties": {
|
|
315
316
|
"type": {
|
|
316
317
|
"type": "string",
|
|
@@ -319,7 +320,7 @@
|
|
|
319
320
|
"custom"
|
|
320
321
|
],
|
|
321
322
|
"default": "custom",
|
|
322
|
-
"dataPermissionDescription": "
|
|
323
|
+
"dataPermissionDescription": "数据权限来源,默认 custom。未声明时按 custom + all 创建。config=跟随应用成员授权的数据权限,本视图的 scope 与 filters 不参与查询。custom=使用本视图自己的数据范围(scope)。别名 dataPermissionType(CONFIG/CUSTOM)。",
|
|
323
324
|
"x-backend": "dataPermissionType(CONFIG|CUSTOM)"
|
|
324
325
|
},
|
|
325
326
|
"scope": {
|
|
@@ -332,7 +333,7 @@
|
|
|
332
333
|
"custom"
|
|
333
334
|
],
|
|
334
335
|
"default": "all",
|
|
335
|
-
"dataScopeDescription": "
|
|
336
|
+
"dataScopeDescription": "仅 type=custom 时生效,默认 all。all=不追加数据范围;oneself=仅自己发起;dept=所在部门发起;subordinate=下属发起;custom=用 filters 作为数据范围。type=config 时不要用 scope 选择应用权限,应用授权组的范围写在成员授权上。",
|
|
336
337
|
"x-backend": "dataScope(ALL|ONESELF|DEPT|SUBORDINATE|CUSTOM)"
|
|
337
338
|
}
|
|
338
339
|
}
|
|
@@ -1132,7 +1133,7 @@
|
|
|
1132
1133
|
},
|
|
1133
1134
|
{
|
|
1134
1135
|
"kind": "data-permission",
|
|
1135
|
-
"dataPermissionDescription": "
|
|
1136
|
+
"dataPermissionDescription": "数据权限来源与范围。默认 custom + all;filters 只属于 type=custom 且 scope=custom。",
|
|
1136
1137
|
"fields": ["data_permission", "filters"]
|
|
1137
1138
|
},
|
|
1138
1139
|
{
|
|
@@ -1160,7 +1161,7 @@
|
|
|
1160
1161
|
"summary": "最小创建声明:类型/名称/展示字段 + 数据权限形状。",
|
|
1161
1162
|
"complete": "完整声明:全部公开可写字段,含各配置域与类型专属配置。",
|
|
1162
1163
|
"display": "展示字段、排序、卡片/甘特/层级/日历配置、分组字段和关联资源。",
|
|
1163
|
-
"data-permission": "
|
|
1164
|
+
"data-permission": "数据权限来源、视图数据范围和自定义范围规则。默认 custom + all。",
|
|
1164
1165
|
"operation-permission": "成员可见范围、记录日志、留言、打印和分享策略。",
|
|
1165
1166
|
"query-condition": "用户查询面板的开关、匹配模式和字段布局。",
|
|
1166
1167
|
"button-config": "系统动作按钮、自定义按钮绑定及按钮清空/合并方式。"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"summary": "最小创建声明:类型/名称/展示字段 + 数据权限形状。",
|
|
21
21
|
"complete": "完整声明:全部公开可写字段,含各配置域与类型专属配置。",
|
|
22
22
|
"display": "展示字段、排序、卡片/甘特/层级配置、分组字段和关联资源。",
|
|
23
|
-
"data-permission": "
|
|
23
|
+
"data-permission": "数据权限来源、视图数据范围和自定义范围规则。默认 custom + all。",
|
|
24
24
|
"operation-permission": "成员可见范围、记录日志、留言、打印和分享策略。",
|
|
25
25
|
"query-condition": "用户查询面板的开关、匹配模式和字段布局。",
|
|
26
26
|
"button-config": "系统动作按钮、自定义按钮绑定及按钮清空/合并方式。"
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://qingflow.com/schemas/builder/views/v1alpha1/details/data-permission.json",
|
|
4
4
|
"title": "Qingflow Views data permission configuration",
|
|
5
|
-
"dataPermissionDescription": "
|
|
5
|
+
"dataPermissionDescription": "视图数据权限片段(schema_kind=data-permission)。默认且优先写 data_permission {type: custom, scope: all}。type 选来源,scope 只在 type=custom 时生效;filters 只在 type=custom 且 scope=custom 时作为数据范围。字段直接并入完整视图声明。",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"properties": {
|
|
9
|
-
"data_permission": { "$ref": "../complete.json#/$defs/DataPermission", "dataPermissionDescription": "
|
|
9
|
+
"data_permission": { "$ref": "../complete.json#/$defs/DataPermission", "dataPermissionDescription": "数据权限。默认 {type: custom, scope: all}。config 跟随应用成员授权,忽略 scope 与 filters;custom 才使用 scope。" },
|
|
10
10
|
"filters": {
|
|
11
11
|
"type": "array",
|
|
12
12
|
"items": { "anyOf": [
|
|
13
13
|
{ "$ref": "../complete.json#/$defs/FilterRule" },
|
|
14
14
|
{ "type": "array", "items": { "$ref": "../complete.json#/$defs/FilterRule" } }
|
|
15
15
|
] },
|
|
16
|
-
"filtersDescription": "
|
|
16
|
+
"filtersDescription": "仅 type=custom 且 scope=custom 时作为数据范围,编译为 viewgraphLimit。不会叠在 config 或预设范围上。扁平数组为一组 AND,嵌套数组为组间 OR、组内 AND。规则中的 que_id 必须是整数。"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"x-qingflow-related-schemas": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"summary": "最小创建声明:类型/名称/展示字段 + 数据权限形状。",
|
|
26
26
|
"complete": "完整声明:全部公开可写字段,含各配置域与类型专属配置。",
|
|
27
27
|
"display": "展示字段、排序、卡片/甘特/层级配置、分组字段和关联资源。",
|
|
28
|
-
"data-permission": "
|
|
28
|
+
"data-permission": "数据权限来源、视图数据范围和自定义范围规则。默认 custom + all。",
|
|
29
29
|
"operation-permission": "成员可见范围、记录日志、留言、打印和分享策略。",
|
|
30
30
|
"query-condition": "用户查询面板的开关、匹配模式和字段布局。",
|
|
31
31
|
"button-config": "系统动作按钮、自定义按钮绑定及按钮清空/合并方式。"
|
|
@@ -36,11 +36,12 @@
|
|
|
36
36
|
"fieldSchema": "字段类型、默认值等表单侧细节用 app_form_schema 传 schema_kind=field 和 field_type 获取(CLI: builder app-form schema --schema-kind field --field-type TYPE)。"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
|
-
"x-qingflow-apply-semantics": "data_permission
|
|
39
|
+
"x-qingflow-apply-semantics": "新建视图默认且应优先写 data_permission type=custom、scope=all。只有要跟随应用成员授权时才用 type=config,此时不要用 scope 表达范围。filters 仅在 type=custom 且 scope=custom 时作为数据范围;省略 filters 表示保留现有规则,空数组表示清空。",
|
|
40
40
|
"x-qingflow-mode-requirements": {
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
41
|
+
"default": "未声明 data_permission 时按 custom + all 创建。需要限制行时再改 scope,不要默认改成 config。",
|
|
42
|
+
"config": "跟随应用成员授权的数据权限。视图上的 scope、filters 不参与查询。应用授权组自己可以是全部、自己、部门、下属或自定义公式,那些规则写在成员授权上,不写在视图声明里。",
|
|
43
|
+
"custom": "使用视图自己的 dataScope。scope=all 不追加范围;oneself/dept/subordinate 用预设的申请人范围,不读 filters;scope=custom 时 filters 才是数据范围规则。",
|
|
44
|
+
"filters": "只在 type=custom 且 scope=custom 时作为数据权限生效。扁平数组表示一组 AND;嵌套数组表示组间 OR、组内 AND。不是叠在 config 或预设范围上的第二层筛选。"
|
|
44
45
|
},
|
|
45
46
|
"x-qingflow-backend-semantics": {
|
|
46
47
|
"data_permission.type": "dataPermissionType(CONFIG/CUSTOM)",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"summary": "最小创建声明:类型/名称/展示字段 + 数据权限形状。",
|
|
30
30
|
"complete": "完整声明:全部公开可写字段,含各配置域与类型专属配置。",
|
|
31
31
|
"display": "展示字段、排序、卡片/甘特/层级/日历配置、分组字段和关联资源。",
|
|
32
|
-
"data-permission": "
|
|
32
|
+
"data-permission": "数据权限来源、视图数据范围和自定义范围规则。默认 custom + all。",
|
|
33
33
|
"operation-permission": "成员可见范围、记录日志、留言、打印和分享策略。",
|
|
34
34
|
"query-condition": "用户查询面板的开关、匹配模式和字段布局。",
|
|
35
35
|
"button-config": "系统动作按钮、自定义按钮绑定及按钮清空/合并方式。"
|
package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/operation-permission.json
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"summary": "最小创建声明:类型/名称/展示字段 + 数据权限形状。",
|
|
20
20
|
"complete": "完整声明:全部公开可写字段,含各配置域与类型专属配置。",
|
|
21
21
|
"display": "展示字段、排序、卡片/甘特/层级配置、分组字段和关联资源。",
|
|
22
|
-
"data-permission": "
|
|
22
|
+
"data-permission": "数据权限来源、视图数据范围和自定义范围规则。默认 custom + all。",
|
|
23
23
|
"operation-permission": "成员可见范围、记录日志、留言、打印和分享策略。",
|
|
24
24
|
"query-condition": "用户查询面板的开关、匹配模式和字段布局。",
|
|
25
25
|
"button-config": "系统动作按钮、自定义按钮绑定及按钮清空/合并方式。"
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"summary": "最小创建声明:类型/名称/展示字段 + 数据权限形状。",
|
|
18
18
|
"complete": "完整声明:全部公开可写字段,含各配置域与类型专属配置。",
|
|
19
19
|
"display": "展示字段、排序、卡片/甘特/层级配置、分组字段和关联资源。",
|
|
20
|
-
"data-permission": "
|
|
20
|
+
"data-permission": "数据权限来源、视图数据范围和自定义范围规则。默认 custom + all。",
|
|
21
21
|
"operation-permission": "成员可见范围、记录日志、留言、打印和分享策略。",
|
|
22
22
|
"query-condition": "用户查询面板的开关、匹配模式和字段布局。",
|
|
23
23
|
"button-config": "系统动作按钮、自定义按钮绑定及按钮清空/合并方式。"
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
},
|
|
53
53
|
"data_permission": {
|
|
54
54
|
"$ref": "#/$defs/DataPermission",
|
|
55
|
-
"dataPermissionDescription": "
|
|
55
|
+
"dataPermissionDescription": "数据权限。默认写 {type: custom, scope: all}。type=config 跟随应用成员授权,scope 与 filters 不参与查询;type=custom 才使用 scope。scope=custom 的规则在 complete 或 schema_kind=data-permission 的 filters 里。summary 级重放比对仅校验形状。"
|
|
56
56
|
},
|
|
57
57
|
"group_que_id": {
|
|
58
58
|
"type": "integer",
|
|
@@ -199,6 +199,7 @@
|
|
|
199
199
|
"DataPermission": {
|
|
200
200
|
"type": "object",
|
|
201
201
|
"additionalProperties": false,
|
|
202
|
+
"dataPermissionDescription": "先选来源 type,再在 type=custom 时选 scope。默认且优先写 custom + all。filters 只在 type=custom 且 scope=custom 时作为数据范围,不会叠在 config 或预设范围上。",
|
|
202
203
|
"properties": {
|
|
203
204
|
"type": {
|
|
204
205
|
"type": "string",
|
|
@@ -207,7 +208,7 @@
|
|
|
207
208
|
"custom"
|
|
208
209
|
],
|
|
209
210
|
"default": "custom",
|
|
210
|
-
"dataPermissionDescription": "
|
|
211
|
+
"dataPermissionDescription": "数据权限来源,默认 custom。未声明时按 custom + all 创建。config=跟随应用成员授权的数据权限,本视图的 scope 与 filters 不参与查询。custom=使用本视图自己的数据范围(scope)。别名 dataPermissionType(CONFIG/CUSTOM)。",
|
|
211
212
|
"x-backend": "viewgraph.dataPermissionType(CONFIG|CUSTOM)"
|
|
212
213
|
},
|
|
213
214
|
"scope": {
|
|
@@ -220,7 +221,7 @@
|
|
|
220
221
|
"custom"
|
|
221
222
|
],
|
|
222
223
|
"default": "all",
|
|
223
|
-
"dataScopeDescription": "
|
|
224
|
+
"dataScopeDescription": "仅 type=custom 时生效,默认 all。all=不追加数据范围;oneself=仅自己发起;dept=所在部门发起;subordinate=下属发起;custom=用 filters 作为数据范围(规则在 complete 或 schema_kind=data-permission)。type=config 时不要用 scope 选择应用权限,应用授权组的范围写在成员授权上。dataset-v0 实测分布:all×560 / custom×74 / oneself×71。",
|
|
224
225
|
"x-backend": "viewgraph.dataScope(ALL|ONESELF|DEPT|SUBORDINATE|CUSTOM)"
|
|
225
226
|
}
|
|
226
227
|
}
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
],
|
|
243
244
|
"kindDescriptions": {
|
|
244
245
|
"display": "展示字段、排序、卡片/甘特/层级/日历配置、分组字段和关联资源。",
|
|
245
|
-
"data-permission": "
|
|
246
|
+
"data-permission": "数据权限来源、视图数据范围和自定义范围规则。默认 custom + all。",
|
|
246
247
|
"operation-permission": "成员可见范围、记录日志、留言、打印和分享策略。",
|
|
247
248
|
"query-condition": "用户查询面板的开关、匹配模式和字段布局。",
|
|
248
249
|
"button-config": "系统动作按钮、自定义按钮绑定及按钮清空/合并方式。",
|