# 项目介绍
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,否则依赖可能安装不上。
- 安装Node.js
如果您电脑未安装 Node.js (opens new window),请安装它。
# 出现相应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也可以运行
- 推荐IDEA开发工具
IDEA下载地址 (opens new window)选择社区版本即可(免费!)
需要安装lombok Plugin 插件,不安装会出现标红的报错
- 依赖的中间件配置说明
名称 | 版本 |
---|---|
JDK | 1.8 |
Maven | 3.0+ |
MySql | 5.7+ |
Redis | 不限制 |
OSS | 注册阿里云OSS服务 |
ElasticSearch | 根据业务需求进行配置,不强制 |
# 项目结构
JeecgFlow 是基于JeecgBoot开源版本代码进行二次开发, 本文重点讲解代码结构中集成部分的情况。三款产品的代码结构相似,主要挑一款进行说明。
# Jeecg-Boot
标红的内容就是JeecgFlow集成后的后端内容,主要是新增了一个Module,不会对原来框架代码产生过多侵入,也是交付给客户的源代码。
# Jeecg-Vue3
标红的内容是JeecgFlow集成的前端代码,主要是在views文件夹下创建新的文件夹,用来管理所有功能,也是交付给客户的源代码。
# 线上部署
# 后端
推荐使用Alibaba Cloud Toolkit进行部署 (opens new window)
第一步,通过IDEA将项目进行打包,生成可运行的Jar
第二步,在服务器端创建脚本,执行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&
# 前端
将标红的信息,也即部署线上的IP改成自己的
在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 {
}
}