有人曾說:人的差距都在業餘時間拉開的……嗯,我現在深刻了解着這句話,作為一個程式員,技術男,就得不斷學習新的技術,跟上時代步伐,才會讓自己更有價值~~~~以下這個項目是個人利用業餘時間學習并實踐的~如有不正确的地方,歡迎大家指正。今天總算把這些功能都搞得差不多了,做一下記錄,結一下尾。
一、概述
本系統主要是一個背景管理系統,Shiro實作使用者的角色、權限配置設定;layui+thymeleaf實作頁面的渲染;線上設計流程圖(非插件);通過請假模拟工作流;layui實作頁面菜單樹等等,一一道來。
1、技術點
SpringBoot(2.1.8.RELEASE)-官網位址:https://spring.io/projects/spring-boot/
Mabtis-Plus(3.2.0):國人開發的增強版mybatis,極好用(不僅可以生成mapper,連controller、service都可以逆向生成……等等)--官網位址:https://mp.baomidou.com/
Activiti(5.22.0):實作工作流(類比日常OA系統):https://www.activiti.org/get-started
Shiro(1.4.1):實作權限管理:http://shiro.apache.org/
layui(2.5.5):前端架構(極容易上手):https://www.layui.com/
Thymeleaf:模闆引擎:https://www.thymeleaf.org/
2、實作功能
權限配置設定:基于“RBAC”實作的“使用者”、“角色”、“權限”對應;根據不同使用者配置設定不同的角色、根據不同的角色配置設定不同的權限
bpmn(流程圖):本系統內建Activiti線上設計器,即通過本系統可以實作線上畫流程圖(避免給eclipse及idea裝插件)
菜單樹:layui元件生成
thymeleaf+layui:渲染前端頁面、查詢條件等
二、系統示範
1、layui加載菜單樹、Shiro實作授權

2、Activiti線上設計請假單的流程圖
這裡唯一需要注意的就是任務監聽器的配置:(需要配置該類的全路徑名,上述gif動圖中有該配置,并實作TaskListener、不要配置成執行監聽器-------鄙人走過的坑!!! )
4、請假整體流程業務測試
根據上一步線上設計好的流程圖,啟動該流程(注:上司關系:孫七-->趙六-->王五)
5、首頁子產品
我的申請任務、待辦任務、經辦任務(拿出了我吃奶的勁去修飾頁面:div+css--------真讓人頭疼--------------自學vue中……)
三、分析
1、菜單樹的加載(layui元件實作)
根據官網案例,菜單樹的資料就是json串,是以我們背景構造出對應的json即可---即TreeNodeBuilder構造出有層次的json串
2、Mabits-plus逆向生成代碼的測試類
這裡包括生成:controller、Service、ServiceImpl、Mapper、Mapper.xml
本項目位址:https://github.com/Simple-Coder/manage-system(其中也有很多不足)