框架採用dotnetcore+vue+elementUI 先後端分離,而且支持前端、後臺代碼業務動態擴展,框架內置了一套有着20多種屬性配置的代碼生成器,可靈活配置生成的代碼,代碼生成器界面配置完成便可生成單表/主從表的增、刪、改、查、導入、導出、上傳、審覈基礎功能。只須要簡單瞭解便可上手開發html
- Vol.WebApi類庫可獨立用於restful api服務單獨部署,用於其餘系統單獨提供接口,直接上手編寫業務代碼便可。
- Vue+Vol.WebApi 可用於現有框架先後端分離進行開發
- Vol.Web類庫可用於傳統MVC+Razor方式進行項目開發
- Vol.Builder類庫可做爲一個獨立的代碼生成器,可生成cshtml頁面、Vue頁面、Model文件、Service與Repository.cs業務處理代碼類
- 可做爲一個獨立站點來發布靜態html網頁.
- 可直接用於H5移動App開發H5開發看這裏
- 支持前端、後臺基礎業務代碼動態擴展,可在現有框架增、刪、改、查、導入、導出、審覈基礎業務上擴展複雜的業務代碼
- 基本業務所有由框架完成,上手便可對基礎業務之外的代碼進行擴展
- 上手簡單,須要.net core2.一、VsCode mysql/sqlservcer 20十二、redis(可選) 及以上版本的開發環境
- 學習成本低,封裝了經常使用可擴展組件及Demo(前端基於Iview/Element-UI組件進行了二次封裝、後臺提供了大量的擴展方法)
- 開發效率高,內定製開發的代碼生成器,生成前端(Vue、後臺代碼),代碼生成器已完成90%以上的重複工做,只須要在提供的擴展類型中實現其餘業務
- 前端vue頁面表單下拉/多選框完成自動綁定數據源,不須要寫任何代碼,並支持擴展自定開發綁定。
- 後臺已完成權限、菜單、JWT等內部功能
若是你沒有作過webpack+vue工程化開發項目,可能會剛開始至關不適應,或者安裝環境老是出問題,但只要你熟悉開發流程後,你會發現採用Vue開發比Jquery爽太多了。上手項目需重點了解基礎Vue語法,特別是瞭解組件、路由及import的使用前端
VS2017 、.NetCore2.1 、EFCore2.一、JWT、Dapper、Autofac、SqlServer/MySql、Redis(可選,沒有redis的在appsetting.json中不用配置,默認使用內置IMemory)、
VsCode、Vue2.0(webpack、node.js,若是沒有此環境自行搜索:vue webpack npm)、Vuex、axios、promise、IView、Element-ui vue
若是你沒有前端環境,請先安裝node
前端開發使用VsCode node
- 一、使用cmd命令切換至前端Vue項目.../VOL.Vue路徑下,執行npm install命令(只有歷來沒執行過此命令的才執行npm install)
- 二、運行後端項目:在後端項目路徑.../VOL.WebApi/運行dev_run.bat端口設置的是9991,運行前先看appsettings.josn配置屬性說明
- 三、運行前端項目:在前端Vue項目路徑.../VOL.Vue/運行run.bat(每次啓動會進行編譯,這個時間可能會有點長)
- 四、輸入http://localhost:8080訪問
功能 | 描述 | 完成狀況 |
用戶管理(登錄、密碼修改) | 登錄、密碼修改 | √ |
角色管理 | 角色管理 | √ |
權限分配 | 用戶基礎權限分配,後臺支持多種權限控制方式,也可自行定義 | √ |
用戶權限/菜單靜態化處理 | 爲減小Redis讀取數據傳輸量,對用戶權限/菜單在本地服務器做靜態化處理,只有在用戶權限/菜單變化時才刷新redis緩存 | √ |
JWT認證 | 採用前臺端分離JWT認證,而且支持JWT過時動態刷新 | √ |
異步隊列批量寫日誌 | 框架封裝了一個異步隊列寫日誌,此前項目天天PV約150W左右,採用異步隊列的方式批量寫入日誌很是順暢 | √ |
Repository | Repository做爲數據提供,提供了經常使用EF方法封裝 | √ |
前端經常使用組件封裝 | 此框架主要圍繞表單組件進行開發,而且封裝的組件都支持擴展 | √ |
基礎業務實現 | 已實現(表/主從表)的增、刪、改、查、導入、導出、審覈基礎功能(前提建一張帶主鍵的mysql/sqlserver表),這些基礎業務不要寫任何代碼,直接用代碼生成器生成便可,而且生成的代碼支持其餘業務代碼擴展 | √ |
代碼生成器 | 代碼生成器爲可視化配置,提供了可配置屬性的20多種,全部基礎功能只須要勾選確認,生成的代碼包括Vue/Vue擴展文件/路由,後臺表相關的類(控制器/擴展控制器,業務接口/擴展業務接口,接口實現/擴展接口實現類),支持單表表單、主從表單的代碼生成 | √ |
數據源預先配置 | 數據源做爲前端下拉框/多選框的字典項源,支持key/value配置及sql從數據源加載配置 | √ |
表單數據源自動綁定 | 若是一個表單帶有多個下拉框,這裏只須要配置數據源編號便可自動綁定 | √ |
Redis/Memory緩存 | 已對Redis/Memory封裝直接使用便可 | √ |
Dapper | 已對Dapper封裝直接使用便可 | √ |
擴展方法 | 框架封裝了大量的擴展方法,如:通用實體校驗(框架全部實現校驗所有依賴於此擴展)擴展、string擴展、object擴展、表達式生成/解析擴展、文件操做擴展等 | √ |
H5開發 | 可支持直接開發並部署H5頁面 H5開發看這裏 | √ |
分庫分表 | 分庫分表操做 | x |
靜態頁面發佈 | x | |
消息推送 | x |
整個只讀的基礎表單的全部先後端代碼,所有由代碼生成器生成,代碼生成器中幾乎不須要配置,並支持並後端業務代碼擴展,直接生成代碼後,配置菜單權限便可 mysql
整個自動綁定下拉框數據表單的全部先後端代碼,所有由代碼生成器生成,並支持並後端業務代碼擴展,在代碼生成器中只須要指定數據源編號,頁面加載時會根據編號自動加載數據源並綁定 webpack
整個啓用圖片支持、審覈表單的全部先後端代碼,所有由代碼生成器生成,並支持並後端業務代碼擴展,審覈功能須要在菜單配置權限、代碼生成器中勾選啓用圖片支持 ios
整個表單的全部先後端代碼,所有由代碼生成器生成,並支持並後端業務代碼擴展,查詢字段、類型(下拉框、日期、TextArea等)、所在行與列都由代碼生成器完成,不須要寫任何代碼 git
單表新建、編輯全部先後端代碼,所有由代碼生成器生成,並支持並後端業務代碼擴展,新建、編輯字段、類型(下拉框、日期、TextArea等)、所在行與列、字段是否只讀、標籤顯示的長度等都由代碼生成器完成,不須要寫任何代碼 github
主從表新建、編輯全部先後端代碼,所有由代碼生成器生成,並支持並後端業務代碼擴展,新建、編輯從表配置、字段、類型(下拉框、日期、TextArea等)、所在行與列、字段是否只讀、標籤顯示的長度等都由代碼生成器完成,不須要寫任何代碼 web
單列、多列Form表單,已封裝成組件,而且支持組件擴展。可配置顯示的列的數量、是否只讀、列的數據類型(日期、下拉框、TextArea、列寬、自動綁定數據源、圖片上傳等), 這些只須要配置JSON格式便可使用
單列、多列Form表單,已封裝成組件,而且支持組件擴展。可配置顯示的列的數量、是否只讀、列的數據類型(日期、下拉框、TextArea、列寬、自動綁定數據源、圖片上傳等), 這些只須要配置JSON格式便可使用
從後臺加載數據、自動綁定數據
可編輯的table,手動綁定數據、自動綁定數據源
表單與table混合使用
excel導入整個頁面都由代碼生成器生成,導入的字段、字段是否必填,下載模板也由代碼生成器上配置(本身根據實際須要決定是否採用此方法),導入時會驗證是否爲空與數據的合法性,邏輯校驗本身實現擴展方法便可
H5只是作了一個簡單的Demo,若是你有H5開發經驗,請忽略,若是你沒有H5開發經驗,可看看這裏
目前只實現了對用戶的角色的Action進行權限分配
默認8種權限,可自行定義其餘權限(代碼生成器完後,直接在菜單上配置url(url路徑爲自動生成前端的router->path,今後處複製過過便可))
我的中心目前只開發了頁面與修改密碼,其餘功能自行根據須要實現
框架提供了前臺後端擴展方法與屬性,只須要根據本身的業務實現擴展業務。後臺大部分都採用的委託擴展方法,這裏只截了一張圖前端數據加載事件的擴展方法,先後臺完整擴展參考Demo:http://132.232.2.109/SellOrder
代碼生成器提供了20多種可配置的屬性,可靈活配置顯示、查詢、編輯、導入、導出、主從關係等功能點擊看代碼生成器文檔
還有角色管理、日誌管理、數據源管理、其餘組件、後臺代碼等功能就再也不介紹了,點這裏看看就知道了