一、概述
WTM是一個基於ASP.NET Core和ElementUI的前後端分離的快速開發框架,包含基礎模塊如用戶、權限、菜單、角色等的快速開發,提供了數據驅動界面自動生成、模型自動驗證、代碼生成器、可擴展插件、前後端分離等功能。
它可以幫助開發人員快速構建基於B/S架構的信息管理系統,增加代碼的可維護性和可讀性,減小開發成本和周期。
二、模塊功能
以下是WTM框架中常用的模塊功能:
1. 用戶認證
WTM框架內置了用戶認證功能,可以自定義用戶實體、角色實體、資源申請實體,支持JWT、Cookie、Session等多種方式的身份驗證機制。
2. 權限管理
WTM框架提供多種角色和權限控制方式,如角色繼承、規則定製、資源管理,可以實現精細化的授權功能。
3. 模塊化菜單管理
WTM框架支持快速生成左側菜單欄,可以靈活配置菜單項、菜單圖標,提供了簡單的路由和重定向功能,支持嵌套菜單和權限控制。
4. 數據驅動界面生成
WTM框架提供了快速生成業務頁面的功能,通過簡單的配置即可自動生成對應的Vue/React頁面,支持自定義前端框架和樣式庫。
5. 模型自動驗證
WTM框架內置了數據驗證模塊,基於FluentValidation框架,支持鏈式驗證、自定義驗證器、錯誤返回等功能,方便進行參數校驗和模型驗證。
三、使用示例
1. 添加初始化配置
在ASP.NET Core項目的Startup.cs中添加WTM框架的初始化配置,如下所示:
public void ConfigureServices(IServiceCollection services) { //添加WTM框架服務 services.AddWTM(options => { options.Global = new GlobalConfig { Author = "WTM", Mapper = MapperEnum.AutoMapper, ConnectionString = Configuration.GetConnectionString("DefaultConnection"), DbType = DbTypeEnum.SqlServer }; options.InjectService = Assembly.GetAssembly(typeof(BaseService)).MakeInjectServices(); options.Modules = new List { new ModuleConfig{ ClassName = "Demo", Author ="WTM", Area = "XXX", Description = "Demo示例", MiniProfiler = true, Roles = "Admin, System, Developer", UseCustomAuthorize = true } }; }); }
2. 生成業務頁面
通過代碼生成器快速生成業務頁面,可以使用命令行工具或通過Web頁面進行操作。
命令行操作:
wtm codegen -f DemoEFContext -t Demo -a Demo -o D:\WTM-Demo -m Admin,System,Developer
Web操作:在Admin區域下的代碼生成器中,輸入項目名稱、模塊名稱、數據源名稱和生成路徑,即可進行自定義配置的代碼生成。
3. 擴展自定義功能
WTM框架支持插件化開發,可以通過繼承框架提供的基礎類和接口來實現自定義的功能,比如自定義數據驅動模板、自定義業務處理類等。
示例代碼:
public class MyModule : BaseModule { public override ModuleConfig Config => new ModuleConfig { ClassName = "MyModule", Description = "自定義模塊", Author = "WTM", MiniProfiler = true, UseCustomAuthorize = true, Roles = "" }; public override IMenu BuildMenu() { return this.MakeMenu(new MenuConfig { Order = int.MaxValue, Href = "/MyModule/Demo", Icon = "el-icon-menu", Text = "自定義模塊", Children = new List() }) ; } public override IServiceCollection AddServices(IServiceCollection services) { services.AddTransient() ; return services; } }
四、總結
WTM框架是一個適用於中小型信息管理系統快速開發的框架,具有快速、靈活、可擴展等特點,能夠方便地進行業務開發和維護,同時提高代碼的可讀性和可維護性。
原創文章,作者:KAOPD,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/361044.html