WTM框架詳解

一、概述

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-hant/n/361044.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KAOPD的頭像KAOPD
上一篇 2025-02-24 00:34
下一篇 2025-02-24 00:34

相關推薦

  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • Zlios——一個多功能的開發框架

    你是否在開發過程中常常遇到同樣的問題,需要不斷去尋找解決方案?你是否想要一個多功能、易於使用的開發框架來解決這些問題?那麼,Zlios就是你需要的框架。 一、簡介 Zlios是一個…

    編程 2025-04-29
  • agavi開發框架

    Agavi是一個基於MVC模式的Web應用程序開發框架,以REST和面向資源的設計為核心思想。本文章將從Agavi的概念、優點、使用方法和實例等方面進行詳細介紹。 一、概念 Aga…

    編程 2025-04-29
  • Python unittest框架用法介紹

    Python unittest框架是Python自帶的一種測試框架,可以用來編寫並運行測試用例。在本文中,我們將從以下幾個方面詳細介紹Python unittest框架的使用方法和…

    編程 2025-04-29
  • com.alipay.sofa.bolt框架

    com.alipay.sofa.bolt框架是一款高性能、輕量級、可擴展的RPC框架。其廣泛被應用於阿里集團內部服務以及阿里雲上的服務。該框架通過NIO支持高並發,同時還內置了多種…

    編程 2025-04-29
  • Django框架:從簡介到項目實戰

    本文將從Django的介紹,以及如何搭建Django環境開始,逐步深入到Django模型、視圖、模板、表單,最後通過一個小型項目實戰,進行綜合性的應用,讓讀者獲得更深入的學習。 一…

    編程 2025-04-28
  • LuaEP:一款強大的Lua開發框架

    LuaEP是一個集成了可以快速開發web應用程序所需的組件的Lua開發框架。它以Lua語言為基礎,提供了許多常用接口和庫,使得開發者不需要從頭開始編寫web應用程序,而是專註於業務…

    編程 2025-04-28
  • Java持久層框架的複合主鍵實現

    用Java持久層框架來操作數據庫時,複合主鍵是常見的需求。這篇文章將詳細闡述javax.persistence複合主鍵的實現方式,並提供完整的示例代碼。 一、複合主鍵的定義 複合主…

    編程 2025-04-27
  • AMTVV:一個全能的開發框架

    AMTVV是一個面向現代Web應用程序的全能開發框架,它可以讓你的工作更加高效。AMTVV能夠處理各種各樣的技術棧,包括但不限於React、Angular、Vue和TypeScri…

    編程 2025-04-27
  • Python語言的MVC框架

    本文將從以下幾個方面詳細闡述Python語言的MVC框架: 一、MVC框架的基本概念 一般而言,MVC框架被分為Model,View,Controller三部分。Model代表數據…

    編程 2025-04-27

發表回復

登錄後才能評論