Skip to content

Commit bdf1c02

Browse files
committed
update README.md
1 parent b6a1f86 commit bdf1c02

1 file changed

Lines changed: 125 additions & 20 deletions

File tree

README.md

Lines changed: 125 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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 端所有组件库
274345
pnpm 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 端应用(开发模式)
285370
pnpm run dev:app-pc
286371

287-
# 启动移动端应用
372+
# 启动移动端应用(开发模式)
288373
pnpm 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

Comments
 (0)