# 项目介绍

foo
JeecgFlow是基于JeecgBoot开源版本集成工作流解决方案,本套技术解决方案分别对市面上热门的三款工作流引擎做了集成。 分别是Activiti,Flowable,Camunda。以源码交付的形式对外出售。旨在工作流领域以专业的态度服务于有需要的人群。
如果您对JeecgBoot不了解,请移步JeecgBoot项目介绍 (opens new window)

# 技术支持

B站视频教程 (opens new window)
微信公众号: JeecgFlow
Activiti在线演示地址 (opens new window)
Flowable在线演示地址 (opens new window)
Camunda在线演示地址 (opens new window)

测试账号在登陆页面左侧, 如果需要管理员账号,请关注微信公众号,回复: 账号

# 开发环境

# 前端开发环境

本项目需要一定前端基础知识,请确保掌握 Vue 的基础知识,以便能处理一些常见的问题。 建议在开发前先学一下以下内容,提前了解和学习这些知识,会对项目理解非常有帮助:
Vue3文档 (opens new window)
Ant-Design-vue (opens new window)
Vben-Admin文档 (opens new window)
TypeScript (opens new window)
Vue-Router (opens new window)
Es6 (opens new window)
ViteJs (opens new window)
Pinia (opens new window)

  • 环境准备

本地环境需要安装 pnpm、 Yarn1.x、Node.js 和 Git
注意!!!
Node.js 版本要求Node 14.18+ / 16+ 版本以上,不再支持 Node 12 / 13 / 15。 必须使用Yarn1.x,否则依赖可能安装不上。

# 出现相应npm版本即可
npm -v

# 出现相应node版本即可
node -v
  • pnpm安装
    如果未安装pnpm,可以用下面命令来进行全局安装
# 全局安装pnpm
npm install pnpm -g

# 验证(出现对应版本号即代表安装成功)
pnpm -v
  • 启动项目
# 将交付于你前端vue项目导入vscode

# 安装依赖
pnpm install

# 运行项目
pnpm dev

# 打包项目
pnpm run build

# 后端开发环境

  • 服务器配置建议

4核+8G内存+50G硬盘,最低2核4G也可以运行

需要安装lombok Plugin 插件,不安装会出现标红的报错

  • 依赖的中间件配置说明
名称 版本
JDK 1.8
Maven 3.0+
MySql 5.7+
Redis 不限制
OSS 注册阿里云OSS服务
ElasticSearch 根据业务需求进行配置,不强制

# 项目结构

JeecgFlow 是基于JeecgBoot开源版本代码进行二次开发, 本文重点讲解代码结构中集成部分的情况。三款产品的代码结构相似,主要挑一款进行说明。

# Jeecg-Boot

foo

标红的内容就是JeecgFlow集成后的后端内容,主要是新增了一个Module,不会对原来框架代码产生过多侵入,也是交付给客户的源代码。

# Jeecg-Vue3

foo

标红的内容是JeecgFlow集成的前端代码,主要是在views文件夹下创建新的文件夹,用来管理所有功能,也是交付给客户的源代码。

# 线上部署

# 后端

推荐使用Alibaba Cloud Toolkit进行部署 (opens new window)

  • 第一步,通过IDEA将项目进行打包,生成可运行的Jar foo

  • 第二步,在服务器端创建脚本,执行Jar完成部署。(以下是Demo脚本)

#!/bin/sh
cd /home/jeecgflow/camunda
#杀掉进程
pid=`ps -ef | grep jeecg-system-start-3.6.1.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi

nohup java \
-Xms1024m \
-Xmx1024m \
-XX:NewRatio=1 \
-XX:MetaspaceSize=512m \
-XX:+UseConcMarkSweepGC \
-XX:+CMSParallelRemarkEnabled \
-XX:+UseParNewGC \
-XX:+PrintGCDetails \
-XX:+PrintGCDateStamps \
-XX:+PrintGC \
-Xloggc:/export/Logs/gc.log \
-XX:+PrintHeapAtGC \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/export/Logs/oom_error.hprof \
-jar jeecg-system-start-3.6.1.jar&

# 前端

foo

将标红的信息,也即部署线上的IP改成自己的

foo

在vscode项目的终端执行,npm run build。会在项目根目录下生成dist文件夹。
推荐使用Alibaba Cloud Toolkit上传dist进行部署 (opens new window)

Nginx配置信息
推荐使用centos服务器,并且安装Nginx (opens new window)

server {
    server_name xxx.xxx.com
    listen 80;
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

    location / {
         root   /home/jeecgflow/flowable/dist;
         index  index.html index.htm;
         try_files $uri $uri/ /index.html;
    }
    # jeecgboot3.6.1+采用以下配置,3.6.1-用jeecg-boot
    location ^~ /jeecgboot {
	    proxy_pass              http://127.0.0.1:8084/jeecg-boot/;
        proxy_set_header        Host 127.0.0.1;
	    proxy_set_header        X-Real-IP $remote_addr;
	    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }

  

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}