@@ -210,18 +210,24 @@ flow-engine
210210├── flow-engine-starter # Spring Boot Starter
211211├── flow-engine-starter-infra # 持久化层 Starter
212212├── flow-engine-example # 示例项目
213- └── flow-frontend # 前端项目(Git Submodule )
213+ └── flow-frontend # 前端项目(独立 Git 仓库 )
214214 ├── apps
215- │ ├── app-pc # PC端应用
215+ │ ├── app-pc # PC 端应用
216216 │ └── app-mobile # 移动端应用
217217 └── packages
218- ├── flow-core # 核心 API 库
218+ ├── flow-core # 核心框架库(HTTP、Hooks、Presenter 等)
219219 ├── flow-types # TypeScript 类型定义库
220- └── flow-pc # PC 端组件库
221- ├── flow-pc-ui # PC 端基础 UI 组件库
222- ├── flow-pc-form # PC 端表单相关组件
223- ├── flow-pc-design # PC 端流程设计器组件
224- └── flow-pc-approval # PC 端审批页面组件
220+ ├── flow-icons # 图标库
221+ ├── flow-approval-presenter # 审批展示器框架
222+ ├── flow-design # 流程设计器组件库
223+ ├── flow-pc # PC 端组件库
224+ │ ├── flow-pc-ui # PC 端基础 UI 组件库
225+ │ ├── flow-pc-form # PC 端表单组件库
226+ │ └── flow-pc-approval # PC 端审批组件库
227+ └── flow-mobile # 移动端组件库
228+ ├── flow-mobile-ui # 移动端基础 UI 组件库
229+ ├── flow-mobile-form # 移动端表单组件库
230+ └── flow-mobile-approval # 移动端审批组件库
225231```
226232
227233## 技术栈
@@ -237,10 +243,75 @@ flow-engine
237243
238244### 前端
239245
240- - ** React** - UI框架
246+ - ** React 18 ** - UI 框架
241247- ** TypeScript** - 类型安全
242- - ** Rsbuild** - 构建工具
248+ - ** Rsbuild/Rslib ** - 构建工具
243249- ** pnpm** - 包管理器
250+ - ** Ant Design** - PC 端 UI 组件库
251+ - ** Ant Design Mobile** - 移动端 UI 组件库
252+ - ** Redux Toolkit** - 状态管理
253+ - ** Flowgram** - 流程设计器底层框架
254+ - ** CodeMirror** - 代码编辑器
255+ - ** Groovy** - 脚本语言支持
256+
257+ ## 前端模块架构
258+
259+ ### 模块划分原则
260+
261+ - ** flow-core** :全局框架依赖,只包含与 UI 无关的基础能力(HTTP、状态管理、工具函数等)
262+ - ** flow-types** :全局类型定义,包含流程审批相关的业务类型(移动端和 PC 端共用)
263+ - ** flow-icons** :图标库,提供统一的图标组件
264+ - ** flow-approval-presenter** :审批展示器框架,基于 Redux 的状态管理
265+ - ** flow-design** :流程设计器功能,包含节点配置、属性面板、脚本配置等
266+ - ** flow-pc-*** :PC 端专用组件库,依赖 Ant Design
267+ - ** flow-mobile-*** :移动端专用组件库,依赖 Ant Design Mobile
268+
269+ ### 前端模块依赖关系
270+
271+ ```
272+ flow-core (无 UI,基础框架)
273+ ↑ ↑
274+ │ └── flow-icons (图标库)
275+ │ └── flow-approval-presenter (审批展示器框架)
276+ │
277+ flow-types (类型定义)
278+ ↑ ↑
279+ │ └── flow-pc-form
280+ │ ↑
281+ └───────→ flow-pc-ui ──→ flow-pc-approval
282+ ↑
283+ flow-design ──→ app-pc
284+
285+ flow-mobile-ui ──→ flow-mobile-form ──→ flow-mobile-approval ──→ app-mobile
286+ ```
287+
288+ ### 前端模块说明
289+
290+ #### 核心模块
291+
292+ | 模块 | 描述 | 依赖 |
293+ | ------| ------| ------|
294+ | ` flow-core ` | 核心框架库(HTTP、Hooks、Presenter 等),不包含 UI 组件 | 无 |
295+ | ` flow-types ` | TypeScript 类型定义(流程实例、表单、审批等业务类型) | flow-core |
296+ | ` flow-icons ` | 图标库 | flow-core |
297+ | ` flow-approval-presenter ` | 审批展示器框架(基于 Redux 的状态管理) | flow-core, flow-types |
298+ | ` flow-design ` | 流程设计器组件库(节点配置、属性面板、脚本配置等) | flow-core, flow-types, flow-icons, flow-pc-ui |
299+
300+ #### PC 端模块
301+
302+ | 模块 | 描述 | 依赖 |
303+ | ------| ------| ------|
304+ | ` flow-pc-ui ` | PC 端基础 UI 组件库(按钮、输入框等原子组件) | flow-core |
305+ | ` flow-pc-form ` | PC 端表单组件库(表单设计器、表单渲染等) | flow-core, flow-types |
306+ | ` flow-pc-approval ` | PC 端审批组件库(待办/已办/审批处理等) | flow-core, flow-types, flow-icons, flow-approval-presenter, flow-pc-ui, flow-pc-form |
307+
308+ #### 移动端模块
309+
310+ | 模块 | 描述 | 依赖 |
311+ | ------| ------| ------|
312+ | ` flow-mobile-ui ` | 移动端基础 UI 组件库 | flow-core |
313+ | ` flow-mobile-form ` | 移动端表单组件库 | flow-core, flow-types |
314+ | ` flow-mobile-approval ` | 移动端审批组件库 | flow-core, flow-types, flow-icons, flow-approval-presenter, flow-mobile-ui, flow-mobile-form |
244315
245316## 快速开始
246317
@@ -273,18 +344,32 @@ pnpm run build
273344# 构建 PC 端所有组件库
274345pnpm run build:flow-pc
275346
276- # 构建特定组件库
277- pnpm run build:flow-core # 核心 API 库
278- pnpm run build:flow-types # 类型定义库
279- pnpm run build:flow-pc-ui # 基础 UI 组件库
280- pnpm run build:flow-pc-form # 表单组件库
281- pnpm run build:flow-pc-design # 设计器组件库
282- pnpm run build:flow-pc-approval # 审批组件库
283-
284- # 启动 PC 端应用
347+ # 构建移动端所有组件库
348+ pnpm run build:flow-mobile
349+
350+ # 构建特定包
351+ pnpm run build:flow-core # 核心框架库
352+ pnpm run build:flow-types # 类型定义库
353+ pnpm run build:flow-icons # 图标库
354+ pnpm run build:flow-approval-presenter # 审批展示器框架
355+ pnpm run build:flow-design # 流程设计器组件库
356+ pnpm run build:flow-pc-ui # PC 端基础 UI 组件库
357+ pnpm run build:flow-pc-form # PC 端表单组件库
358+ pnpm run build:flow-pc-approval # PC 端审批组件库
359+ pnpm run build:flow-mobile-ui # 移动端基础 UI 组件库
360+ pnpm run build:flow-mobile-form # 移动端表单组件库
361+ pnpm run build:flow-mobile-approval # 移动端审批组件库
362+
363+ # 构建 PC 端应用
364+ pnpm run build:app-pc
365+
366+ # 构建移动端应用
367+ pnpm run build:app-mobile
368+
369+ # 启动 PC 端应用(开发模式)
285370pnpm run dev:app-pc
286371
287- # 启动移动端应用
372+ # 启动移动端应用(开发模式)
288373pnpm run dev:app-mobile
289374```
290375
@@ -388,6 +473,8 @@ category.subcategory.errorType
388473
389474## 测试
390475
476+ ### 后端测试
477+
391478``` bash
392479# 运行所有测试
393480./mvnw test
@@ -399,6 +486,24 @@ category.subcategory.errorType
399486./mvnw test -Dtest=ScriptRuntimeContextTest
400487```
401488
489+ ### 前端测试
490+
491+ ``` bash
492+ cd flow-frontend
493+
494+ # 运行所有测试
495+ pnpm run test
496+
497+ # 运行特定包的测试
498+ pnpm run test:flow-core # 核心框架库测试
499+ pnpm run test:flow-design # 流程设计器测试
500+ pnpm run test:flow-pc # PC 端组件测试
501+ pnpm run test:flow-pc-ui # PC 端 UI 组件测试
502+ pnpm run test:flow-pc-form # PC 端表单组件测试
503+ pnpm run test:flow-pc-approval # PC 端审批组件测试
504+ pnpm run test:flow-mobile # 移动端组件测试
505+ ```
506+
402507## 许可证
403508
404509[ LICENSE] ( LICENSE )
0 commit comments