一、序言
UCode Cms
管理系統是面向企業級應用軟體開發的腳手架。當前版本1.3.4
。快速體驗:
git clone https://gitee.com/decsa/demo-cms.git
(一)專案特點
1、原始碼開源
原始碼開源並且使用MIT開源許可協議,個人或者企業使用者免費放心使用,專案原始碼地址:
git clone https://gitee.com/decsa/ucode-cms-vue.git
2、快速上手
新建空專案,引入相關依賴,初始化資料庫,啟動專案,一個專案腳手架便搭建完成,更加便捷的操作是克隆[demo專案],修改資料庫連線並啟動專案。
<!--ucode-cms核心依賴-->
<dependency>
<groupId>xin.altitude.cms</groupId>
<artifactId>ucode-cms-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
(二)專案的內在邏輯
市面上各種管理系統做的非常好,作者無意重複造輪子,簡要本專案的初衷。
大部分管理系統屬於大雜燴性質的,說的難聽點是堆砌功能,其實很多時候僅僅是想用其做個專案初始環境腳手架而已,並不想用過多的功能,齊全的功能此時卻是累贅。
第一個特點:積木式結構
。積木式結構允許使用者在核心依賴的基礎上自由選擇功能模組,體現的思想是功能複用,減少無意義的功能開發。
第二個特點:暴露配置
。隱藏原始碼,暴露配置意味著使用者既能通過配置檔案修改系統行為,又能較少的與不相干原始碼打交道。
第三個特點:標準化程式碼
。鼓勵使用者按照專案的框架提煉公共程式碼,按照類似外掛性質予以封裝,為本專案添磚加瓦。
1、標準化
標準化是UCodeCms專案的核心內涵,即將通用性的功能濃縮成不可修改的互相獨立的Maven依賴,使用者使用時可按需配置
。
2、高內聚低耦合
廣泛使用高內聚低耦合設計原則,將使用者很少修改的原始碼進行封裝,同時對外提供可供修改配置的開關,降低使用成本。
3、積木式專案結構
核心依賴僅需要引入ucode-cms-spring-boot-starter
便可初始化專案,starter內建其餘核心依賴。
在核心依賴的基礎上定義了可選依賴:程式碼生成器模組、系統UI模組、系統監控模組、任務排程模組、Excel模組。可選依賴類似於積木,按需選配。
二、專案細節
(一)專案結構
UCode Cms原始碼專案結構如下
├── cms-ui // 系統UI部分原始碼
├── sql // 系統資料庫SQL指令碼
├── ucode-cms-admin // 測試demo專案(非必選)
├── ucode-cms-code // 程式碼生成器原始碼
├── ucode-cms-code-spring-boot-starter // 程式碼生成器starter
├── ucode-cms-common // 通用程式碼部分(核心依賴、可跨專案使用)
├── ucode-cms-excel // Excel處理模組原始碼
├── ucode-cms-framework // 核心依賴
├── ucode-cms-job // 任務排程原始碼
├── ucode-cms-monitor // 系統監控原始碼
├── ucode-cms-spring-boot-starter // 核心starter
├── ucode-cms-system // 系統部分原始碼
└── ucode-cms-ui // 系統UI部分依賴
(二)專案依賴
UCode Cms
使用的是熱門主流框架依賴。
依賴 | 版本 |
---|---|
JDK | 1.8 |
Spring Framework | 5 |
Spring Boot | 2.6.3 |
Mybatis Plus | 3.5.0 |
hutool | 5.7.19 |
Guava | 31.0.1-jre |
(三)特色功能
CmsConfig
配置類控制系統執行的行為,所有內建的配置可以在全域性配置檔案中修改。
1、程式碼生成器
通過視覺化介面勾選庫表結構,即可達到本地化快速生成程式碼的效果。對於表間含有外來鍵關係的庫表結構同樣支援,一對一、一對多、多對多可無縫銜接。 快速體驗:
git clone https://gitee.com/decsa/demo-code.git
2、內建介面列表
專案出廠時便自帶介面列表特性,可快速實現介面聯調與對接,降低溝通成本。
可在全域性配置檔案中開啟或者關閉介面列表。
3、視覺化任務排程
視覺化任務排程模組需要單獨引入,對於任務排程的管理非常友好。
引入依賴
<!--定時任務依賴(非必選)-->
<dependency>
<groupId>xin.altitude.cms.job</groupId>
<artifactId>ucode-cms-job</artifactId>
<version>1.3.4</version>
</dependency>
全域性配置檔案啟用
ucode.job.enabled: true
三、如何使用
(一)核心依賴
Maven對外提供的依賴清單如下:
<!--ucode-cms核心依賴-->
<dependency>
<groupId>xin.altitude.cms</groupId>
<artifactId>ucode-cms-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
(二)可選依賴
可選依賴有兩重含義:一是 ucode-cms-spring-boot-starter
中未包含的依賴可按需新增,二是 ucode-cms-spring-boot-starter
中包含尚使用不到的依賴可按需移除。
1、通用程式碼
通用程式碼依賴可跨專案使用,不僅限於此專案。其中內建的工具類EntityUtils
在MybatisPlus多表連線查詢中發揮重要作用。
<dependency>
<groupId>xin.altitude.cms.common</groupId>
<artifactId>ucode-cms-common</artifactId>
<version>1.3.4</version>
</dependency>
2、視覺化介面
可根據需要是否引入視覺化介面。
<dependency>
<groupId>xin.altitude.cms.ui</groupId>
<artifactId>ucode-cms-ui</artifactId>
<version>1.3.4</version>
</dependency>
3、定時任務
若有定時任務視覺化管理的需求,可引入此模組。
<dependency>
<groupId>xin.altitude.cms.job</groupId>
<artifactId>ucode-cms-job</artifactId>
<version>1.3.4</version>
</dependency>
4、系統監控
若有系統監控的需求,可引入此模組。
<dependency>
<groupId>xin.altitude.cms.monitor</groupId>
<artifactId>ucode-cms-monitor</artifactId>
<version>1.3.4</version>
</dependency>
5、表格處理
<dependency>
<groupId>xin.altitude.cms.excel</groupId>
<artifactId>ucode-cms-excel</artifactId>
<version>1.3.4</version>
</dependency>
如果在使用過程中有任何疑問,歡迎與我聯絡。