@luokuiai/flovira-vue-designer

Flovira 流程设计器 Vue 3 组件库
1,324
Install
npm install @luokuiai/flovira-vue-designer@next
Latest Version:1.0.0-alpha.9
Vue:3
License:MIT
Last Updated:Sep 28, 2026
Links: GitHub  ·  npm
Maintainer: luokuiai

Flovira

Flovira is a lightweight and extensible Java workflow engine. It provides process definitions, task transitions, conditional expressions, listeners, multi-tenancy, multiple ORM integrations, and embeddable Vue and React process designers.

Forked from Dromara WarmFlow.

    ______ _            _
   |  ____| |          (_)
   | |__  | | _____   ___ _ __ __ _
   |  __| | |/ _ \ \ / / | '__/ _` |
   | |    | | (_) \ V /| | | | (_| |
   |_|    |_|\___/ \_/ |_|_|  \__,_|

Technology Baseline

  • Java 8 source compatibility, with integration support for Java 8, 17, and 21
  • Spring Boot 2.7.18, 3.5.16, and 4.0.2
  • MyBatis and MyBatis-Plus
  • MySQL, Oracle, and PostgreSQL
  • Apache License 2.0

Modules

Module Description
flovira-core Framework-independent and ORM-independent workflow engine core
flovira-orm MyBatis and MyBatis-Plus integrations
flovira-plugin Expression, JSON, and process designer plugins
flovira-designer/vue Vue 3 designer package (@luokuiai/flovira-vue-designer)
flovira-designer/react React designer package (@luokuiai/flovira-react-designer)
flovira-designer/examples Vue and React integration examples
flovira-example Composable PostgreSQL/MySQL backends and React/Vue full-stack examples

Build

A full build requires JDK 17 or later because the Jackson 3 and Spring Boot 4 modules use a Java 17 baseline.

./gradlew clean build
cd flovira-designer
bun install
bun run build

For a runnable end-to-end matrix that combines either PostgreSQL or MySQL with React + Lumen, React + Ant Design, or Vue + Ant Design Vue, see flovira-example.

Maven Coordinates

All artifacts use the com.luokuiai group ID. Until a release is available from Maven Central, publish the artifacts to your local Maven repository.

Spring Boot 3 with MyBatis:

<dependency>
    <groupId>com.luokuiai</groupId>
    <artifactId>flovira-mybatis-sb3-starter</artifactId>
    <version>1.0.0</version>
</dependency>

Spring Boot 3 with MyBatis-Plus:

<dependency>
    <groupId>com.luokuiai</groupId>
    <artifactId>flovira-mybatis-plus-sb3-starter</artifactId>
    <version>1.0.0</version>
</dependency>

Select exactly one JSON provider. Framework and ORM starters do not select one automatically:

<!-- Jackson 2: Spring Boot 2 and 3 -->
<dependency>
    <groupId>com.luokuiai</groupId>
    <artifactId>flovira-plugin-json-jackson</artifactId>
    <version>1.0.0</version>
</dependency>

<!-- Jackson 3: Spring Boot 4 -->
<dependency>
    <groupId>com.luokuiai</groupId>
    <artifactId>flovira-plugin-json-jackson3</artifactId>
    <version>1.0.0</version>
</dependency>

<!-- Gson: alternative for any supported framework -->
<dependency>
    <groupId>com.luokuiai</groupId>
    <artifactId>flovira-plugin-json-gson</artifactId>
    <version>1.0.0</version>
</dependency>

All configuration properties use the flovira prefix:

flovira:
  enabled: true
  banner: true
  # Maximum child instances started by one subprocess node. Must be positive.
  subprocess-max-children: 128

You must integrate timeout scheduling in your host application. Flovira does not start background scans or register Redis scheduler locks. Enable timeout snapshots and execution APIs globally in host code with FlowEngine.setTimeoutEnabled(true); without host calls, overdue tasks remain pending.

Logical deletion is always enabled with fixed 0 active / 1 deleted markers. Do not configure logic-delete*. The optional flovira-plugin-ui-sb-web dependency itself enables the default designer REST bridge; omit that dependency when the endpoints are not needed. See the configuration migration.

Call FlowEngine.timeoutService().executeDue(new Date(), 100) from your scheduler, or executeTimeout(taskId) from a delayed-message consumer. Hosts own scheduling, cluster coordination (for example ShedLock with Redis), retries and monitoring. See timeout integration and alpha migration before enabling this feature.

Workflow lifecycle callbacks use WorkflowLifecycleListener beans or standalone code registration. Hosts filter business applicability in callback code; designers do not configure callbacks. See listener integration for the eight events, return-to-initiator handling and host integration requirements. Extensions use JSON objects, stored as MySQL JSON, PostgreSQL JSONB, and Oracle JSON (21c+, COMPATIBLE >= 20). See database migration and driver requirements.

The Java root package is com.luokuiai.flovira.

See approver policies for handling empty approver results and approvers who are also the workflow initiator.

开始节点可配置全员、指定人员或指定角色的提交范围,接入方式见提交范围。

Database

Full initialization scripts are available under sql/<database>/. Database tables use the generic flow_* prefix to keep the persisted workflow schema independent of application branding.

Related Packages

nkk-flow

Vue 3 + LogicFlow 审批流画布封装,核心入口 useFlow 提供容器、流程 JSON 和配置即...

2,084
genoany-g6

a workflow designer base on @antv/g6

2,446
@logicflow/vue-node-registry

LogicFlow Vue Component Node Registry

147,880
sgj-workflow-ui

企业工作流UI组件库

1,935

Version History

Pre-releases (10)
Version Released License
1.0.0-alpha.9 MIT
1.0.0-alpha.8 MIT
1.0.0-alpha.7 MIT
1.0.0-alpha.6 MIT
1.0.0-alpha.5 MIT