Skip to content
Merged

Dev #209

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/Integration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
| [流程用户体系](./user-integration.md) | `FlowOperatorGateway` / `IFlowOperator` / `GatewayContext` / 线程缓存 / 当前登录人 |
| [流程默认脚本](./script-integration.md) | 12 种脚本类型、`GroovyScriptRequest` 完整 API、`$bind`、默认脚本替换、脚本生命周期 |
| [流程事件机制](./event-integration.md) | 7 种事件、`EventPusher`、`IHandler` 订阅、异步分发管道、事务变体、推送时机 |
| [仓储抽象与持久化](./repository-integration.md) | `IRepositoryHolder`、12 个仓储接口JPA 实现、脚本仓储、锁机制 |
| [仓储抽象与持久化](./repository-integration.md) | `IRepositoryHolder`、12 个仓储接口(含 11 个 JPA 实现 + 需自行实现的 `NodeViewJavaScriptRepository`)、脚本仓储、锁机制 |
| [Spring Boot 自动配置](./auto-configuration.md) | `AutoConfiguration` 8 个 Bean、4 个 Register、必选/可选 Bean 清单 |
| [REST API](./rest-api.md) | 4 个 Controller、`mockKey`/`operatorId` 分流机制、请求/响应结构 |
| [Mock 模式](./mock-mode.md) | 全内存沙箱 `MockInstance`、15 分钟过期、接入方式 |
Expand Down
2 changes: 1 addition & 1 deletion docs/capabilities/flow-engine-framework/sub-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def run(request){

## 子流程查看主流程历史

`SubProcessStrategy.showParentProcessRecords` 控制子流程参与人能否在节点记录中查看主流程历史,默认关闭,历史流程定义保持关闭
`SubProcessStrategy.showParentProcessRecords` 控制子流程参与人能否在节点记录中查看主流程历史,默认关闭(存量历史流程定义同样保持关闭,不自动开启)

- 开启后,查询子流程节点记录会递归拼接可见的祖先流程历史、对应子流程聚合节点以及当前子流程实际记录。
- 主流程历史严格沿持久化 `fromId` 链回溯,仅展示到触发当前子流程为止的实际路径,不执行主流程未来节点推演,也不展开无关分支。
Expand Down
12 changes: 6 additions & 6 deletions docs/manual/integration-manual.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ <h1>Flow Engine 集成手册</h1>

<p>本手册面向后端与前端开发者,完整介绍如何将 Flow Engine(后端)与 flow-frontend(前端框架)集成到一个企业项目中。涵盖后端 Spring Boot 集成、前端 packages 集成能力、插件扩展机制,以及基于官方示例(后端 <code>flow-engine-example</code>、前端 <code>app-pc</code> / <code>app-mobile</code>)的集成分析。</p>

<div class="tip"><strong>适用版本</strong>:后端 <code>0.0.52</code>(Java 17 / Spring Boot 3.5.9);前端 <code>0.0.52</code>(React 18 / TypeScript 5 / pnpm 10 monorepo)。</div>
<div class="tip"><strong>适用版本</strong>:后端 <code>0.1.0-SNAPSHOT</code>(Java 17 / Spring Boot 3.5.9);前端 <code>0.1.9</code>(React 18 / TypeScript 5 / pnpm 10 monorepo)。</div>

<div class="toc">
<h3>目录</h3>
Expand Down Expand Up @@ -222,14 +222,14 @@ <h3>2.1 一站式引入(推荐)</h3>
<pre><code>&lt;dependency&gt;
&lt;groupId&gt;com.codingapi.flow&lt;/groupId&gt;
&lt;artifactId&gt;flow-engine-starter&lt;/artifactId&gt;
&lt;version&gt;0.0.52&lt;/version&gt;
&lt;version&gt;0.1.0-SNAPSHOT&lt;/version&gt;
&lt;/dependency&gt;</code></pre>

<p>starter 通过 Spring Boot 自动装配机制注册以下 <code>AutoConfiguration</code>:</p>
<table>
<tr><th>自动配置类</th><th>来源模块</th><th>职责</th></tr>
<tr><td><code>com.codingapi.flow.AutoConfiguration</code></td><td>flow-engine-starter</td><td>注册 FlowService / WorkflowService / FlowRecordService / RepositoryHolderContext / 网关上下文 / 脚本上下文 / 延迟任务 Runner</td></tr>
<tr><td><code>com.codingapi.flow.infra.AutoConfiguration</code></td><td>flow-engine-starter-infra</td><td>注册 10 个 JPA 仓储实现,并通过 <code>FlowJpaPackageRegistrar</code> 注册 JPA 扫描包 <code>com.codingapi.flow.infra</code></td></tr>
<tr><td><code>com.codingapi.flow.infra.AutoConfiguration</code></td><td>flow-engine-starter-infra</td><td>注册 11 个 JPA 仓储实现,并通过 <code>FlowJpaPackageRegistrar</code> 注册 JPA 扫描包 <code>com.codingapi.flow.infra</code></td></tr>
<tr><td><code>com.codingapi.flow.api.AutoConfiguration</code></td><td>flow-engine-starter-api</td><td>扫描 <code>com.codingapi.flow.api</code>,注册命令类 Controller(<code>/api/cmd/**</code>)</td></tr>
<tr><td><code>com.codingapi.flow.query.AutoConfiguration</code></td><td>flow-engine-starter-query</td><td>扫描 <code>com.codingapi.flow.query</code>,注册查询类 Controller(<code>/api/query/**</code>)</td></tr>
</table>
Expand Down Expand Up @@ -285,8 +285,8 @@ <h2 id="be-extends">5. 后端:扩展点</h2>
<table>
<tr><th>扩展点</th><th>说明</th></tr>
<tr><td>事件订阅</td><td>实现 <code>IHandler&lt;E&gt;</code> 订阅 7 种事件:Start / Todo / Done / Finish / Urge / Revoke / Delete,自动被 Spring 扫描</td></tr>
<tr><td>节点策略</td><td>15+ 策略(OperatorLoad / RecordMerge / Revoke / Router / FormFieldPermission 等)由 <code>NodeStrategyManager</code> 持有,可扩展</td></tr>
<tr><td>自定义动作</td><td>8 种内置动作(PASS/REJECT/RETURN/TRANSFER/DELEGATE/ADD_AUDIT/SAVE/CUSTOM),扩展 <code>BaseAction</code> 实现新动作</td></tr>
<tr><td>节点策略</td><td>15 种策略(OperatorLoad / RecordMerge / Revoke / Router / FormFieldPermission 等)由 <code>NodeStrategyManager</code> 持有(工厂固定注册,不支持新增策略类型;业务方通过策略配置 + Groovy 脚本表达差异)</td></tr>
<tr><td>自定义动作</td><td>8 种内置动作(PASS/REJECT/RETURN/TRANSFER/DELEGATE/ADD_AUDIT/SAVE/CUSTOM) <code>FlowActionFactory</code> 固定注册(不支持新增动作类型);业务方通过 CUSTOM 动作 + Groovy 脚本表达自定义行为</td></tr>
<tr><td>自定义脚本注册</td><td><code>ScriptRegistryContext.getInstance().setRegistry(new CustomScriptRegistry())</code> 替换默认 Groovy 脚本</td></tr>
</table>

Expand Down Expand Up @@ -611,7 +611,7 @@ <h2 id="fullstack">15. 全栈集成最佳实践</h2>
<!-- 约束 -->
<rect x="620" y="30" width="260" height="280" rx="12" fill="#fffbeb" stroke="#f59e0b"/>
<text x="750" y="56" text-anchor="middle" font-size="14" font-weight="700" fill="#92400e">通用约束</text>
<text x="635" y="84" font-size="12" fill="#334155">• 前后端版本对齐(0.0.52)</text>
<text x="635" y="84" font-size="12" fill="#334155">• 前后端版本对齐(0.1.x)</text>
<text x="635" y="108" font-size="12" fill="#334155">• 前端跨包用完整包名 import</text>
<text x="635" y="132" font-size="12" fill="#334155">• TS strict,禁用 any</text>
<text x="635" y="156" font-size="12" fill="#334155">• 样式用 .module.scss</text>
Expand Down
2 changes: 1 addition & 1 deletion flow-frontend
Submodule flow-frontend updated 30 files
+5 −0 CLAUDE.md
+1 −1 docs/integration/index.md
+62 −4 docs/integration/plugin-customization.md
+7 −0 packages/flow-approval-presenter/CHANGELOG.md
+1 −1 packages/flow-approval-presenter/package.json
+2 −0 packages/flow-core/CHANGELOG.md
+1 −1 packages/flow-core/package.json
+9 −0 packages/flow-design/CHANGELOG.md
+1 −1 packages/flow-design/package.json
+6 −0 packages/flow-icons/CHANGELOG.md
+1 −1 packages/flow-icons/package.json
+12 −0 packages/flow-mobile/flow-mobile-approval/CHANGELOG.md
+1 −1 packages/flow-mobile/flow-mobile-approval/package.json
+27 −0 packages/flow-mobile/flow-mobile-approval/src/components/flow-approval/components/action-front-event.ts
+1 −0 packages/flow-mobile/flow-mobile-approval/src/components/flow-approval/components/action/transfer.tsx
+4 −2 packages/flow-mobile/flow-mobile-approval/src/components/flow-approval/components/flow-approval-actions.tsx
+72 −0 packages/flow-mobile/flow-mobile-approval/tests/action-front-event.test.ts
+64 −0 packages/flow-mobile/flow-mobile-approval/tests/transfer-action-forward-props.test.tsx
+7 −0 packages/flow-mobile/flow-mobile-form/CHANGELOG.md
+1 −1 packages/flow-mobile/flow-mobile-form/package.json
+6 −0 packages/flow-mobile/flow-mobile-ui/CHANGELOG.md
+1 −1 packages/flow-mobile/flow-mobile-ui/package.json
+11 −0 packages/flow-pc/flow-pc-approval/CHANGELOG.md
+1 −1 packages/flow-pc/flow-pc-approval/package.json
+7 −0 packages/flow-pc/flow-pc-form/CHANGELOG.md
+1 −1 packages/flow-pc/flow-pc-form/package.json
+6 −0 packages/flow-pc/flow-pc-ui/CHANGELOG.md
+1 −1 packages/flow-pc/flow-pc-ui/package.json
+6 −0 packages/flow-types/CHANGELOG.md
+1 −1 packages/flow-types/package.json
Loading