项目介绍
fast-cloud是一款微服务系统,采用前后端分离模式, 后台采用Spring cloud Alibaba作为微服务框架,基于OAuth2 的RBAC权限管理,集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性,采用Nacos作为注册中心和配置中心。
演示地址
暂无,需要自己clone到本地运行。
技术选型
- Spring cloud Alibaba
- Spring Security oauth2
- Nacos
- Sentinel
- Mybatis Plus
- minio
- knife4j
- lombok
- mapstruct
- redis
- lombok
功能介绍
- 用户管理: 提供系统用户的管理
- 角色管理: 分配角色的菜单权限,可根据部门设置角色的数据权限
- 菜单管理: 配置多级菜单,结合前端的动态路由管理
- 部门管理: 管理公司部门、子部门
- 岗位管理: 管理各个部门的职位
- 字典管理: 维护一些常用固定的数据,如:状态、性别
- 终端管理: oauth2的终端管理
- 登录日志: 记录系统用户的登录日志
- 操作日志: 记录系统用户的操作日志
- 接口文档: 可在线调试接口,方便开发测试
- 代码生成: 采用AutoGenerator代码生成器,减少重复代码开发
本地运行
1 | # 克隆项目 |
项目结构说明
1 | fast-cloud |
项目说明
代码生成
项目采用Mybatis Plus的AutoGenerator代码生成器,可以生成前后端代码,降低重复代码编写。
- 修改
GeneratorMain
中的常量参数,然后直接运行main
方法,即可在对应的目录中生成相关代码 - 在数据库中运行生成的
insertmenu.sql
文件, 向菜单中添加相应的菜单资源 - 在前端项目工程中
/src/api
中新建一个模块名
的文件夹,将生成的js文件拷贝之中,将表名/index.vue
拷贝到/src/view
中 - 删除前端代码和生成的sql文件
配置参数 | 说明 | 备注 |
---|---|---|
baseProjectPath | 生成文件所在项目路径 | |
srcJavaPath | 文件存放路径 | |
basePackage | 基础包路径 | |
authorName | 代码作者名称 | |
driverName | 数据库驱动 | |
url | 数据库连接地址 | |
username | 数据库用户名 | |
password | 数据库密码 | |
fileOverride | 是否覆盖文件 | |
prefix | 表前缀名称 | |
modulesName | 模块名称 | |
tables | 要生成的表名 |
注意: 代码生成是直接对数据库表直接读取,没有对字段进行细化区分,生成的前端代码与实际业务需求不符,需要自己手动修改相应页面显示数据与表单类型,来实现自己的实际业务需求。