128 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
<p align="center">
 | 
						||
	<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-b99b286755aef70355a7084753f89cdb7c9.png">
 | 
						||
</p>
 | 
						||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">bonus v24.7.0</h1>
 | 
						||
<h4 align="center">基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构</h4>
 | 
						||
 | 
						||
 | 
						||
## 平台简介
 | 
						||
 | 
						||
博诺思平台是基于若依快速开发平台的轻量级系统,基于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                // 公共依赖
 | 
						||
~~~
 | 
						||
 | 
						||
## 架构图
 | 
						||
 | 
						||
<img src="cloud-architecture.png"/>
 | 
						||
 | 
						||
## 内置功能
 | 
						||
 | 
						||
1.  用户管理:用户是系统操作者,该功能主要完成系统用户配置。
 | 
						||
2.  部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
 | 
						||
3.  岗位管理:配置系统用户所属担任职务。
 | 
						||
4.  菜单管理:配置系统菜单,操作权限,按钮权限标识等。
 | 
						||
5.  角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
 | 
						||
6.  字典管理:对系统中经常使用的一些较为固定的数据进行维护。
 | 
						||
7.  参数管理:对系统动态配置常用参数。
 | 
						||
8.  通知公告:系统通知公告信息发布维护。
 | 
						||
9.  操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
 | 
						||
10. 登录日志:系统登录日志记录查询包含登录异常。
 | 
						||
11. 在线用户:当前系统中活跃用户状态监控。
 | 
						||
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
 | 
						||
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
 | 
						||
14. 系统接口:根据业务代码自动生成相关的api接口文档。
 | 
						||
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
 | 
						||
16. 在线构建器:拖动表单元素生成相应的HTML代码。
 | 
						||
17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
 | 
						||
 | 
						||
## 在线体验
 | 
						||
 | 
						||
演示地址:待定  
 | 
						||
 | 
						||
## 部署
 | 
						||
准备工作
 | 
						||
1. JDK >= 1.8 (推荐1.8版本)
 | 
						||
2. Mysql >= 5.7.0 (推荐5.7版本)
 | 
						||
3. Redis >= 3.0
 | 
						||
4. Maven >= 3.0
 | 
						||
5. Node >= 12
 | 
						||
6. nacos >= 2.0.4 
 | 
						||
7. sentinel >= 1.6.0
 | 
						||
#
 | 
						||
 | 
						||
运行系统
 | 
						||
#后端运行
 | 
						||
1. 前往Gitee下载页面(http://192.168.0.56:3000/bonus/Bonus-Cloud.git)下载解压到工作目录
 | 
						||
2. IntelliJ IDEA,菜单 File -> Open 打开项目
 | 
						||
3. 创建数据库bns-cloud并导入数据脚本bns_20240604.sql(必须),quartz.sql(可选)
 | 
						||
4. 创建数据库bns-config并导入数据脚本bns_config_20240604.sql(必须)
 | 
						||
5. 配置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)
 | 
						||
若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功 |