做爲一個忠實的軟粉,一直期待微軟出跨平臺,一直在等待.Net Core,由於剛畢業對於.Net的不少東西不是很熟知,就開始了.Net Core的摸索,一路上坎坎坷坷,對於新技術一直很期待,就開始漫長的.Net Core的學習和編寫開源框架,但願本身寫的文章能給.Net Core社區貢獻一下本身的坎坷路,這一路所遇到的問題磕磕絆絆,各類問題層出不窮,可是我認爲沒有解決不了的問題,只有你想不想去作,擺好本身的心態,作好一個目標,你就會成功。html
本系列文章只是對框架現有的一些技術作一個簡單說明或者是引入,只是一個拋磚引玉的做用,第一次寫博客但願各路大神多多指導。前端
*、Uwl.Admin開源框架技術選擇的是.Net Core2.2版本,ORM選擇的是EF Core,(我的偏向喜歡用EF Core),前端選擇的是目前主流技術Vue.js+Iview UI框架;ios
*、框架功能:1)用戶管理;2)菜單管理;3)組織機構;4)按鈕管理;5)角色分配權限;6)角色管理;7)定時任務;8)我的資料;9)Excel導入、導出;10)用戶分配角色;11)SignalR即時通信git
*、框架使用倉儲模式用來管理數據鏈接層,緩存使用的是Redis,Redis連接使用單例模式來管理;倉儲內由工做單元來管理數事務上下文;github
*、框架同時還封裝了RabbitMQ指定隊列模式,目前沒有功能實現後期擴展,若想使用RabbitMQ請先配置RabbitMQ;我這裏使用的是Windows服務器 請看文章 RabbitMQ消息隊列入門(一)
數據庫
後端技術編程
*、由於想單純搭建先後端分離,所以就選用的API;axios
*、Async和Await 異步編程後端
*、Repository + Service 倉儲模式編程跨域
*、Swagger 先後端文檔說明,基於RESTful風格編寫接口
*、Cors 簡單的跨域解決方案
*、JWT自定義策略受權權限驗證
*、依賴注入選擇的是官方自帶的DI注入,沒有使用第三方框架,ORM使用EF Core,數據庫使用的是Sql server,(後期會擴展MySql版本);
*、登陸認證方式使用JWT認證方式,後臺接口使用SwaggerUI展現,角色權限使用 自定義權限處理器PermissionHandler 繼承與微軟官方 IAuthorizationRequirement;
*、Excel導入導出使用的是Epplus第三方框架,導入導出只須要配置Attribute特性就好,不須要在本身寫列名;導出只支持List導出,暫時不支持Datatable;
*、Redis 輕量級分佈式緩存
*、Vue 本地代理跨域方案,Nginx跨域代理
*、定時任務使用QuartzNet第三方任務框架,QuartzNet任務框架能夠精確到分秒;(還有其餘任務框架、hangfire ),定時任務管理中心已經封裝完畢,只須要配置任務到對應的表中而且啓動任務就能夠直接用;QuartzNet第三方任務框架文獻參考(基於QuartzNet任務管理系統)
數據庫
Sql Server、 EF Core ORM框架、CodeFirst、AutoMapper 自動對象映射、Linq To Sql \ lambda表達式樹查詢;
前端技術
*、使用Vue 2.0 框架全家桶 +Iview UI框架 ,接口請求axios\狀態管理使用Vuex;Vue參考文獻(老張的博客);
*、Iview UI框架基於Vue2.x的組件庫;請查看(IviewUI官網);
*、前端權限按鈕控制使用動態渲染的方式來作,若是用戶有這個權限則顯示該按鈕沒有這個權限則不渲染按鈕;
*、.NET CORE 源碼:https://github.com/GeorGeWzw/Uwl.Admin.Core
*、前端框架代碼:https://github.com/GeorGeWzw/Vue.Uwl.Admin
*、感謝有幾位朋友支持、以及技術支持 特別感謝老張的博客、Psyche丶殘雲、深圳-果、大黃瓜 等各位大佬的技術默默支持;才讓我有了繼續前行下去的動力,很是感謝各位大佬給的不少建議。
*、 下一篇我會寫QuartzNet控制中心的實現