Vue+ElementUI+.netcore前后端分離框架開發項目實戰


原文:https://blog.csdn.net/vM199zkg3Y7150u5/article/details/102550228

框架采用.NET Core + Vue前后端分離,並且支持前端、后台代碼業務動態擴展,框架內置了一套有着20多種屬性配置的代碼生成器,可靈活配置生成的代碼,代碼生成器界面配置完成即可生成單表(主表)的增、刪、改、查、導入、導出、上傳、審核基礎功能。只需要簡單了解即可上手開發

 

一、框架基礎功能已構建完成,可直接上手開發功能

 

  • Vol.WebApi類庫可獨立用於restful api服務單獨部署,用於其他系統單獨提供接口,直接上手編寫業務代碼即可

     

  • Vue+Vol.WebApi 可用於現有框架前后端分離進行開發

     

  • Vol.Web類庫可用於傳統MVC+Razor方式進行項目開發

     

  • Vol.Builder類庫可作為一個獨立的代碼生成器,可生成cshtml頁面、Vue頁面、Model文件、Service與Repository.cs業務處理代碼類

     

  • 可作為一個獨立站點來發布靜態html網頁

     

  • 可直接用於H5移動App開發H5開發:http://132.232.2.109/app/guide

 

二、框架特點

 

  • 支持前端、后台基礎業務代碼動態擴展,可在現有框架增、刪、改、查、導入、導出、審核基礎業務上擴展復雜的業務代碼

     

  • 基本業務全部由框架完成,上手即可對基礎業務以外的代碼進行擴展

     

  • 上手簡單,需要.net core2.1、VsCode mysql/sqlservcer 2012、redis(可選) 及以上版本的開發環境

     

  • 學習成本低,封裝了常用可擴展組件及Demo(前端基於Iview/Element-UI組件進行了二次封裝、后台提供了大量的擴展方法)

     

  • 開發效率高,內定制開發的代碼生成器,生成前端(Vue、后台代碼),代碼生成器已完成90%以上的重復工作,只需要在提供的擴展類型中實現其他業務

     

  • 前端vue頁面表單下拉/多選框完成自動綁定數據源,不需要寫任何代碼,並支持擴展自定開發綁定。

     

  • 后台已完成權限、菜單、JWT等內部功能

 

如果你沒有做過webpack+vue工程化開發項目,可能會剛開始相當不適應,或者安裝環境總是出問題,但只要你熟悉開發流程后,你會發現采用Vue開發比Jquery爽太多了。上手項目需重點了解基礎Vue語法,特別是了解組件、路由及import的使用

 

三、開發及依賴環境

 

VS2017 、.NetCore2.1 、EFCore2.1、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

 

四、項目運行

 

如果你沒有前端環境,請先安裝node

 

前端開發使用VsCode

 

1、使用cmd命令切換至前端Vue項目.../VOL.Vue路徑下,執行npm install命令(只有從來沒執行過此命令的才執行npm install)

 

2、運行后端項目:在后端項目路徑.../VOL.WebApi/運行builder_run.bat端口設置的是9991,運行前先看appsettings.josn配置屬性說明

 

3、運行前端項目:在前端Vue項目路徑.../VOL.Vue/運行run.bat(每次啟動會進行編譯,這個時間可能會有點長)

 

4、輸入http://localhost:8080訪問

 

五、功能介紹

 

640?wx_fmt=png

 

六、框架文檔、代碼生成器

 

Dome:http://132.232.2.109/

 

640?wx_fmt=png

 

1、只讀基礎表單

 

整個只讀的基礎表單的所有前后端代碼,全部由代碼生成器生成,代碼生成器中幾乎不需要配置,並支持並后端業務代碼擴展,直接生成代碼后,配置菜單權限即可

 

640?wx_fmt=png

 

2、自動綁定下拉框數據表單

 

整個自動綁定下拉框數據表單的所有前后端代碼,全部由代碼生成器生成,並支持並后端業務代碼擴展,在代碼生成器中只需要指定數據源編號,頁面加載時會根據編號自動加載數據源並綁定

 

640?wx_fmt=png

 

3、啟用圖片支持、審核表單

 

整個啟用圖片支持、審核表單的所有前后端代碼,全部由代碼生成器生成,並支持並后端業務代碼擴展,審核功能需要在菜單配置權限、代碼生成器中勾選啟用圖片支持

 

640?wx_fmt=png

 

4、高級查詢

 

整個表單的所有前后端代碼,全部由代碼生成器生成,並支持並后端業務代碼擴展,查詢字段、類型(下拉框、日期、TextArea等)、所在行與列都由代碼生成器完成,不需要寫任何代碼

 

640?wx_fmt=png

 

5、單表新建、編輯

 

單表新建、編輯所有前后端代碼,全部由代碼生成器生成,並支持並后端業務代碼擴展,新建、編輯字段、類型(下拉框、日期、TextArea等)、所在行與列、字段是否只讀、標簽顯示的長度等都由代碼生成器完成,不需要寫任何代碼

 

640?wx_fmt=png

 

6、主從表新建、編輯

 

主從表新建、編輯所有前后端代碼,全部由代碼生成器生成,並支持並后端業務代碼擴展,新建、編輯從表配置、字段、類型(下拉框、日期、TextArea等)、所在行與列、字段是否只讀、標簽顯示的長度等都由代碼生成器完成,不需要寫任何代碼

 

640?wx_fmt=png

 

7、單列、多列Form表單

 

單列、多列Form表單,已封裝成組件,並且支持組件擴展。可配置顯示的列的數量、是否只讀、列的數據類型(日期、下拉框、TextArea、列寬、自動綁定數據源、圖片上傳等), 這些只需要配置JSON格式即可使用

 

640?wx_fmt=png

 

8、可配置的Table(自動/手動加載table數據、自動綁定數據源、編輯功能)

 

單列、多列Form表單,已封裝成組件,並且支持組件擴展。可配置顯示的列的數量、是否只讀、列的數據類型(日期、下拉框、TextArea、列寬、自動綁定數據源、圖片上傳等), 這些只需要配置JSON格式即可使用

 

從后台加載數據、自動綁定數據

 

640?wx_fmt=png

 

可編輯的table,手動綁定數據、自動綁定數據源

 

640?wx_fmt=png

 

表單與table混合使用

 

640?wx_fmt=png

 

9、excel導入

 

excel導入整個頁面都由代碼生成器生成,導入的字段、字段是否必填,下載模板也由代碼生成器上配置(自己根據實際需要決定是否采用此方法),導入時會驗證是否為空與數據的合法性,邏輯校驗自己實現擴展方法即可

 

640?wx_fmt=png

 

10、H5開發

 

H5只是做了一個簡單的Demo,如果你有H5開發經驗,請忽略,如果你沒有H5開發經驗,http://132.232.2.109/app/guide

 

640?wx_fmt=jpeg

 

11、權限分配

 

目前只實現了對用戶的角色的Action進行權限分配

 

640?wx_fmt=png

 

12、菜單管理

 

 

默認8種權限,可自行定義其他權限(代碼生成器完后,直接在菜單上配置url(url路徑為自動生成前端的router->path,從此處復制過過即可))

 

640?wx_fmt=png

 

13、個人中心

 

個人中心目前只開發了頁面與修改密碼,其他功能自行根據需要實現

 

640?wx_fmt=png

 

14、前端、后台業務代碼動態擴展

 

框架提供了前台后端擴展方法與屬性,只需要根據自己的業務實現擴展業務。后台大部分都采用的委托擴展方法,這里只截了一張圖前端數據加載事件的擴展方法,前后台完整擴展參考Demo:http://132.232.2.109/SellOrder

 

640?wx_fmt=png

 

15、代碼生成器

 

代碼生成器提供了20多種可配置的屬性,可靈活配置顯示、查詢、編輯、導入、導出、主從關系等功能點擊看代碼生成器文檔

 

640?wx_fmt=png

 

 

還有角色管理、日志管理、數據源管理、其他組件、后台代碼等功能就不再介紹了。

 

七、總結

 

此框架由代碼生成器完成了大部分工作能極大減少代碼量,並支持前台端代碼的擴展。

 

如果你對前后端分離開發的方式或H5開發有興趣,那么希望此框架對能你有所幫助!

 

如果你覺得框架對你有用,幫忙點個星,非常感謝!

 

  • Demo地址:http://132.232.2.109 帳號:admin666密碼:123456(本地超級管理員帳號:admin密碼123456)

     

  • GitHub地址:https://github.com/cq-panda/Vue.NetCore.git

     

  • 如果你需要Quartz.Net做定時任務管理,你可以試試這個:https://github.com/cq-panda/Quartz.NetUI

    (站點與MySql部署在同一個1G1核1M帶寬的服務Centos服務上,訪問可能會出現延遲現象)


免責聲明!

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



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