Uwl.Admin.Core開源框架(一)介紹


1、前言

  作為一個忠實的軟粉,一直期待微軟出跨平台,一直在等待.Net Core,因為剛畢業對於.Net的很多東西不是很熟知,就開始了.Net Core的摸索,一路上坎坎坷坷,對於新技術一直很期待,就開始漫長的.Net Core的學習和編寫開源框架,希望自己寫的文章能給.Net Core社區貢獻一下自己的坎坷路,這一路所遇到的問題磕磕絆絆,各種問題層出不窮,但是我認為沒有解決不了的問題,只有你想不想去做,擺好自己的心態,做好一個目標,你就會成功。

  本系列文章只是對框架現有的一些技術做一個簡單說明或者是引入,只是一個拋磚引玉的作用,第一次寫博客希望各路大神多多指導。

2、框架簡介

  *、Uwl.Admin.Core開源框架技術選擇的是.Net Core2.2以上的版本,ORM選擇的是EF Core,(個人偏向喜歡用EF Core),前端選擇的是目前主流技術Vue.js+Iview UI框架;

  *、框架功能:1)用戶管理;2)菜單管理;3)組織機構;4)按鈕管理;5)角色分配權限;6)角色管理;7)定時任務;8)個人資料;9)Excel導入、導出;10)用戶分配角色;11)SignalR即時通訊

  *、框架使用倉儲模式用來管理數據連接層,緩存使用的是Redis,Redis鏈接使用單例模式來管理;倉儲內由工作單元來管理數事務上下文;

  *、框架同時還封裝了RabbitMQ指定隊列模式,目前沒有功能實現后期擴展,若想使用RabbitMQ請先配置RabbitMQ;我這里使用的是Windows服務器    請看文章   RabbitMQ消息隊列入門(一)

2、技術簡介

后端技術

Uwl.Admin.Core使用的技術有:

  *、Async和Await 異步編程

  *、Repository + Service 倉儲模式編程;倉儲模式支持工作單元

  *、Swagger 前后端文檔說明,基於RESTful風格編寫接口

  *、Cors 簡單的跨域解決方案

  *、JWT自定義策略授權權限驗證

  *、依賴注入選擇的是官方自帶的DI注入,沒有使用第三方框架,ORM使用EF Core,數據庫使用的是Sql server,(后期會擴展MySql版本);

  *、AutoMapper 自動對象映射、

  *、Linq To Sql \ lambda表達式樹查詢;(表達式樹查詢是個人擴展的,表達式樹的使用方法請參考Uwl.Data.Server.MenuServer的多條件查詢)

  *、登錄認證方式使用JWT認證方式,后台接口使用SwaggerUI展示,角色權限使用  自定義權限處理器PermissionHandler 繼承與微軟官方 IAuthorizationRequirement;

  *、Excel導入導出使用的是Epplus第三方框架,導入導出只需要配置Attribute特性就好,不需要在自己寫列名;導出只支持List導出,暫時不支持Datatable;(Excel使用方法請參考UserController控制器)

  *、Rabbit MQ消息隊列(目前暫無業務使用場景后期准備用來記錄日志)

  *、Redis 輕量級分布式緩存;(Redis使用方法請參考Uwl.Data.Server.MenuServer類)

  *、QuartzNet第三方任務框架;(使用方法請參考類庫Uwl.ScheduledTask.Job.TestJobOne類)

  *、IdentityServer4授權模式已開發完成,未發布演示服務器代碼在github(Identityserver4Auth分支)

數據庫

  Sql Server、 EF Core ORM框架、CodeFirst、AutoMapper 自動對象映射、Linq To Sql \ lambda表達式樹查詢;

前端技術

  *、使用Vue 2.0 框架全家桶  +Iview UI框架 ,接口請求axios\狀態管理使用Vuex;Vue參考文獻(老張的博客);

  *、Iview UI框架基於Vue2.x的組件庫;請查看(IviewUI官網);

  *、前端權限按鈕控制使用動態渲染的方式來做,如果用戶有這個權限則顯示該按鈕沒有這個權限則不渲染按鈕;

3、項目地址

  *、.NET CORE 源碼:https://github.com/GeorGeWzw/Uwl.Admin.Core

  *、前端框架代碼:https://github.com/GeorGeWzw/Vue.Uwl.Admin

3、致謝

  *、感謝有幾位朋友支持、以及技術支持 特別感謝老張的博客、Psyche丶殘雲、深圳-果、大黃瓜 等各位大佬的技術默默支持;才讓我有了繼續前行下去的動力,非常感謝各位大佬給的很多建議。

  *、 下一篇我會寫QuartzNet控制中心的實現

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM