后台管理系统-项目介绍

1. 项目介绍

本系统是一个后台管理系统

前端源码 : https://gitee.com/leo-heng/myproject-front

后端源码 : https://gitee.com/leo-heng/myproject-back

知识整理 : https://www.cnblogs.com/Leo-Heng/p/14989418.html

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. 总结

基本上把需要用到的功能都实现了 , 就是前端有些简陋

posted @ 2021-07-09 10:25  小_Leo  阅读(2018)  评论(0编辑  收藏  举报