1. 程式人生 > >全平行宇宙首個.NET5+Vue.js業務模組化快速開發框架【NetModular】釋出~

全平行宇宙首個.NET5+Vue.js業務模組化快速開發框架【NetModular】釋出~

大噶好,我是OLDLI,.Net全棧開發工程師,多年微軟ZMVP(自封MVP~) 最近.Net圈子很熱鬧啊,我也來湊湊,今天中午耗時長達半小時,把NetModular升級到了.NET5,詳情檢視分支[https://github.com/iamoldli/NetModular/tree/feature_net5](https://github.com/iamoldli/NetModular/tree/feature_net5)

![](https://img2020.cnblogs.com/blog/646935/202010/646935-20201022134741543-521500684.png)
NetModular

## NetModular是什麼 NetModular 是一款為中小型企業而生的基於.Net Core平臺的業務模組化快速開發解決方案,最終目的是能夠讓中小團隊快速搭建公司內部開發平臺。 ## NetModular有哪些特點 ### 1、模組化 以模組化為思想,以業務領域為理念,以包管理(nuget\npm)為基礎,充分解耦業務功能,使業務最大化的得到複用,極大減少重複開發時間,結合線上程式碼生成器,讓您“一天一模組,三天一系統”不再是夢想。 ### 2、內建ORM 基於Dapper封裝的輕量級ORM,支援多種資料庫自由切換,內建CRUD、軟硬刪除、Lamdba表示式查詢、多表連線查詢、分組查詢、跨庫連線查詢、日期分庫分表以及自定義分表策略,提供多個常用實體基類和對應功能,如自動設定建立人、建立日期、修改人、修改日期、刪除人、刪除日期等功能。 ### 3、多租戶 得益於自己擴充套件的ORM,非常簡單的就實現了資料共享模式的多租戶功能 ### 4、簡單易用 完善的基礎設施,包括簡單易用高效的ORM、日誌元件(Serilog)、物件對映(AutoMapper)、Api文件(Swagger)、快取(MemoryCachge/Redis)、強型別驗證(FluentValidation)、訊息佇列(RabbitMQ)、任務排程(Quartz)等功能模組,用什麼注入即可。 ### 5、不寫文件 當然,NetModular最大的特點就是作者的良(bu)苦(yao)用(lian)心,為了能夠讓大家多多閱讀程式碼,堅持不完善文件的精神~ ## 後端框架結構說明 | 框架模組 | 說明 | 版本 | | ---- | ---- | ---- | | 00_Host | 主機庫 |
| | 01_Utils | 通用基礎庫 | | | 02_Data | 輕量級ORM庫(基於 Dapper 擴充套件) | | | 03_Logging | 日誌庫(基於 Serilog 擴充套件) | | | 04_Mapper | 物件對映庫(基於 AutoMapper 擴充套件) | | | 05_Swagger | 介面文件庫(基於 Swashbuckle 擴充套件) | | | 06_Cache | 快取庫,支援記憶體快取和Redis | | | 07_Validation | 模型驗證庫(基於 FluentValidation 擴充套件) |
| | 08_Auth | 身份認證庫,已實現JWT認證方式 | | | 09_Module | 業務模組化核心庫 | | | 10_MQ | 訊息通訊庫,實現對RabbitMQ的封裝 | | | 11_Quartz | 基於 Quartz.Net 封裝的任務排程庫 | | | 12_Excel | Excel擴充套件庫 | | | 13_Config | 通用配置庫 | | | 14_Pdf | PDF擴充套件庫 | | | 15_MQTT | MQTT擴充套件庫(未實現) | | | 16_OSS | 物件儲存庫,內含七牛雲SDK的Core版本 |
| ## 開發環境 > 開發工具 > > > [Visual Studio 2019+](https://visualstudio.microsoft.com/zh-hans/downloads/)、[Visual Studio Code](https://code.visualstudio.com/) > 後端 > > > [.Net Core 3.1](https://dotnet.microsoft.com/download)、[Dapper](https://github.com/StackExchange/Dapper)、[Serilog](https://serilog.net/)、[AutoMapper](https://automapper.org/)、[FluentValidation](https://fluentvalidation.net)、[Swagger](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)、RabbitMQ、Redis、EPPlus > 前端 > > > [Node.js 10+](https://nodejs.org/en/)、[Vue.js 2.6+](https://cn.vuejs.org/)、[Vue CLI](https://cli.vuejs.org/zh/guide/)、[Vuex](https://vuex.vuejs.org/zh/)、[VueRouter](https://router.vuejs.org/zh/)、[Element-UI](https://element.eleme.cn/#/zh-CN/component/installation) ## 前端框架 NetModular.UI 前端採用Vue.js全家桶+Element UI開發,也是基於模組化思想設計,原始碼不在本倉庫,請移步 [NetModular.UI](https://github.com/iamoldli/NetModular.UI) ## 前端面板 前端支援自定義面板功能,框架本身提供了兩套面板,其中一套已經內建作為預設面板,另外一套需要單獨安裝,原始碼如下: | 編碼 | 版本 | 倉庫地址 | | ---- | ---- | ---- | | Classics | | [NetModular.Skins.Classics](https://github.com/iamoldli/NetModular.Skins.Classics) | ## 演示地址 本倉庫只包含後端框架程式碼,為了方便大家除錯執行,同時包含了許可權管理模組的程式碼,但是演示地址是把現有的幾個模組整合後釋出的,所以當你執行本倉庫發現與線上不一樣的時候,請下載演示原始碼,並且需要自己配置選單~ 演示地址:[https://demo.17mkh.com/](https://demo.17mkh.com/) 賬 戶:admin 密 碼: admin 演示原始碼:[https://github.com/iamoldli/NetModular.Demo](https://github.com/iamoldli/NetModular.Demo) ## 官方文件 文件地址: [https://docs.17mkh.com](https://docs.17mkh.com) 文件專案的原始碼請移步: [https://github.com/iamoldli/NetModular.Docs](https://github.com/iamoldli/NetModular.Docs) ## 模組列表 本倉庫只包含基礎框架以及許可權管理(Admin)模組程式碼,其它模組請點選以下連結檢視~ | 編號 | 編碼 | 說明 | 版本 | 倉庫地址 | | ---- | ---- | ----| ---- | ---- | | 00 | Admin | 許可權管理 | | 本倉庫 | | 01 | Common | 通用模組 | | [NetModular.Module.Common](https://github.com/iamoldli/NetModular.Module.Common) | | 02 | CodeGenerator | 模組建立(又名程式碼生成器) | | [NetModular.Module.Common](https://github.com/iamoldli/NetModular.Module.Common) | | 03 | Quartz | 任務排程 | | [NetModular.Module.Quartz](https://github.com/iamoldli/NetModular.Module.Quartz) | | 04 | PersonnelFiles | 人事檔案 | | [NetModular.Module.PersonnelFiles](https://github.com/iamoldli/NetModular.Module.PersonnelFiles) | ## 技術交流 QQ 群:點選加群 [903210423](http://shang.qq.com/wpa/qunwpa?idkey=cfc871fccc7173f17ac2c9d12c8a31a7549c260e6aefcb6a40fdcc4b423940b0)