erupt通用后臺(tái)管理框架
Erupt Framework 是一個(gè)通用后臺(tái)管理框架。Erupt 可快速的構(gòu)建管理頁(yè)面,零前端代碼、零CURD、自動(dòng)建表,僅需單個(gè)類文件 + 簡(jiǎn)潔的注解配置,即可快速開(kāi)發(fā)企業(yè)級(jí)Admin管理后臺(tái)!
后臺(tái)管理系統(tǒng)非常重要,但開(kāi)發(fā)存在一定的痛點(diǎn),如:開(kāi)發(fā)效率低、界面不美觀、交互不理想、工作量重復(fù)、存在安全漏洞、后端研發(fā)被迫寫(xiě)前端代碼等。
Erupt提供企業(yè)級(jí)中后臺(tái)管理系統(tǒng)的全棧解決方案,提供超多業(yè)務(wù)組件,簡(jiǎn)潔美觀的后臺(tái)頁(yè)面,支持23類數(shù)據(jù)組件,多種數(shù)據(jù)源支持,嚴(yán)密的安全策略,壓縮研發(fā)周期,降低研發(fā)成本。
注:我不是代碼生成器,代碼生成器并非后臺(tái)開(kāi)發(fā)的最優(yōu)解。代碼生成器的本質(zhì)還是生成繁瑣的后臺(tái)代碼,一旦修改后期生成的代碼很難合并,雖然減輕了一部分工作,可解決方式并非最佳。
特性 | Features
- 易于上手:僅需了解@Erupt與@EruptField兩個(gè)注解即可上手開(kāi)發(fā)。
- 代碼簡(jiǎn)潔:前端零代碼,后端template、controller、service、dao都不需要,僅需一個(gè)實(shí)體類即可。
- 敏捷開(kāi)發(fā):僅單個(gè)
.java文件即可實(shí)現(xiàn)后臺(tái)管理功能,專注業(yè)務(wù)與核心功能的研發(fā)。 - 快速迭代:需求變更僅需修改或添加注解配置即可,迭代速度比需求討論速度還快。
- 功能強(qiáng)大:動(dòng)態(tài)條件處理,支持增刪改查等功能代理接口,Session存儲(chǔ)機(jī)制選擇,行為日志記錄等。
- 高安全性:可靠的安全機(jī)制,登錄白名單,菜單權(quán)限驗(yàn)證,請(qǐng)求頭檢查,注解項(xiàng)檢查,細(xì)顆粒度權(quán)限控制,為你的數(shù)據(jù)保駕護(hù)航。
- 自動(dòng)建表:依托于JPA可自動(dòng)幫你完成數(shù)據(jù)庫(kù)建表相關(guān)工作。
- 低侵入性:幾乎所有功能都圍繞注解而展開(kāi),不影響Spring Boot其他功能或三方庫(kù)庫(kù)的使用。
- 多數(shù)據(jù)源:MySQL、Oracle、SQL Server、PostgreSQL、H2,甚至支持MongoDB。
- 多種組件:支持滑動(dòng)輸入、時(shí)間選擇、開(kāi)關(guān)、圖片上傳、代碼編輯器、自動(dòng)完成、樹(shù)、多選框、地圖等23類組件
- 豐富展示:普通文本、二維碼、鏈接、圖片、HTML、代碼段、iframe、swf等
- 代碼生成:erupt代碼已經(jīng)足夠簡(jiǎn)潔,代碼生成器可進(jìn)一步提升開(kāi)發(fā)效率。
- 擴(kuò)展性強(qiáng):支持自定義數(shù)據(jù)源實(shí)現(xiàn)、自定義頁(yè)面、自定義模板、自定義附件上傳機(jī)制等。
- 界面美觀:每個(gè)交互都精心設(shè)計(jì),產(chǎn)品思維打磨,只為了更好的操作體驗(yàn)。
- 響應(yīng)式布局:支持PC端手機(jī)端等各種規(guī)格的設(shè)備中使用。
代碼示例 | Code
@Erupt(name = "入門示例")
@Table(name = "t_xxxxxx") //數(shù)據(jù)庫(kù)表名
@Entity
public class Simple extends BaseModel {
@EruptField(
views = @View(title = "文本"),
edit = @Edit(title = "文本")
)
private String input;
@EruptField(
views = @View(title = "數(shù)值"),
edit = @Edit(title = "數(shù)值")
)
private Integer number;
@EruptField(
views = @View(title = "布爾"),
edit = @Edit(title = "布爾")
)
private Boolean bool;
@EruptField(
views = @View(title = "時(shí)間"),
edit = @Edit(title = "時(shí)間")
)
private Date date;
}
運(yùn)行效果
演示截圖 | Screenshot
模塊說(shuō)明 | Module
erupt ├── erupt-annotation -- 核心注解聲明 ├── erupt-core -- 核心功能包 ├── erupt-data -- 數(shù)據(jù)實(shí)現(xiàn)包 ├── erupt-jpa -- 關(guān)系型數(shù)據(jù)庫(kù)erupt實(shí)現(xiàn) └── erupt-mongodb -- mongodb數(shù)據(jù)庫(kù)erupt實(shí)現(xiàn) ├── erupt-job -- 定時(shí)任務(wù)功能 ├── erupt-security -- 接口數(shù)據(jù)安全模塊 ├── erupt-upms -- 用戶權(quán)限管理 └── erupt-web -- 前端頁(yè)面 erupt-pro //暫未開(kāi)放 ├── erupt-bi -- 通過(guò)sql加js混編實(shí)現(xiàn)動(dòng)態(tài)報(bào)表,支持多數(shù)據(jù)源,支持十幾種圖表 ├── erupt-tpl -- 支持在erupt中自定義頁(yè)面,自定義圖表,自定義模板等功能,模板引擎支持freemarker/thymeleaf/原生H5 └── erupt-generator -- 代碼生成器,通過(guò)簡(jiǎn)單配置,生成erupt代碼段
技術(shù)體系 | Technology system
后端:
Java 8、 ScriptEngine、 Annotation、 JDBC、 Reflect、 Spring Boot、 JPA、 Hibernate、 Quartz、 Gson、 Lombok、 Freemarker、 Thymeleaf ...
前端:
JavaScript、 H5、 MVVM、 Router、 Angular CLI、 Angular、 NG-ZORRO、 NG-ALAIN、 G2Plot、 RxJS、 TypeScript、 Less ...
在線演示 | Demo
演示地址:https://www.erupt.xyz/demo
賬號(hào)密碼:guest / guest
支持主流 4 款現(xiàn)代瀏覽器,以及 Internet Explorer 11+,可直接運(yùn)行在 Electron 等基于 Web 標(biāo)準(zhǔn)的環(huán)境上
| Edge / IE |
Firefox |
Chrome |
Safari |
Opera |
Electron |
|---|---|---|---|---|---|
| Edge 16 / IE 11+ | 522 | 57 | 11 | 44 | Chromium 57 |
使用文檔 | Documentation
https://www.yuque.com/yuepeng/erupt
開(kāi)源推薦 | Recommend
zeta-api:通過(guò)XML配置快速創(chuàng)建api接口與文檔,安全且高效,快速開(kāi)發(fā)必備!
捐贈(zèng) | Donate
感謝所有支持者!??
作者:YuePeng / [email protected]
