Erupt:開源低代碼 全棧類 框架,開發(fā)后端系統(tǒng)利器,無商用限制(erlang源碼)
Erupt簡(jiǎn)介
Erupt 是一個(gè)低代碼 全棧類 框架,它使用 Java 注解 動(dòng)態(tài)生成頁面以及增、刪、改、查、權(quán)限控制等后臺(tái)功能。
零前端代碼、零 CURD、自動(dòng)建表,僅需 一個(gè)類文件 簡(jiǎn)潔的注解配置,快速開發(fā)出企業(yè)級(jí) Admin 管理后臺(tái)。
提供企業(yè)級(jí)中后臺(tái)管理系統(tǒng)的全棧解決方案,大幅壓縮研發(fā)周期,專注核心業(yè)務(wù)。
完美取代 代碼生成器,開發(fā)后臺(tái)管理系統(tǒng)更優(yōu)解!
特性
- 易于上手:會(huì)簡(jiǎn)單的 Spring Boot 基礎(chǔ)知識(shí)即可
- 使用簡(jiǎn)單:僅需了解 @Erupt 與 @EruptField 兩個(gè)注解即可上手開發(fā)
- 代碼簡(jiǎn)潔:前端零代碼,后端 template、controller、service、dao 都不需要,僅需一個(gè)類文件即可
- 敏捷開發(fā):僅單個(gè).java文件即可實(shí)現(xiàn)后臺(tái)管理功能,專注業(yè)務(wù)與核心功能的研發(fā)
- 快速迭代:需求變更僅需修改或添加注解配置即可,迭代速度比需求討論速度還快
- 功能強(qiáng)大:動(dòng)態(tài)條件處理,支持增刪改查等功能代理接口,Session存儲(chǔ)機(jī)制選擇,行為日志記錄等
- 自動(dòng)建表:依托于JPA可自動(dòng)幫你完成數(shù)據(jù)庫建表相關(guān)工作
- 低侵入性:幾乎所有功能都圍繞注解而展開,不影響Spring Boot其他功能或三方庫庫的使用
- 多數(shù)據(jù)源:支持:MySql、Oracle、SQL Server、PostgreSQL、H2,甚至支持 MongoDB
- 大量組件:滑動(dòng)輸入、時(shí)間選擇、一對(duì)多、圖片上傳、代碼編輯器、自動(dòng)完成、樹、多對(duì)多、地圖等23類組件
- 豐富展示:普通文本、二維碼、鏈接、圖片、HTML、代碼段、iframe、swf等
- 代碼生成:erupt代碼已經(jīng)足夠簡(jiǎn)潔,代碼生成器可進(jìn)一步提升開發(fā)效率
- 高擴(kuò)展性:支持自定義數(shù)據(jù)源實(shí)現(xiàn)、自定義頁面、動(dòng)態(tài)權(quán)限管理、生命周期函數(shù)、自定義OSS等
- 界面美觀:每個(gè)交互都精心設(shè)計(jì),產(chǎn)品思維打磨,只為了更好的操作體驗(yàn)
- 權(quán)限管理:用戶管理、角色管理、組織管理、菜單管理、登錄日志、操作日志等
- 高安全性:可靠的安全機(jī)制,登錄白名單,權(quán)限驗(yàn)證,注解項(xiàng)檢查,細(xì)顆粒度權(quán)限控制,為你的數(shù)據(jù)保駕護(hù)航
- 響應(yīng)式布局:支持PC端手機(jī)端等各種規(guī)格的設(shè)備中使用
- 無需二次開發(fā):僅需引用 jar 包即可 !
- 支持?jǐn)U展頁面:可開發(fā)自定義頁面,自定義彈出層,且支持:原生H5 / Freemarker / Thymeleaf等方式渲染
環(huán)境搭建
環(huán)境依賴
- Java 版本 1.8.0 及以上
- Spring Boot 版本 2.0 及其以上
- 數(shù)據(jù)庫默認(rèn)MySql,可使用MySql5.7
- 前端:Node.js 10.9.0 或更高版本
- 瀏覽器:主流瀏覽器即可
代碼示例
采用前后端分離的方式開發(fā),可對(duì)前后端分別進(jìn)行部署。
后端部署
這里采用下載源碼,導(dǎo)入IDE編譯運(yùn)行的方式進(jìn)行。
1.使用git下載erupt示例源碼
git clone https://gitee.com/erupt/erupt-example.git
2.編譯運(yùn)行
使用IntelliJ IDEA開發(fā)工具打開源碼并修改配置文件。
erupt: # 是否開啟csrf防御 csrfInspect: true # 是否開啟redis方式存儲(chǔ)session,默認(rèn)false,開啟后需在配置文件中添加redis配置(同 spring boot) redisSession: false # 附件上傳存儲(chǔ)路徑, 默認(rèn)路徑為:/opt/erupt-attachment uploadPath: D:/erupt/attachment # 是否保留上傳文件原始名稱 keepUploadFileName: false # 登錄session時(shí)長(zhǎng)(redisSession為true時(shí)有效) upms.expireTimeByLogin: 60 # 是否記錄操作日志,默認(rèn)true,該功能開啟后可在【系統(tǒng)管理 → 操作日志】中查看操作日志 security.recordOperateLog: truespring: datasource: url: jdbc:mysql://localhost:3306/erupt-example?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: 123456
如上代碼段所示,根據(jù)本地環(huán)境,修改附件上傳存儲(chǔ)路徑uploadPath為本地實(shí)際存儲(chǔ)路徑;
修改數(shù)據(jù)庫連接字符串:spring:datasource:url,賬戶密碼根據(jù)自己本地?cái)?shù)據(jù)庫信息進(jìn)行填寫,修改完成后編譯程序。
初始化數(shù)據(jù)庫
首先手動(dòng)創(chuàng)建數(shù)據(jù)庫"erupt-example",然后運(yùn)行ExampleApplication,程序啟動(dòng)后會(huì)自動(dòng)初始化數(shù)據(jù)庫。
數(shù)據(jù)庫初始化成功
前端部署
1.使用git下載erupt前端源碼erupt-web
git clone https://gitee.com/erupt/erupt-web.git
2.安裝依賴并啟動(dòng)前端
安裝依賴
yarn install
修改接口url:在根目錄打開proxy.config.json文件,并修改key值為target的值為服務(wù)端對(duì)應(yīng)的url地址,修改完成后啟動(dòng)即可。
proxy.config.json
{ "/": { "target":"http://localhost:8080", "secure":false, "logLevel":"info", "changeOrigin":true }}
yarn run start
簡(jiǎn)單使用
默認(rèn)用戶名:erupt 默認(rèn)密碼:erupt
輸入http://127.0.0.1:4400/(我本地設(shè)置的前端端口為4400),進(jìn)入登錄頁面,并輸入密碼,首次登錄成功會(huì)提示修改密碼,登錄成功如下圖所示。
登錄成功