Abp Zero——前端如何新增功能模塊


為適應不同開發人員,abp rezo的UI實現了spa和mpa兩套;
spa——Single-page Application(單頁面應用),默認“http://localhost/Account/Login”登錄后轉到spa界面。spa是基於angluarjs開發,angluarjs優點不細說,但學習成本較高;
mpa——Multi-page Application (多頁面應用),地址: http://localhost/Mpa/Dashboard”。mpa基於jquery開發,優點是無痛上手,而angluarjs的優點即是jquery的不足,也就是mpa的不足。
 
這里主要總結開發一個功能模塊時,后端程序員和前端程序員的分工。其中重點說前端,Spa模式:
假定測試網址為:http://localhost/
后端開發:
后端從domain(領域層)到application(應用層)開發完。由於abp zero集成swagger,此時所有API都可從http://localhost/swagger/ 查看和測試。
前端開發:
第一步:創建angularjs的視圖頁和控制器。
第二步:添加angularjs路由;
第三步:在菜單提供者中添加對應菜單項,具體位置:web中"app/startup/AppNavigationProvider.cs"。 雖然這是后端代碼,但由於涉及前端菜單圖標、路由名等,前端開發人員編寫更為適合,當然需要后端人員做配合。
 
下面舉例說明:
假定有“Region(行政區)”的功能模塊,swagger查看Region模塊的API,如圖:
 
接下來需要前端程序員出馬了:
第一步:創建angularjs的視圖頁和控制器,如圖:
 
第二步:在App/app.js里添加angularjs路由,如圖:
 
注意:由於abp zero已經對app文件夾下所有css和js一並用Bundle做加載,所以路由里不再指定Region模塊的控制器地址。
Bundle配置如圖:
 
第三步:在“AppNavigationProvider.cs”中添加了對應的菜單項,如圖:
 
最終效果如圖:
 
對於如何生成以上導航菜單,這主要依賴abp的動態js。abp動態生成js中的“/AbpScripts/GetScripts”包含了會話、本地化、菜單、權限許可等內容,非常便利。若想深入了解,可打開此js做進一步研究:
 
 


免責聲明!

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



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