[开源]致力将开源版打造成超越商业版后台管理框架的快速开发项目

开源系统流程管理
2026-06-28 02:39 3 次浏览 • 0 次下载 0KB
[开源]致力将开源版打造成超越商业版后台管理框架的快速开发项目

一、开源项目简介

基于Spring Boot框架打造,针对单体式应用进行专门设计,提供整套服务模块,努力为打造全方位企业级开发解决方案, 致力将开源版打造成超越商业版后台管理框架的项目。

  • Spring Cloud版本使用Spring Cloud Alibaba技术栈
  • vue2使用 ANTD PRO VUE 作为脚手架
  • vue3使用 Vben-Admin 作为脚手架
  • 移动端使用 Taro vue3+TS为技术栈。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

项目展示

Vue3版本管理端

支付结算台

工作流

微信自定义菜单

动态表单

邮件发送

超级查询器

富文本编辑器

PlumeLog 轻量级日志管理

ELK日志

菜单管理

四、功能概述

包含支付收单(支付宝、微信、聚合、组合支付)、工作流(Flowable)、三方对接(微信、钉钉、企微、短信)等模块,后端基于Spring Boot和Spring Cloud,前端基于Vue2和Vue3分别打造,可应用在不同业务场景中,目标是致力实现媲美商业版应用脚手架的目标。

️功能亮点

支持支付宝、微信、聚合支付、现金支付、储值卡支付、钱包,对各种支付方式抽象成策略类,通过模板模式进行串通,方便扩展新的支付方式或业务

集成最新版本的Flowable 6.7.2 工作流,并基于Bpmn.js定制流程设计器,相较于自带modeler更贴近业务和易用,通过关联动态表单可通过托拉拽实现业务审批流的业务

特色功能

  • 支持单通道支付、聚合支付、组合支付、部分和全部退款等支付功能
  • 支持支付宝、微信、云闪付、现金、钱包、储值卡等多种支付方式
  • 支持对多终端、多登录方式进行分别的管理
  • 针对各类敏感信息,可以通过添加注解实现返回时自动脱敏
  • 针对重要信息,可以通过添加注解,实现在数据库中保密存储,配合数据脱敏使用可以更好的保护系统数据的安全
  • 支持多种范围的数据权限控制,如只能查看自己、只能查询指定部门、用户、可以查询全部的数据等等
  • 支持嵌套查询的超级查询构造器,自动生成对应条件SQL语句,也支持普通查询器,免去大量重复代码的编写
  • 提供移动端开发脚手架,方便开发H5与各种小程序
  • 支持通过ELK和轻量级PlumeLog来管理项目日志,以适应不同的场景
  • 支持通过微信、钉钉、企业微信等第三方开放平台进行扫码登录
  • 支持站内信、微信、钉钉、企业微信、微信公众号的消息推送
  • 支持微信自定义菜单、素材、消息模板等资源的管理
  • 集成Flowable+Bpmn.js工作流全家桶,方便OA相关功能的开发

 路线图

  • 工作流功能完善
  • 更灵活的节点用户配置,可配置发起人、指定用户、指定角色等,关联消息通知
  • 会签处理、串签处理、或签处理、驳回处理、任意节点退回、会签比例通过处理
  • Vue3版本前端
  • 登录模块移植
  • 认证终端移植
  • 组件移植和Mixin转换为Hooks、
  • Spring Cloud版本
  • 代码组织结构调整
  • 网关定制开发
  • 功能模块移植

五、技术选型

开发环境

基础开发环境

●JDK: 1.8+

●Maven: 3.5+

●MySql: 5.7+

●Redis: 5.x +

●Node Js: 12.0 +

●Npm: 5.6.0+

●Yarn: 1.22.1+

●MongoDB

●RabbitMQ

●MQTT Service(emqx)


MySQL

●默认字符集:utf8mb4

●默认排序规则:utf8mb4_general_ci

●大小写敏感:需要开启大小写不敏感设置

 Quick Start

  • 下载项目并切换到master分支,或者下载发行版后导入IDEA中,下载对应的Maven依赖
  • 配置好各种必要的数据库中间件地址(见下方中间表),直接启动项目。注:不需要导入Sql脚本到数据库中,默认启用flyway会自动对数据库进行初始化
  • 如果使用_config/sql导入到数据库中的方式,则需要在项目启动前将spring.flyway.enabled设为false后启动项目,推荐使用flyway对数据库进行数据管理
  • 后端启动启动成功,开始启动前端
  • 安装依赖 yarn install,node版本需要12以上,推荐使用16
  • 启动前端 yarn serve,进行访问

中间件配置

备备注注组件

是否必须配置

备注

MySQL

是

不设置无法启动

Redis

是

不设置无法启动

RabbitMQ

否

支付消息通知在使用

MongoDB

否

默认审计日志和文件管理使用持久化方式为Mono,可在配置文件中配置切换成其他持久化方式

MQTT

否


plumelog

是

默认项目自带lite版plumelog,不需要额外配置中间件,直接就可以使用

项目整体结构

bootx-platform 
    ├── _config -- 项目相关配置
    ├── _doc -- 项目文档
    ├── _license -- 使用外部项目对应开源协议
    ├── bootx-common-core -- 核心包
    ├── bootx-common-starters -- starter通用功能组件
       ├── common-starter-audit-log -- 审计日志模块
       ├── common-starter-auth -- 认证模块
       ├── common-starter-code-gen -- 代码生成模块
       ├── common-starter-data-perm -- 数据权限模块
       ├── common-starter-dingtalk -- 钉钉对接模块
       ├── common-starter-file -- 文件管理模块
       ├── common-starter-flowable -- flowable工作流模块
       ├── common-starter-monitor -- 系统监控模块
       ├── common-starter-quartz -- Quartz定时任务模块
       ├── common-starter-wechat -- 微信对接模块
       ├── common-starter-wecom -- 企业微信对接模块
    ├── bootx-commons -- commons工具配置封装
       ├── common-cache -- 缓存配置
       ├── common-exception-handler -- 异常处理器
       ├── common-header-holder -- 请求头获取工具
       ├── common-idempotency -- 幂等控制组件
       ├── common-jackson -- Json序列化配置
       ├── common-lock -- 分布式锁
       ├── common-log -- 日志配置
       ├── common-mongo -- MongoDB配置
       ├── common-mqtt -- mqtt配置(停用)
       ├── common-mybatis-plus -- Mybatis Plus扩展
       ├── common-rabbitmq -- rabbitmq消息队列
       ├── common-redis-client -- Redis客户端封装和配置
       ├── common-sequence -- 发号器(序列号生成器)
       ├── common-spring -- Spring相关配置
       ├── common-super-query -- 超级查询器
       ├── common-swagger -- swagger3配置(Spring Doc)
       ├── common-websocket  -- websocket封装
       ├── common-xxl-job -- XXL-JOB定时任务
    ├── bootx-demo -- demo示例模块
    ├── bootx-modules -- 业务系统(暂停)
       ├── eshop -- 网上商城(暂停)
    ├── bootx-services -- 业务服务模块
       ├── service-baseapi -- 基础api功能服务
       ├── service-goods -- 商品中心服务(停用)
       ├── service-iam -- 身份识别与访问管理
       ├── service-notice -- 消息通知服务
       ├── service-office -- 办公服务
       ├── service-order -- 订单服务(停用)
       ├── service-payment -- 支付服务
       ├── service-sales -- 销售中心(停用)
    ├── bootx-start -- 启动模块

模块结构说明

模块分包设计

以service-iam举例

service-iam 
    ├── code -- 常量包
    ├── controller -- 控制器
    ├── core -- 功能核心
    ├── exception -- 异常
    ├── dto -- 业务对象
    ├── mq -- 消息通知处理
    ├── task -- 定时任务
    ├── param -- 请求参数包
    ├── util -- 内部工具包
    ├── IamApplication -- 启动类

core核心包业务代码分包

├───code 
    ├── business -- 业务模块
        ├── convert -- 实体类转换
        ├── dao -- 持久化类
        ├── entity -- 数据库实体
        ├── service -- 服务类