平臺由來
早些時候,也就是三月初的時候,定了一個長期計劃,即再啟程,研發(fā)應用開發(fā)平臺(詳見本專欄第一篇https://blog.csdn.net/seawaving/article/details/129334330)。
經(jīng)過大概兩個月的努力,低代碼配置功能部分完成了雛形,并使用配置功能,將系統(tǒng)管理模塊實現(xiàn)出來了,相當于進行了初步驗證,在實現(xiàn)過程中低代碼配置部分也進行了完善和改進。
現(xiàn)正式發(fā)布1.0版本。
平臺完全開源,基于MIT協(xié)議,選用的都是主流開源框架與功能組件。
地址:https://gitee.com/popsoft/abc-development-platform
平臺介紹
企業(yè)級通用低代碼開發(fā)平臺,前后端分離架構(gòu),單工程,多模塊,部署形態(tài)為單體應用。
前端基于vue3.2.47,element-plus 2.1.0,前端框架vue-element-plus-admin深度整合改造。
后端SSM+MybatisPlus,使用SpringBoot 2.3.0。
數(shù)據(jù)庫使用MySql 5.7.36.
重度使用MybatisPlus,包括主鍵策略、邏輯刪除、樂觀鎖、自動填充、數(shù)據(jù)分頁、CURD接口、條件構(gòu)造器等, 二次封裝和擴展代碼生成器,實現(xiàn)entity、dao、service、controller、vo及前端vue頁面生成。
整體架構(gòu)圖如下:
技術(shù)選型,詳見專欄博客:https://blog.csdn.net/seawaving/article/details/130015830
整體展示
登錄頁,沿用前端框架vue-elment-plus-admin,功能做了整合,UI尚未調(diào)整
系統(tǒng)首頁,同上,暫時保留框架分析頁,后面會改造替換掉
系統(tǒng)管理模塊——組織機構(gòu)
新增頁面與選擇頁面
系統(tǒng)管理模塊——用戶
系統(tǒng)管理模塊——用戶組(即通常所說的角色)
系統(tǒng)管理模塊——數(shù)據(jù)字典
系統(tǒng)管理模塊——權(quán)限項
系統(tǒng)管理模塊——系統(tǒng)參數(shù)
系統(tǒng)管理模塊——系統(tǒng)日志(開發(fā)階段把AOP停掉了,所以沒數(shù)據(jù))
實體管理模塊——模塊
實體管理模塊——實體
實體管理模塊——實體模型
實體管理模塊——實體視圖
列表視圖
新增視圖
后端架構(gòu)
首先分成兩部分,一部分是平臺內(nèi)核模塊,命名規(guī)則是platform+模塊功能名稱;另一部分是能力擴展模塊,命名規(guī)則是platform-boot-starter+模塊功能名稱。
platform-common作為公用基礎,主要包括工具類、公用注解、公共父類、公共常量、公共枚舉值,與前端UI交互定義的vo類,該模塊為最基礎的模塊,無前置依賴。
platform-system是平臺最核心的模塊,主要包括組織機構(gòu)、人員、角色、權(quán)限、日志、系統(tǒng)參數(shù)這些實體和服務的實現(xiàn),需要注意的是,權(quán)限控制、日志記錄,并不是在該模塊實現(xiàn),而是在platform-framework平臺框架中實現(xiàn),該模塊依賴于platform-common。
platform-framework是平臺框架,負責身份認證、權(quán)限控制、全局配置、數(shù)據(jù)分頁、日志處理、自動填充(創(chuàng)建人、創(chuàng)建時間、修改人、修改時間),因為身份認證、權(quán)限控制等功能,不可避免需要使用處于platform-system模塊中的人員、角色等實體和服務,因此依賴于platform-system。
platform-support是一個業(yè)務支撐模塊,基于技術(shù)組件進行功能設計與封裝,實現(xiàn)一些通用的功能設計,更方便業(yè)務邏輯的實現(xiàn),提供附件管理、內(nèi)容模板(用于短信、郵件、消息)、通訊組、單據(jù)流水號、門戶等功能。這些支撐模塊同樣需要位于platform-system模塊中的人員、組織機構(gòu)等實體和服務,因此依賴于platform-system。
platform-boot-starter:平臺啟動項目,整合平臺基礎功能,類似于spring-boot-starter,業(yè)務系統(tǒng)引入該包進行依賴。該模塊自身沒有實體與服務,而是匯總整合,把platform-framework引用進來,同時進行配置。配置分兩方面,一方面是做一個配置類,加一些注解(如:@EnableRetry、@ServletComponentScan、@EnableTransactionManagement),使用開發(fā)平臺實現(xiàn)的業(yè)務系統(tǒng),就不需要在啟動類上重復添加這些注解;另一方面,是位于yml配置文件中的配置信息,也分為兩部分,一部分是三方組件自身的,如數(shù)據(jù)源、連接池、redis、quartz、logback,另一方面是自定義的系統(tǒng)參數(shù),如用戶默認密碼、導出excel數(shù)據(jù)的批次最大行數(shù)量。
platform-boot-starter-demo:示例項目,實際是模擬業(yè)務系統(tǒng)如何使用開發(fā)平臺,用于平臺自身功能開發(fā)與調(diào)試。
右側(cè)四個模塊,比較好理解,通常是對第三方組件的封裝與整合,依賴于公共基礎模塊platform-common,這些模塊可以不斷擴展的,業(yè)務系統(tǒng)按需引入即可,這樣就實現(xiàn)了核心模塊必選、擴展模塊可選的目的。
platform-boot-starter-mail:郵件
platform-boot-starter-oss: 對象存儲
platform-boot-starter-scheduler:任務調(diào)度
platform-boot-starter-notification:消息通知
對于擴展模塊,平臺的核心模塊實際也可能會用到,例如platform-support中的附件功能,就會用到platform-boot-starter-oss;platform-system中的自動解鎖用戶功能,就會用到platform-boot-starter-scheduler。
詳見專欄博文:https://blog.csdn.net/seawaving/article/details/129425316
如何運行
1. 初始化數(shù)據(jù)庫
執(zhí)行根目錄下init.sql,創(chuàng)建名字為abc的數(shù)據(jù)庫。
2 .前端
nodejs 18.14.2(未測試版本兼容性,理論上更高版本可用,低版本可能兼容)
使用vscode打開platform-web目錄,執(zhí)行pnpm install安裝npm module
執(zhí)行dev腳本,默認打開localhost:4000
3 .后端
標準SpringBoot項目,多模塊,啟動類位于platform-boot-starter-demo下,默認端口8080。
整體計劃
1.實現(xiàn)系統(tǒng)內(nèi)核,打通前后端,系統(tǒng)能運轉(zhuǎn)起來
2.實現(xiàn)低代碼配置功能,這是后續(xù)開發(fā)的孵化器
3.基于低代碼配置+高代碼輔助實現(xiàn)系統(tǒng)管理模塊
4.整合SpringSecurity框架,實現(xiàn)身份認證與權(quán)限控制
5.遷移自己已實現(xiàn)的通用接口平臺,作為開發(fā)平臺的一部分
6.集成功能組件,擴展技術(shù)能力,如quartz、mail、oss、echarts
7.基于技術(shù)組件封裝業(yè)務功能組件
8.實現(xiàn)移動端接入
9.整合工作流
當前進度:
第1項系統(tǒng)內(nèi)核已完成
第2項完成60%,低代碼配置功能可用,后續(xù)細節(jié)持續(xù)完善。
第3項已完成,基于低代碼配置功能實現(xiàn)。
第4項已完成。
關(guān)于起名
關(guān)于名字,實際想了好久好久。日常設計開發(fā)中,類名、變量名,起名都會感覺困難,更不用說一個平臺。
這是自己的孩子,需要起一個好名字。
根據(jù)咱們行業(yè)慣例,命名需要具備業(yè)務含義:)。
作為低代碼配置平臺,應用的孵化器,首先錨定了一個“元”字,然后想在前面補一個字。陸陸續(xù)續(xù)想過一些名字,比如開元、創(chuàng)元,都體現(xiàn)不出來想表達的意思來。一度考慮使用華元,但這名字太大氣了,這個平臺恐怕?lián)尾黄疬@么大的臺面來。
中間想到了一句古語“一生二,二生三,三生萬物”,這才是我想要的意境。但是,三元作為一個品牌名,已經(jīng)被使用,只能放棄。
百度查了下,沒找到自己想要的名字。想了想現(xiàn)有的平臺命名,比如宜搭、若依、人人、JEECG,也沒得到啟發(fā)。進一步想,是不是可以放棄上面的含義,參照下那些知名企業(yè),比如蘋果、小米……還是感覺懸,這些不是因為名字起得好而知名度高,而是自身發(fā)展的好,邏輯是反的。
突然有一天,靈光一現(xiàn),回到最初的念頭,“一生二,二生三,三生萬物”,干脆就叫一二三吧,英文名字也有了,ABC。三個字的名字,雖然不如兩個字的順口,但總算有了自己想要的味道。簡單點,普通點,挺好。
開發(fā)平臺資料
平臺名稱:一二三開發(fā)平臺
簡介: 企業(yè)級通用開發(fā)平臺
設計資料:csdn專欄
開源地址:Gitee
開源協(xié)議:MIT文章來源:http://www.zghlxwxcb.cn/news/detail-454096.html
歡迎收藏、點贊、評論,你的支持是我前行的動力。文章來源地址http://www.zghlxwxcb.cn/news/detail-454096.html
到了這里,關(guān)于企業(yè)級通用低代碼開發(fā)平臺——一二三應用開發(fā)平臺發(fā)布1.0開源版本,前端vue3+element plus,框架vue-element-plus-admin,后端ssm+MybtaisPlus的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!