本次升級內容:
1 將springboot版本升級到2.2.5
2 重構了整個目錄,使項目結構變的更清晰
3 使用fhs tag(基於beetl的標籤封裝) 替換掉了原來的JSP代碼。
4 pagex組件不在依賴外部jar包可在運行期生成Java代碼並且載入到類載入器中。
代碼直達:https://gitee.com/fhs-opensource/fhs-framework/tree/v2.0.0
Fhs-Framework介紹:
Fhs-Framework 是一款開箱即用的快速開發平台,除了常規的字典,菜單,許可權,角色,用戶,代碼生成器等基礎功能外還有以下特性:
1 支持聲明式事務
2 通過簡單的配置實現數據源路由(多DataSource靈活切換)
3 數據許可權控制
4 翻譯服務(即:通過註解和緩存來實現 有其他表id VO中需要其他表name/title 的場景,無需使用SQL JOIN)
使用和原理: https://blog.csdn.net/shuaizai88/article/details/105250088
5 統一文件服務(前端直接上傳文件到文件服務,文件服務接管文件的上傳下載,業務表只存放文件id,無需存放路徑,不需要FTP,支持阿里雲OSS)
6 使用了"過時"的EasyUI,但是給Easyui加了一套BootStrap的皮膚,效果媲美Layui.
7 使用Beetl封裝了常用的表單組件,減少表單代碼.
8 提供pagex引擎,可以讓後端程序員像寫配置文件一樣寫前端UI.
比如一個簡單的CRUD只需要寫下面一個JS文件即可,系統會在運行期生成相關的VO 代碼(生成代碼后直接編譯載入到classloader中,並不在硬碟留存) 用於翻譯服務使用:
------------------------------------表信息配置--------------------------
var modelConfig = {
title: '子系統管理', pkey: 'id', type: 'uuid', orderBy: 'update_time Desc',
namespace: "sett_ms_system", table: 't_sett_ms_system',trans: true};
-------------------------------------列表顯示欄位配置-------------------------------
var listPage = {
listFieldSett: function () {
return [
{name: 'name', title: '子系統名稱', width: '20%', align: 'center'},
{name: 'sort', title: '排序', width: '10%', align: 'center'},
{name: 'is_enable', title: '狀態', width: '10%', align: 'center',key:'is_enable',trans:'book',showField:'transMap.is_enableName'},
{name: 'type', title: '類型', width: '10%', align: 'center',key:'system_type',trans:'book',showField:'transMap.typeName'},
{name: 'create_time', title: '創建時間', width: '15%', align: 'center'},
{name:'create_user',title:'創建人',width:'10%',align:'center',trans:'auto',showField:'transMap.create_userUserName'},
{name: 'update_time', title: '更新時間', width: '14%', align: 'center'},
{name:'update_user',title:'修改人',width:'10%',align:'center',trans:'auto',showField:'transMap.update_userUserName'},
]
},
-----------------------中間隱藏了部分可有可無的自定義配置-----------------------
-------------------------表單配置-------------------------------------------
formFields: function () {
return [
{name: 'name', title: '子系統名稱', required: true, type: 'input'},
{name: 'sort', title: '排序', required: true, dataType:'n', type: 'input'},
{name:'logo',title:'logo',type:'up',placeholder:'請上傳圖片'},
{name: 'is_enable', title: '狀態', type:'book',code:'is_enable', required: true,},
{name: 'type', title: '類型', type:'book',code:'system_type', required: true,},
{name: 'url', title: '跳轉url', type: 'input',dataType:'url'},
{name: 'index_url', title: '首頁url', type: 'input',dataType:'url'},
];
},
效果展示:
[admin
]