基于Spring Boot框架打造,针对单体式应用进行专门设计,提供整套服务模块,努力为打造全方位企业级开发解决方案, 致力将开源版打造成超越商业版后台管理框架的项目。前端分为vue2版和vue3版,vue2使用 ANTD PRO VUE 作为脚手架,vue3使用 Vben-Admin-Next 作为脚手架。 移动端使用 Taro vue3+TS为技术栈。
- 系统演示地址:管理平台(vue2)
- 前端项目地址:前端项目(vue2) 前端项目(vue3开发中)
- 移动端项目地址:移动端项目(taro+vue3+ts)
- 日志收集:ELK PlumeLog
- 项目文档:项目使用指南文档
- 更新日志:更新日志
支持支付宝、微信、聚合支付、现金支付、储值卡支付、钱包,对各种支付方式抽象成策略类,通过模板模式进行串通,方便扩展新的支付方式或业务
结算台演示地址:http://web.platform.bootx.cn/cashier
集成最新版本的Flowable 6.7.2 工作流,并基于Bpmn.js定制流程设计器,相较于自带modeler更贴近业务和易用,通过关联动态表单可通过托拉拽实现业务审批流的业务
- 支持单通道支付、聚合支付、组合支付、部分和全部退款等支付功能
- 支持支付宝、微信、云闪付、现金、钱包、储值卡等多种支付方式
- 支持对多终端、多登录方式进行分别的管理
- 针对各类敏感信息,可以通过添加注解实现返回时自动脱敏
- 针对重要信息,可以通过添加注解,实现在数据库中保密存储,配合数据脱敏使用可以更好的保护系统数据的安全
- 支持多种范围的数据权限控制,如只能查看自己、只能查询指定部门、用户、可以查询全部的数据等等
- 支持嵌套查询的超级查询构造器,自动生成对应条件SQL语句,也支持普通查询器,免去大量重复代码的编写
- 提供移动端开发脚手架,方便开发H5与各种小程序
- 支持通过ELK和轻量级PlumeLog来管理项目日志,以适应不同的场景
- 支持通过微信、钉钉、企业微信等第三方开放平台进行扫码登录
- 支持站内信、微信、钉钉、企业微信、微信公众号的消息推送
- 支持微信自定义菜单、素材、消息模板等资源的管理
- 集成Flowable+Bpmn.js工作流全家桶,方便OA相关功能的开发
- 工作流功能完善
- 更灵活的节点用户配置,可配置发起人、指定用户、指定角色等
- 会签处理
- 串签处理
- 或签处理
- 会签比例通过处理
- 驳回处理
- 任意节点退回
- 关联消息通知
- 更方便与现有业务整合
- 下载项目并切换到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 -- 服务类
支付结算台
工作流
微信自定义菜单
动态表单
邮件发送
超级查询器
富文本编辑器
PlumeLog 轻量级日志管理
ELK日志
菜单管理
数据权限配置
支付宝支付配置
站内信消息通知
微信扫码加入交流群,或添加微信号:xxxx
邀请进群
钉钉扫码加入钉钉交流群
QQ扫码加入QQ交流群
感谢 JetBrains 提供的免费开源 License:
感谢其他提供灵感和思路的开源项目
Apache License Version 2.0