一、概述
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/n/361044.html