后台管理系统-项目介绍
1. 项目介绍
本系统是一个后台管理系统
前端源码 : https://gitee.com/leo-heng/myproject-front
1.1. 后端目录结构
myproject
├── pom.xml
└── src
└── main
├── java
│ └── com
│ └── myproject
│ └── cn
│ ├── common
│ │ ├── domin //登录验证
│ │ │ └── LoginAdmin.java
│ │ ├── exception //异常处理
│ │ │ ├── ApiException.java
│ │ │ ├── FormValidException.java
│ │ │ └── GlobalExceptionHandler.java
│ │ ├── http //返回信息
│ │ │ ├── AxiosResult.java
│ │ │ └── AxiosStatus.java
│ │ ├── page //分页查询
│ │ │ └── PageBean.java
│ │ ├── perm //权限校验
│ │ │ ├── HasPerm.java
│ │ │ └── PermAop.java
│ │ ├── props //相关属性
│ │ │ └── UploadProperties.java
│ │ └── valid //分组校验
│ │ ├── anno
│ │ │ ├── InList.java
│ │ │ └── InListHandler.java
│ │ └── group
│ │ ├── AddGroup.java
│ │ ├── BtnGroup.java
│ │ ├── DirectoryGrop.java
│ │ ├── MenuGroup.java
│ │ └── UpdateGroup.java
│ ├── components //相关组件
│ │ ├── CacheService.java //redis缓存
│ │ ├── DemoScheduling.java //定时任务测试demo
│ │ ├── EmailService.java //email发送
│ │ └── TokenService.java //token生成解析
│ ├── config //相关配置
│ │ ├── CorsConfig.java //跨域请求配置
│ │ ├── MyWebConfig.java //登录拦截
│ │ └── SwaggerConfig.java //swagger2文档配置
│ ├── constants //常量
│ │ └── RedisKey.java //redis分组常量
│ ├── controller //相关业务
│ │ ├── AdminController.java
│ │ ├── base
│ │ │ └── BaseController.java
│ │ ├── BrandController.java
│ │ ├── CommonController.java
│ │ ├── MenuController.java
│ │ ├── RoleController.java
│ │ └── ScheduleController.java
│ ├── dto //返回前端的封装数据
│ │ ├── AdminDTO.java
│ │ ├── base
│ │ │ └── BaseDTO.java
│ │ ├── BrandDTO.java
│ │ ├── MenuDTO.java
│ │ ├── RoleDTO.java
│ │ └── ScheduleBeanDTO.java
│ ├── entity //实体类
│ │ ├── Admin.java
│ │ ├── AdminRole.java
│ │ ├── base
│ │ │ └── BaseEntity.java
│ │ ├── Brand.java
│ │ ├── Menu.java
│ │ ├── Role.java
│ │ ├── RoleMenu.java
│ │ └── ScheduleBean.java
│ ├── interceptor //登录拦截
│ │ └── LoginInterceptor.java
│ ├── mapper //mapper查询
│ │ ├── AdminMapper.java
│ │ ├── AdminRoleMapper.java
│ │ ├── base
│ │ │ └── MyMapper.java
│ │ ├── BrandMapper.java
│ │ ├── MenuMapper.java
│ │ ├── RoleMapper.java
│ │ ├── RoleMenuMapper.java
│ │ └── ScheduleMapper.java
│ ├── MyApplication.java
│ ├── query //查询封装
│ │ ├── AdminQuery.java
│ │ ├── base
│ │ │ └── BaseQuery.java
│ │ ├── BrandQuery.java
│ │ ├── MenuQuery.java
│ │ └── RoleQuery.java
│ ├── service //service层
│ │ ├── AdminService.java
│ │ ├── base
│ │ │ ├── BaseService.java //所有service接口的父类
│ │ │ └── impl
│ │ │ └── BaseServiceImpl.java //所有serviceImpl的父类
│ │ ├── BrandService.java
│ │ ├── impl
│ │ │ ├── AdminServiceImpl.java
│ │ │ ├── BrandServiceImpl.java
│ │ │ ├── MenuServiceImpl.java
│ │ │ ├── RoleServiceImpl.java
│ │ │ └── ScheduleServiceImpl.java
│ │ ├── MenuService.java
│ │ ├── RoleService.java
│ │ └── ScheduleService.java
│ ├── transfer //类型转换 entity转DTO
│ │ ├── AdminTransfer.java
│ │ ├── base
│ │ │ └── BaseTransfer.java
│ │ ├── BrandTransfer.java
│ │ ├── MenuTransfer.java
│ │ ├── RoleTransfer.java
│ │ └── ScheduleBeanTransfer.java
│ └── utils //工具类
│ ├── FormValidUtils.java //表单校验
│ ├── JsonUtils.java //json转换
│ ├── ReflectionUtils.java //反射工具
│ ├── TreeUtils.java //树状数据
│ └── UploadService.java //下载配置
└── resources //配置文件
├── application.yml
└── templates //freemark模板引擎默认加载文档
└── salary.ftl //工资邮件模板
1.2. 前端目录结构
front-vue
├── babel.config.js
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ └── index.html
├── README.md
└── src
├── api
│ ├── admin.js
│ ├── brand.js
│ ├── login.js
│ ├── menu.js
│ ├── role.js
│ ├── schedule.js
│ └── upload.js
├── App.vue
├── assets
├── ccccc.html
├── components
│ └── huigeMenuItem.vue
├── main.js
├── router
│ └── index.js
├── store
│ └── index.js
├── utils
│ ├── datachoose.js
│ └── myaxios.js
└── views
├── admin
│ ├── index.js
│ ├── index.scss
│ └── index.vue
├── brand
│ ├── index.js
│ ├── index.scss
│ └── index.vue
├── enter
│ ├── index.js
│ ├── index.scss
│ └── index.vue
├── index
│ └── index.vue
├── main
│ └── index.vue
├── menu
│ ├── index.js
│ ├── index.scss
│ └── index.vue
├── role
│ ├── index.js
│ ├── index.scss
│ └── index.vue
└── schedule
├── index.js
├── index.scss
└── index.vue
2. 实现功能
所有功能相关知识点均在源码中有总结
- 验证码登录
- 动态菜单
- 按钮级别权限(动态按钮)
- 三表联合增 删 改 分页条件查询 批量删除
- Excel下载
- 文件上传
- 登录验证
- 手动控制定时任务
3. 使用技术介绍
所有技术相关知识点在源码中均有总结
- 后端
- SpringBoot
- Maven 版本管理
- MyBatisPlus 数据库管理
- Redis 临时数据存储
- web 3.x
- tomcat 8.x
- JDK1.8
- validation 表单验证
- lombok
- easyExcel 生成excel文档
- pageHelper 分页查询
- swagger 自动生成文档
- security-crypto 密码加密
- oss 文件上传
- freemarker 模板引擎
- easy-captcha 验证码
- aop
- jwt 返回前端数据
- 前端
- vue
- element-ui
- axios
- normalize.css
4. 源码地址
5. 所用到的知识点
文档只记录一些相对复杂的逻辑和知识点
6. 总结
基本上把需要用到的功能都实现了 , 就是前端有些简陋