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. 總結
基本上把需要用到的功能都實現了 , 就是前端有些簡陋
