天天看點

Activiti+Shiro實戰

  有人曾說:人的差距都在業餘時間拉開的……嗯,我現在深刻了解着這句話,作為一個程式員,技術男,就得不斷學習新的技術,跟上時代步伐,才會讓自己更有價值~~~~以下這個項目是個人利用業餘時間學習并實踐的~如有不正确的地方,歡迎大家指正。今天總算把這些功能都搞得差不多了,做一下記錄,結一下尾。

一、概述

  本系統主要是一個背景管理系統,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實作授權

Activiti+Shiro實戰

2、Activiti線上設計請假單的流程圖

Activiti+Shiro實戰

這裡唯一需要注意的就是任務監聽器的配置:(需要配置該類的全路徑名,上述gif動圖中有該配置,并實作TaskListener、不要配置成執行監聽器-------鄙人走過的坑!!! )

Activiti+Shiro實戰

 4、請假整體流程業務測試

  根據上一步線上設計好的流程圖,啟動該流程(注:上司關系:孫七-->趙六-->王五)

Activiti+Shiro實戰

 5、首頁子產品

  我的申請任務、待辦任務、經辦任務(拿出了我吃奶的勁去修飾頁面:div+css--------真讓人頭疼--------------自學vue中……)

Activiti+Shiro實戰

三、分析

1、菜單樹的加載(layui元件實作)

  根據官網案例,菜單樹的資料就是json串,是以我們背景構造出對應的json即可---即TreeNodeBuilder構造出有層次的json串  

Activiti+Shiro實戰

2、Mabits-plus逆向生成代碼的測試類

  這裡包括生成:controller、Service、ServiceImpl、Mapper、Mapper.xml

Activiti+Shiro實戰

本項目位址:https://github.com/Simple-Coder/manage-system(其中也有很多不足)

繼續閱讀