|
|
||
|---|---|---|
| bin | ||
| bonus-api | ||
| bonus-auth | ||
| bonus-common | ||
| bonus-gateway | ||
| bonus-modules | ||
| bonus-visual | ||
| docker | ||
| scripts | ||
| sql | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| bonus.iml | ||
| cloud-architecture.png | ||
| pom.xml | ||
README.md
bonus v24.7.0
基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构
平台简介
博诺思平台是基于若依快速开发平台的轻量级系统,基于Spring Boot、Spring Cloud、Spring Cloud Alibaba、OAuth2.0、JWT、Redis、MyBatis、Shiro、Quartz、Swagger、EasyExcel、EasyPoi、Layui、Element UI、Vue、Nginx、Docker、Maven、Git、GitHub、Gitee、Jen
系统模块
com.bonus
├── bonus-ui // 前端框架 [80]
├── bonus-gateway // 网关模块 [8080]
├── bonus-auth // 认证中心 [9200]
├── bonus-api // 接口模块
│ └── bonus-api-system // 系统接口
├── bonus-common // 通用模块
│ └── bonus-common-core // 核心模块
│ └── bonus-common-datascope // 权限范围
│ └── bonus-common-datasource // 多数据源
│ └── bonus-common-log // 日志记录
│ └── bonus-common-redis // 缓存服务
│ └── bonus-common-seata // 分布式事务
│ └── bonus-common-security // 安全模块
│ └── bonus-common-swagger // 系统接口
├── bonus-modules // 业务模块
│ └── bonus-system // 系统模块 [9201]
│ └── bonus-gen // 代码生成 [9202]
│ └── bonus-job // 定时任务 [9203]
│ └── bonus-file // 文件服务 [9300]
├── bonus-visual // 图形化管理模块
│ └── bonus-visual-monitor // 监控中心 [9100]
├──pom.xml // 公共依赖
架构图
内置功能
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
- 岗位管理:配置系统用户所属担任职务。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
- 参数管理:对系统动态配置常用参数。
- 通知公告:系统通知公告信息发布维护。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 在线用户:当前系统中活跃用户状态监控。
- 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
- 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
- 系统接口:根据业务代码自动生成相关的api接口文档。
- 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
- 在线构建器:拖动表单元素生成相应的HTML代码。
- 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
在线体验
演示地址:待定
部署
准备工作
- JDK >= 1.8 (推荐1.8版本)
- Mysql >= 5.7.0 (推荐5.7版本)
- Redis >= 3.0
- Maven >= 3.0
- Node >= 12
- nacos >= 2.0.4
- sentinel >= 1.6.0
运行系统 #后端运行
-
前往Gitee下载页面(http://192.168.0.56:3000/bonus/Bonus-Cloud.git)下载解压到工作目录
-
IntelliJ IDEA,菜单 File -> Open 打开项目
-
创建数据库bns-cloud并导入数据脚本bns_20240604.sql(必须),quartz.sql(可选)
-
创建数据库bns-config并导入数据脚本bns_config_20240604.sql(必须)
-
配置nacos持久化,修改conf/application.properties文件,增加支持mysql数据源配置
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://localhost:3306/bns-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=password
6、打开运行基础模块(启动没有先后顺序)
BonusGatewayApplication (网关模块 必须) BonusAuthApplication (认证模块 必须) BonusSystemApplication (系统模块 必须) BonusMonitorApplication (监控中心 可选) BonusGenApplication (代码生成 可选) BonusJobApplication (定时任务 可选) BonusFileApplication (文件服务 可选)
7、集成seata分布式事务(可选配置,默认不启用)
创建数据库bns-seata并导入数据脚本bns_seata_20240604.sql
前端运行
# 进入项目目录
cd bonus-ui
# 安装依赖
npm install
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com
# 本地开发 启动项目
npm run dev
4、打开浏览器,输入:(http://localhost:80 (opens new window)) 默认账户/密码 admin/admin123) 若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功