mee-admin開源後臺系統
Preface
這是一個開放的時代,我們不能總是把東西揣在口袋裡面自己樂呵。
也正如名言所說的“如果你有兩塊麵包,你當用其中一塊去換一朵水仙花”
所以,繼上一次把我的兩個個人專案開源之後今天我再一次把自有的後臺頁面也開源出來,以回饋整個開源世界。
開源地址
https://github.com/funnyzpc/mee-admin
專案結構概述
mee-admin是由我的個人mee
專案開源而來,mee-admin
專案是一個前後端一體化的專案,不過在程式碼上實現了頁面與資料分離,是一個非常好的
輕量級後端工程,所以在正式使用時您會發現主體業務部門均是採用json互動,前端頁面使用模板工具實現資料展現及編輯
與jeesite
不一樣,我們不使用jsp+sitmesh+ehcache
臃腫化專案
與Spring-Cloud-Platform
xboot
不一樣,這裡不使用vue
iview
做前後端分離,也不使用springclooud
做叢集分散式
所以我的專案更加輕量級,不需要裝node
不需要npm
打包 需不要安裝nginx
同時也不需要編寫無聊的mapper介面,不需要單獨寫增刪改....
所以對於企業內部需求開發更是無比的急速
同時,mee-admin
只需具有java
後端以及一點點javascript
開發能力,便可急速上手。
專案技術相關
- 使用
springboot 2.3.4.RELEASE
作為基礎框架 - 使用
mybatis
作為dao
框架 - 使用
postgreSQL
作為框架DB(可支援Mysql
及Oracle
) - 使用
shiro
做許可權管理 - 使用
Freemarker
做頁面模板 - 使用
jquery
外掛作javascript
基本擴充套件庫使用- 目前只是一些元件依賴用,建議大多數情況下使用
ES5
或ES6
規範的javascript
擴充套件
- 目前只是一些元件依賴用,建議大多數情況下使用
- 使用
handlebars
做表單及資料模板 - 使用
seajs
做基礎模組管理 - 封裝了序列(
ID
)生成器(支援分散式)SeqGenServiceImpl
序列生成器(支援分散式)SeqGenUtil
普通序列生成器
- 封裝了
Jackson
的json
庫,完全可替代fastjson
- 封裝了物理分頁
PhysicalPageInterceptor
及邏輯分頁LogicalPageIntercepter
(兩個可任選其一),完全替代RowBounds
及一眾分頁依賴 - 封裝了
Excel
及CSV
工具ExcelReadUtil
EXCEL讀工具ExcelWriteUtil
EXCEL寫工具CSVUtils
CSV讀工具
- 簡單封裝了java8日期工具類
DateUtil
專案介面
-
登入
-
主頁
-
報表
-
基礎配置
-
編輯及修改
-
系統配置
專案執行及打包
-
本地專案執行
- Fork
mee-admin
- git clone
mee-admin
to local - init DB table
- use Idea IDE open project
- auto build dependency
- Idea start config
- run
MeeApplication
and program arguments add--spring.profiles.active=dev
- 注dev、test、prod均為pom.xml下配置的環境引數
- run
- Fork
-
打包及Linux伺服器構建指令碼,見mee-admin
- 必須安裝maven(方法請自行搜尋引擎查詢)
專案訪問
- local:
http://127.0.0.1/mee/login
- server:
http://[Your DOMAIN or HOST+PORT]/mee/login
Notice
雖整個專案封裝的較為完整, 但是對於一些自定義的展示還是需要有一定的前端技能
作為補償,這裡大致寫了功能開發流程[see:Function flow](#### Function flow),具體的還需要讀者具體學習哈~
Function flow
-
功能開發流程
- 新增mybatis SQL xml檔案及對映實體類entity
- 編寫控制器controller及業務service程式碼
- 編寫構建前端頁面並新增選單項
- 新增依賴js
resources/public/module
下 - 後端新增許可權標識
@RequiresPermissions("your_auth_code")
- 前端(選單和業務頁面)新增許可權標識
<@shiro.hasPermission name="your_auth_code"></@shiro.hasPermission>
- 後臺新增選單專案
- 後臺角色許可權分配
-
js新增對話方塊或按鈕擴充套件功能(這是難點!)
業務前端js採用模組化依賴並封裝了表單著錄以及增刪改查相應功能,十分便捷,
目前對於擴充套件功能(比如新增一個’重算‘) 需要自定義函式及相應邏輯,具體流程大致如下
- 在search-form內定義button控制元件(一定要有name屬性)
- 在依賴的js檔案內的init函式內定義擴充套件
toolbar:{ "控制元件屬性名": 屬性名對應函式 }
- 編寫相應函式邏輯
end
歡迎提交issue,如有好的建議及意也請留下腳印,這裡先感謝哈?
同時, 如有困難可以諮詢 funnyzpc@gmail.com