我在之前已經講了幾個基於.NET技術棧的CMS系統,例如dtcms、sscms,它們都是開源內容管理系統不可多得的佳作。
今天我將給大家介紹另外一個基於.NET Core + Vue.js開源的前後端分離的CMS框架LinCms,之所以要介紹這款CMS,主要是因為它的界面做工精美,並且使用了很多良好的設計理念,項目還集成了Swagger的增強版Knife4jUI,非常值得學習研究。
什麼是 Lincms?
Lin-CMS 是一個基於.NET Core + Vue.js 開源的前後端分離內容管理系統框架,主旨為了幫助開發人員提高CMS的開發效率。它內置了許多常用的功能,如權限管理、用戶管理、頻道管理、文章管理、標籤管理等,開發者只需要關注自己要開發業務即可。
開發環境
Visual Stdio 2019+,MySQL5.6+,Node.js環境。
使用的技術
1、ORM使用FreeSql2、ASP.NET Core3.1+WebAPI+RESTful3、AutoMapper對象映射4、IdentityServer4身份認證框架5、JWT Json Web令牌6、Swagger和Knife4jUI7、Xunit測試框架8、Serilog日誌9、AutoFac依賴注入框架10、七牛雲存儲11、EventBus:DotNeteCore.CAP、分布式事務後臺源碼結構
LinCms.IdentityServer4項目:使用id4授權登錄LinCms.Web項目:接口API(ASP.NET Core)LinCms.Application項目:應用服務LinCms.Application.Contracts:DTO項目:數據傳輸對象,應用服務接口LinCms.Infrastructure項目:基礎設施,資料庫持久性的操作LinCms.Core項目:該應用的核心,實體類,通用操作類,AOP擴展,分頁對象,基礎依賴對象接口,時間擴展方法,當前用戶信息,異常類,值對象LinCms.Plugins項目:使用單項目實現某個業務的擴展,不是該項目的主要結構,可暫時忽略。LinCms.Scaffolding項目:代碼生成器LinCms.Test項目:對倉儲,應用服務或工具類進行測試資料庫配置
項目默認使用MySQL資料庫,需要先創建資料庫,然後執行資料庫腳本,記得修改資料庫連接的帳號密碼。
後臺項目運行
項目代碼編譯通過後,直接運行LinCms.Web項目,就會打開下面的控制臺程序,並自動打開Knife4jUI或者Swagger,證明接口服務運行成功。(源碼既提供了SwaggerUI的集成,也提供了 knife4j集成)
運行http://localhost:5000/,將打開Swagger。
關於Knife4jUI
knife4j UI 是swagger ui 庫的增強版本,支持 .NET Core3.0+或.NET Standard2.0。運行效果如下,使用knife4jUI調試接口非常方便,功能比Swagger要強大一些。
前端項目源碼
運行前端項目,必須先裝好Node.js環境,另外需要對Vue.js有一定的了解。
使用:npm install命令下載項目的依賴包使用:npm run serve 命令運行項目。
後臺登錄頁
後臺登陸默認帳號: admin, 密碼:123qwe
後臺首頁
頻道管理
標籤管理
框架提供了很多自定義組件頁面
結語
Lincms是一款優秀的前後端分離的內容管理系統,界面精美,功能齊全,可擴展性很強,非常適合網站項目的開發。
另外想了解更多Knife4jUI的知識,請點擊程式設計師需要知道的Knife4j UI,Swagger的增強版。
如果你對Lincms項目源碼感興趣,可以關注+轉發,然後私信回復「lincms」,源碼發你。