@blueking/bkflow-canvas-editor 1.1.0-beta.5 → 1.1.0-beta.7

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 CHANGED
@@ -5,9 +5,11 @@ bkflow流程编辑组件,支持流程的编辑、查看、调试以及创建
5
5
  ## 安装
6
6
 
7
7
  ```bash
8
- npm install @blueking/bkflow-canvas-editor
8
+ npm install @blueking/bkflow-canvas-editor @blueking/flow-canvas
9
9
  ```
10
10
 
11
+ `@blueking/flow-canvas` 是精确版本的 peerDependency,须与 editor 声明的版本一致;JS/CSS 均不打进 editor 产物。
12
+
11
13
  ## 使用
12
14
 
13
15
  ### 基础使用
@@ -24,6 +26,7 @@ npm install @blueking/bkflow-canvas-editor
24
26
 
25
27
  <script setup>
26
28
  import { FlowView } from 'bkflow-canvas-editor';
29
+ import '@blueking/flow-canvas/style';
27
30
  import 'bkflow-canvas-editor/style';
28
31
  import axios from 'axios';
29
32
 
@@ -35,6 +38,7 @@ npm install @blueking/bkflow-canvas-editor
35
38
  scopeData: {
36
39
  scope_type: 'space',
37
40
  scope_value: 123,
41
+ space_id: 123,
38
42
  }, // 作用域数据(必需)
39
43
  fetchUserApi: `${window.BK_COMPONENT_API_URL}/api/c/compapi/v2/usermanage/fs_list_users/`, // @deprecated 仅保留向后兼容,推荐使用 memberSelectorConfig
40
44
  // 可选:使用自定义 axios 实例
@@ -80,27 +84,29 @@ npm install @blueking/bkflow-canvas-editor
80
84
 
81
85
  #### Props
82
86
 
83
- | 参数 | 类型 | 默认值 | 说明 |
84
- | ------------------- | ---------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------- |
85
- | `flowId` | `string` | - | **必需**,流程 ID |
86
- | `apiConfig` | `FlowApiConfig` | - | **必需**,API 配置对象,详见 [API 配置](#api-配置) |
87
- | `permissions` | `{ canEdit?: boolean }` | `{ canEdit: true }` | 权限配置对象,`canEdit` 控制头部编辑按钮是否使用禁用样式 |
88
- | `thumbnail` | `boolean` | `false` | 小地图模式,启用后只显示画布内容,不显示顶部 header 和操作按钮,禁用节点点击事件 |
89
- | `enableVersion` | `boolean` | `false` | 是否开启流程版本功能,开启后会根据 `flowVersion` 的值获取对应版本的流程数据 |
90
- | `flowVersion` | `string` | - | 流程版本号,仅在 `enableVersion` 为 `true` 时生效。为空时表示草稿版本,不为空时表示指定版本 |
91
- | `showHeaderActions` | `boolean` | `true` | 是否显示头部操作按钮(编辑、执行流程、调试),仅在非小地图模式下生效 |
92
- | `defaultZoom` | `number` | `1` | x6 画布的默认缩放比例,用于控制画布的初始显示效果。取值范围建议在 0.25 到 1.5 之间 |
93
- | `bkflowSaasUrl` | `string` | - | bkflow-saas-url,用于设置 `$.context.site_url` 的值,供插件内部使用 |
94
- | `onEdit` | `() => void` | - | 编辑按钮点击回调(可选,也可以通过 `@edit` 事件监听) |
95
- | `onBack` | `() => void` | - | 返回按钮点击回调(可选,也可以通过 `@back` 事件监听) |
96
- | `onExecuteSuccess` | `(taskId: number, templateId: number) => void` | - | 执行成功回调(可选) |
87
+ | 参数 | 类型 | 默认值 | 说明 |
88
+ | ------------------- | ------------------------------------------------ | ------------------- | --------------------------------------------------------------------------------------------------------------------------- |
89
+ | `flowId` | `string` | - | **必需**,流程 ID |
90
+ | `apiConfig` | `FlowApiConfig` | - | **必需**,API 配置对象,详见 [API 配置](#api-配置) |
91
+ | `permissions` | `{ canEdit?: boolean }` | `{ canEdit: true }` | 权限配置对象,`canEdit` 控制头部编辑按钮是否使用禁用样式 |
92
+ | `thumbnail` | `boolean` | `false` | 小地图模式,启用后只显示画布内容,不显示顶部 header 和操作按钮,禁用节点点击事件 |
93
+ | `enableVersion` | `boolean` | `false` | 是否开启流程版本功能,开启后会根据 `flowVersion` 的值获取对应版本的流程数据 |
94
+ | `flowVersion` | `string` | - | 流程版本号,仅在 `enableVersion` 为 `true` 时生效。为空时表示草稿版本,不为空时表示指定版本 |
95
+ | `showHeaderActions` | `boolean` | `true` | 是否显示头部操作按钮(编辑、执行流程、调试),仅在非小地图模式下生效 |
96
+ | `defaultZoom` | `number` | `1` | x6 画布的默认缩放比例,用于控制画布的初始显示效果。取值范围建议在 0.25 到 1.5 之间 |
97
+ | `bkflowSaasUrl` | `string` | - | bkflow-saas-url,用于设置 `$.context.site_url` 的值,供插件内部使用 |
98
+ | `hideTrigger` | `boolean` | `false` | 是否隐藏基础信息中的触发器配置表单 |
99
+ | `onEdit` | `() => void` | - | 编辑按钮点击回调(可选,也可以通过 `@edit` 事件监听) |
100
+ | `onBack` | `() => void` | - | 返回按钮点击回调(可选,也可以通过 `@back` 事件监听) |
101
+ | `onExecuteSuccess` | `(result: FlowTaskExecuteSuccessResult) => void` | - | 执行成功回调(可选),参数含 `createResult`(create_task) 与 `executeResult`(operate_task),用 `executeResult.data.url` 跳转 |
97
102
 
98
103
  #### Slots
99
104
 
100
- | 插槽名 | 作用域参数 | 说明 |
101
- | ------------- | ---------- | ---------------------- |
102
- | `header` | - | 自定义头部内容 |
103
- | `inputParams` | 见下方说明 | 自定义节点输入参数组件 |
105
+ | 插槽名 | 作用域参数 | 说明 |
106
+ | ------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
107
+ | `header` | - | 自定义头部内容 |
108
+ | `inputParams` | 见下方说明 | 自定义节点输入参数组件 |
109
+ | `customFormContent` | `customFormData`、`additionalTaskParams`、`updateCustomFormData`、`updateAdditionalTaskParams` | 创建任务侧滑自定义额外表单项;`additionalTaskParams` 会合并进创建请求 |
104
110
 
105
111
  ##### inputParams 插槽作用域参数
106
112
 
@@ -146,7 +152,8 @@ npm install @blueking/bkflow-canvas-editor
146
152
  | `defaultZoom` | `number` | `1` | x6 画布的默认缩放比例,用于控制画布的初始显示效果。取值范围建议在 0.25 到 1.5 之间 |
147
153
  | `bkflowSaasUrl` | `string` | - | bkflow-saas-url,用于设置 `$.context.site_url` 的值,供插件内部使用 |
148
154
  | `enableThirdPlugin` | `boolean` | `true` | 是否启用第三方插件。设置为 `false` 时,将不加载第三方插件列表和详情,只显示内置插件 |
149
- | `quickAdd` | `QuickAddConfig` | - | 透传给底层画布的 quick-add 配置;默认启用,可自定义绑定端口、插入方向或显式关闭 |
155
+ | `quickAdd` | `QuickAddConfig`(来自 `@blueking/flow-canvas`) | - | 透传给底层画布的 quick-add 配置;默认启用,可自定义绑定端口、插入方向或显式关闭 |
156
+ | `hideTrigger` | `boolean` | `false` | 是否隐藏基础信息中的触发器配置表单 |
150
157
 
151
158
  #### Slots
152
159
 
@@ -192,6 +199,10 @@ npm install @blueking/bkflow-canvas-editor
192
199
  | ----------------------- | -------------------------------------------------- | ---------------------- | ---------------------------------------------------------- |
193
200
  | `updateNodeInputParams` | `inputParams: Record<string, PluginInputDataItem>` | `void` | 更新当前打开节点的输入参数(暂存,需点击确定按钮才会保存) |
194
201
  | `isFlowEdited` | - | `ComputedRef<boolean>` | 流程是否已编辑(只读) |
202
+ | `openGlobalVariables` | - | `void` | 打开全局变量面板 |
203
+ | `zoomToFit` | `options?: ZoomToFitOptions` | `void` | 自适应画布视口 |
204
+ | `centerContent` | - | `void` | 居中画布内容 |
205
+ | `getZoom` | - | `number` | 获取当前缩放比例 |
195
206
 
196
207
  ---
197
208
 
@@ -240,25 +251,31 @@ interface SelectPanelConfig {
240
251
 
241
252
  #### Props
242
253
 
243
- | 参数 | 类型 | 默认值 | 说明 |
244
- | ------------------ | ---------------------------------------------- | ------- | ------------------------------------------------------------------- |
245
- | `flowId` | `string` | - | **必需**,流程 ID |
246
- | `show` | `boolean` | - | **必需**,是否显示执行面板 |
247
- | `apiConfig` | `FlowApiConfig` | - | **必需**,API 配置对象,详见 [API 配置](#api-配置) |
248
- | `editable` | `boolean` | `true` | 是否可编辑 |
249
- | `showFlowEntry` | `boolean` | `false` | 是否显示流程入口 |
250
- | `bkflowSaasUrl` | `string` | - | bkflow-saas-url,用于设置 `$.context.site_url` 的值,供插件内部使用 |
251
- | `onExecuteSuccess` | `(taskId: number, templateId: number) => void` | - | 执行成功回调 |
254
+ | 参数 | 类型 | 默认值 | 说明 |
255
+ | ------------------ | ------------------------------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------- |
256
+ | `flowId` | `string` | - | **必需**,流程 ID |
257
+ | `show` | `boolean` | - | **必需**,是否显示执行面板 |
258
+ | `apiConfig` | `FlowApiConfig` | - | **必需**,API 配置对象,详见 [API 配置](#api-配置) |
259
+ | `editable` | `boolean` | `true` | 是否可编辑 |
260
+ | `showFlowEntry` | `boolean` | `false` | 是否显示流程入口 |
261
+ | `bkflowSaasUrl` | `string` | - | bkflow-saas-url,用于设置 `$.context.site_url` 的值,供插件内部使用 |
262
+ | `onExecuteSuccess` | `(result: FlowTaskExecuteSuccessResult) => void` | - | 执行成功回调,参数含 `createResult`(create_task) 与 `executeResult`(operate_task),用 `executeResult.data.url` 跳转 |
263
+
264
+ #### Slots
265
+
266
+ | 插槽名 | Slot Props | 说明 |
267
+ | ------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
268
+ | `customFormContent` | `customFormData`、`additionalTaskParams`、`updateCustomFormData`、`updateAdditionalTaskParams` | 自定义额外表单项;`additionalTaskParams` 会合并进 `createFlowTask` |
252
269
 
253
270
  #### Events
254
271
 
255
- | 事件名 | 参数 | 说明 |
256
- | -------------- | ------------------------------------ | ------------------------ |
257
- | `confirm` | `taskId: number, templateId: number` | 执行确认时触发 |
258
- | `close` | - | 关闭面板时触发 |
259
- | `update:show` | `show: boolean` | 显示状态更新时触发 |
260
- | `before-close` | - | 面板关闭前触发 |
261
- | `view-flow` | - | 点击查看排障流程按钮触发 |
272
+ | 事件名 | 参数 | 说明 |
273
+ | -------------- | -------------------------------------- | ------------------------ |
274
+ | `confirm` | `result: FlowTaskExecuteSuccessResult` | 执行确认时触发 |
275
+ | `close` | - | 关闭面板时触发 |
276
+ | `update:show` | `show: boolean` | 显示状态更新时触发 |
277
+ | `before-close` | - | 面板关闭前触发 |
278
+ | `view-flow` | - | 点击查看排障流程按钮触发 |
262
279
 
263
280
  ---
264
281
 
@@ -340,6 +357,92 @@ interface SelectPanelConfig {
340
357
 
341
358
  ---
342
359
 
360
+ ### FlowDetail 组件
361
+
362
+ 统一的流程详情组件,将「查看 / 编辑 / 调试」收敛到一个入口,通过 `permissions` 精确控制能力。推荐新接入方使用 `FlowDetail` 替代 `FlowMockDebug`。
363
+
364
+ > `FlowDetail` 仅支持 Vue 3。`FlowEdit` / `FlowView` 的既有行为、Props/Emits 不受影响,可继续使用。
365
+
366
+ #### 安装与基础示例
367
+
368
+ ```vue
369
+ <template>
370
+ <FlowDetail
371
+ :flow-id="flowId"
372
+ :api-config="apiConfig"
373
+ :permissions="{ canEdit: true, canDebug: true }"
374
+ @save="handleSave"
375
+ @back="handleBack" />
376
+ </template>
377
+
378
+ <script setup>
379
+ import { FlowDetail } from '@blueking/bkflow-canvas-editor';
380
+ import '@blueking/flow-canvas/style';
381
+ import '@blueking/bkflow-canvas-editor/style';
382
+
383
+ const flowId = '2085';
384
+ const apiConfig = {
385
+ scopeData: { scope_type: 'space', scope_value: 171, space_id: 171 },
386
+ };
387
+ </script>
388
+ ```
389
+
390
+ #### Props
391
+
392
+ | 参数 | 类型 | 默认值 | 说明 |
393
+ | ------------- | --------------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------- |
394
+ | `flowId` | `string` | - | **必需**,流程 ID |
395
+ | `apiConfig` | `FlowApiConfig \| FlowDetailApiConfig` | - | **必需**,API 配置对象;`canDebug=true` 时需一并提供调试方法(见下) |
396
+ | `permissions` | `Partial<FlowDetailPermissions>` | `{ canEdit: false, canDebug: false }` | 权限配置,**默认全部拒绝**,需显式开启 |
397
+ | `enableVersion` / `flowVersion` | `boolean` / `string` | `false` / - | 流程版本功能,语义与 FlowView/FlowEdit 一致 |
398
+ | `defaultZoom` / `quickAdd` / `hideTrigger` / `bkflowSaasUrl` | 同 FlowEdit | - | 透传给内部画布与信息侧滑 |
399
+
400
+ #### Events
401
+
402
+ | 事件名 | 参数 | 说明 |
403
+ | ------------- | ------------------------ | -------------------------- |
404
+ | `save` | `flowData: FlowTemplate` | 显式保存成功后触发 |
405
+ | `saveSuccess` | - | 显式保存成功后触发 |
406
+ | `back` | - | 返回按钮点击时触发 |
407
+ | `createVariable` | `{ keyword, cursorIndex }` | 请求新建全局变量时触发 |
408
+
409
+ #### 权限矩阵
410
+
411
+ `permissions` 默认拒绝,四种组合如下:
412
+
413
+ | `canEdit` | `canDebug` | 效果 |
414
+ | --------- | ---------- | ---------------------------------------------------------- |
415
+ | `false` | `false` | 纯只读查看,无保存、无调试入口,且**不请求任何调试接口** |
416
+ | `true` | `false` | 可编辑与保存,无调试入口 |
417
+ | `false` | `true` | 只读画布 + 全流程/单节点调试(调试期间流程本就不可编辑) |
418
+ | `true` | `true` | 可编辑、保存与完整调试;调试运行中锁定编辑(画布转 `view`)|
419
+
420
+ #### 调试能力
421
+
422
+ - **全流程调试**:头部调试入口填写全局输入后启动,前端按 2500ms(失败退避 5000ms)轮询 `/context/`,可随时终止。
423
+ - **单节点 real**:节点详情「调试配置」Tab 内直接以真实逻辑同步执行单步,完成后刷新 `context`。
424
+ - **单节点 Mock**:配置 Mock 输出参数后执行(内部顺序:保存 Mock → 单步执行 mock);执行时跳过该节点并以 Mock 输出替代实际输出,Mock 节点在后续全流程中保留 `MOCK` 标签。
425
+ - **取消 Mock**:清除节点的持久 Mock 配置。
426
+ - **终止**:仅全流程运行中可终止;单步为同步调试,无终止。
427
+ - **保存联动**:`canDebug` 且 `context` 空闲时,保存成功后会查询 `reset_impact` 并自动清理失效节点的调试结果。
428
+
429
+ #### 调试 API 契约(`canDebug=true` 必需)
430
+
431
+ 消费方若传入完整的 api 配置对象(而非仅 `scopeData`),当 `canDebug=true` 时**必须**一并提供以下调试方法,否则触发调试会在调用点抛错:
432
+
433
+ `fetchDebugContext`、`fetchDebugInputSchema`、`fetchDebugResetImpact`、`updateNodeDebugMock`、`runNodeDebugStep`、`runGlobalDebug`、`terminateDebug`、`resetDebugResult`(签名见 `DebugApiServices`)。
434
+
435
+ 约定:
436
+
437
+ - 前端以 `debug_context`(后端 `build_context_view`)为**唯一事实源**,不新增 `node_input_values` 接口。`active_*`(当前持锁任务)与 `last_*`(最近一次运行)按顶层 `status` 分支选用。
438
+ - 建议后端在 `debug_context` 透出 `mock_outputs` / `mock_error` / `outputs`,否则刷新后 Mock 输出与「输出结果/重新编辑」回填会缺数据。
439
+ - 调试接口与普通接口同源:走后端 python 包 bkflow_sdk `TemplateViewSet` 的 `/bkflow/template/debug_*`,全站信封 `{result, data, message}`。走内置 `useFlowApi()` 时自动获得全部调试方法。
440
+ - 调试仍使用**独立的 Axios 实例**,**不复用**共享的自动 toast 拦截器:成功解信封取 `data`、`result:false` 时 reject,交由调试控制器统一处理(锁定冲突刷新、缺失变量在节点 UI 展示)。锁定/幂等语义由 `code`/`message` 识别(具体码值联调确认)。
441
+
442
+ > **Deprecated**:`FlowMockDebug` 已废弃,请改用 `FlowDetail` 并开启 `permissions.canDebug`。`FlowMockDebug` 将在下个大版本移除。
443
+
444
+ ---
445
+
343
446
  ## 使用示例
344
447
 
345
448
  ### 基础使用
@@ -364,6 +467,7 @@ interface SelectPanelConfig {
364
467
  scopeData: {
365
468
  scope_type: 'space',
366
469
  scope_value: 123,
470
+ space_id: 123,
367
471
  },
368
472
  };
369
473
 
@@ -427,6 +531,7 @@ interface SelectPanelConfig {
427
531
  scopeData: {
428
532
  scope_type: "space",
429
533
  scope_value: 123,
534
+ space_id: 123,
430
535
  },
431
536
  };
432
537
 
@@ -459,6 +564,7 @@ interface SelectPanelConfig {
459
564
  scopeData: {
460
565
  scope_type: 'space',
461
566
  scope_value: 123,
567
+ space_id: 123,
462
568
  },
463
569
  };
464
570
  </script>
@@ -514,6 +620,7 @@ interface SelectPanelConfig {
514
620
 
515
621
  <script setup>
516
622
  import { FlowView } from 'bkflow-canvas-editor';
623
+ import '@blueking/flow-canvas/style';
517
624
  import 'bkflow-canvas-editor/style';
518
625
 
519
626
  const flowId = '123';
@@ -521,6 +628,7 @@ interface SelectPanelConfig {
521
628
  scopeData: {
522
629
  scope_type: 'space',
523
630
  scope_value: 123,
631
+ space_id: 123,
524
632
  },
525
633
  };
526
634
  </script>
@@ -563,6 +671,7 @@ interface SelectPanelConfig {
563
671
  scopeData: {
564
672
  scope_type: 'space',
565
673
  scope_value: 123,
674
+ space_id: 123,
566
675
  },
567
676
  };
568
677
  </script>
@@ -586,6 +695,7 @@ interface SelectPanelConfig {
586
695
  scopeData: {
587
696
  scope_type: 'space',
588
697
  scope_value: 123,
698
+ space_id: 123,
589
699
  },
590
700
  };
591
701
  </script>
@@ -612,6 +722,7 @@ interface SelectPanelConfig {
612
722
  scopeData: {
613
723
  scope_type: 'space',
614
724
  scope_value: 123,
725
+ space_id: 123,
615
726
  },
616
727
  };
617
728
  </script>
@@ -682,6 +793,7 @@ interface SelectPanelConfig {
682
793
  scopeData: {
683
794
  scope_type: 'space',
684
795
  scope_value: 123,
796
+ space_id: 123,
685
797
  },
686
798
  };
687
799
  </script>
@@ -706,6 +818,7 @@ interface SelectPanelConfig {
706
818
  scopeData: {
707
819
  scope_type: 'space',
708
820
  scope_value: 123,
821
+ space_id: 123,
709
822
  },
710
823
  };
711
824
  </script>
@@ -758,6 +871,7 @@ interface SelectPanelConfig {
758
871
  scopeData: {
759
872
  scope_type: 'space',
760
873
  scope_value: 123,
874
+ space_id: 123,
761
875
  },
762
876
  };
763
877
 
@@ -797,6 +911,7 @@ interface SelectPanelConfig {
797
911
  scopeData: {
798
912
  scope_type: 'space',
799
913
  scope_value: 123,
914
+ space_id: 123,
800
915
  },
801
916
  };
802
917
 
@@ -840,6 +955,7 @@ interface SelectPanelConfig {
840
955
  scopeData: {
841
956
  scope_type: 'space',
842
957
  scope_value: 123,
958
+ space_id: 123,
843
959
  },
844
960
  };
845
961
  </script>
@@ -879,6 +995,7 @@ interface SelectPanelConfig {
879
995
  scopeData: {
880
996
  scope_type: 'space',
881
997
  scope_value: 123,
998
+ space_id: 123,
882
999
  },
883
1000
  };
884
1001
  </script>
@@ -907,6 +1024,7 @@ interface SelectPanelConfig {
907
1024
  scopeData: {
908
1025
  scope_type: 'space',
909
1026
  scope_value: 123,
1027
+ space_id: 123,
910
1028
  },
911
1029
  };
912
1030
 
@@ -947,6 +1065,7 @@ interface SelectPanelConfig {
947
1065
  scopeData: {
948
1066
  scope_type: 'space',
949
1067
  scope_value: 123,
1068
+ space_id: 123,
950
1069
  },
951
1070
  };
952
1071
 
@@ -993,6 +1112,7 @@ interface SelectPanelConfig {
993
1112
  scopeData: {
994
1113
  scope_type: 'space',
995
1114
  scope_value: 123,
1115
+ space_id: 123,
996
1116
  },
997
1117
  };
998
1118
  </script>
@@ -1018,6 +1138,8 @@ interface FlowApiConfig {
1018
1138
  scopeData: {
1019
1139
  scope_type: string;
1020
1140
  scope_value: number;
1141
+ /** 业务方传入的空间 ID,调试接口专用,语义独立于 scope_value */
1142
+ space_id: number;
1021
1143
  };
1022
1144
  /**
1023
1145
  * 用户查询 API 地址
@@ -1117,6 +1239,7 @@ const baseConfig: FlowApiConfig = {
1117
1239
  scopeData: {
1118
1240
  scope_type: 'space',
1119
1241
  scope_value: 123,
1242
+ space_id: 123,
1120
1243
  },
1121
1244
  fetchUserApi: `${window.BK_COMPONENT_API_URL}/api/c/compapi/v2/usermanage/fs_list_users/`,
1122
1245
  };
@@ -1174,10 +1297,11 @@ import type {
1174
1297
  UniformApiPluginInputsItem,
1175
1298
  PluginDetailCommon,
1176
1299
  SelectPanelConfig,
1177
- QuickAddConfig,
1178
- InsertDirection,
1179
1300
  // ... 更多类型
1180
1301
  } from 'bkflow-canvas-editor';
1302
+
1303
+ // 引擎类型从 @blueking/flow-canvas 导入,本包不再再导出
1304
+ import type { QuickAddConfig, InsertDirection } from '@blueking/flow-canvas';
1181
1305
  ```
1182
1306
 
1183
1307
  高级集成场景下,还可以从 `@blueking/bkflow-canvas-editor/advanced` 导入完整 API 类型和 `useFlowApi`:
@@ -1218,7 +1342,7 @@ resolve: {
1218
1342
  4. **自动合并 scopeData**:所有 API 请求会自动合并 `scopeData` 到请求参数中(GET 请求合并到 params,POST/PUT 请求合并到请求体)
1219
1343
  5. **权限检查**:权限检查通过 `permissions` props 传入布尔值
1220
1344
  6. **路由跳转**:路由跳转需要通过事件回调处理,组件内部不直接使用 vue-router
1221
- 7. **样式引入**:样式文件需要单独引入:`import 'bkflow-canvas-editor/style'`
1345
+ 7. **样式引入**:需分别引入引擎与业务样式:`import '@blueking/flow-canvas/style'` 与 `import 'bkflow-canvas-editor/style'`
1222
1346
  8. **输入参数更新机制**:
1223
1347
  - 使用 `inputParams` 插槽时,通过 `updateInputParams` 或 `updateNodeInputParams` 方法更新的数据会暂存到节点配置面板
1224
1348
  - 用户需要点击节点配置面板的"确定"按钮,数据才会真正保存到流程中
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./composable-CtSJfiSD.cjs");exports.PLUGIN_GROUP_ICON_MAP=e.PLUGIN_GROUP_ICON_MAP;exports.useFlowApi=e.useFlowApi;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./composable-YlUVct40.cjs");exports.PLUGIN_GROUP_ICON_MAP=e.PLUGIN_GROUP_ICON_MAP;exports.useFlowApi=e.useFlowApi;