hxyFrame是後台管理系統,採用流行的框架springMvc+spring+mybatis+shiro+redis+ehcache開發,實現了權限管理(選單權限、資料權限),solr全文搜尋引擎,activiti工作流程引擎,cas單點登陸等功能,完善的程式碼產生器後期還會考慮改造成模組微服務化,做到模組的相對獨立,使用更加靈活,努力做到快速開發OA辦公系統。
1.權限管理:採用Shiro實作功能權限及機構部門的資料控制權限,可控制功能表權限、按鈕權限、機構部門權限(資料權限)
2.工作流程引擎:採用主流的activiti流程引擎,在原基礎上擴展了動態新增審核人員範圍選擇、會簽節點的動態設定、排它路由條件設定、 節點可編輯欄位設定、節點執行後回呼函數、辦理任務、駁回到發起人從新發起、退到上一步、自由跳轉、轉辦等功能。在開發的過程中, 只需要簡單業務流程樹,尊守一些規則就可以很方便的使用流程,後面還考慮加入自訂表單,讓開發變的更加簡單。
3.CAS單點登陸:整合cas+shiro+redis單點登陸,實現多個系統統一登陸登出。
4.快取:使用redis+ehcahe整合shiro自訂sessionDao實作分散式叢集共享session,redis可採用單機方式,也可以叢集哨兵模式。可以靈活的切換模式
5.solr全文搜尋引擎,最基本的增、刪、改、查、關鍵字分頁查詢、帶高亮的關鍵字查詢,建立索引分為三種方式: 1.CRUD時調用solr添加索引2.sql直接從資料庫匯入索引3.如果不需要即時,可以將先儲存到一表,再寫一定時任務每隔多久更新一次索引,對於不需要即時的需求,可以提高效能。 目前還沒合併到主幹,開發的更加完善,後面回整合到專案。
6、quartz定時任務:可動態完成任務的新增、修改、刪除、暫停、復原及日誌檢視等功能
7.app介面:基於Json web token (JWT)認證使用者資訊,使用swagger產生一個具有互動性的api文檔控制台。
8.頁面互動使用了vue+html和最普通的jsp+jstl標籤,兩種互動都寫了對應的模板,可以選擇適合的互動方式。
9.完善的程式碼產生機制,可在線上產生entity、xml、dao、service、html、js、sql程式碼,快速開發基本功能程式碼,能把更多的精力放在問題困難。
10.採用layer友善的彈框,和layerUI相對漂亮的介面,讓OA系統看起來稍微好一點。
核心架構:Spring Framework 4.3.7.RELEASE
工作流程引擎:Activiti 5.22.0
全文搜尋:Solr 6.5.1
單點登陸: cas 4.0.3
快取:redis 3.07
權限框架:Apache Shiro 1.3
視圖框架:Spring MVC 4.3
持久層框架:MyBatis 3.3
資料庫:mysql 5.7
定時器:Quartz 2.2.3
前端頁面:Vue2.x、jstl、bootstrap、layer、layerUI
JDK1.8
MySQL5.7.17
Maven3.0
Tomcat7.0
redis 3.07
Solr 6.5.1
1.建立資料庫hxyframe,資料庫編碼為UTF-8,導入doc/sql/hxyframe.sql腳本
2、修改conf/jdbc.properties文件,更改MySQL帳號及密碼
3.redis服務,可以使用單機redis也可以設定哨兵叢集模式
4、solr伺服器,可自行下載配置,也可以到官方qq群下載配置完善的
5.專案存取路徑:http://localhost:8080/frame-admin/