介绍

由来

在 .NET Core 出现之前,开发 Web App 时,本人大多使用 ASP.NET WebForm+ashx 来进行,经过多年积累,形成一套包含系统管理、流程管理、通用 CRUD 等等功能的基础开发框架。 为了能够继续发挥其作用,就想着将其“移植”到 ASP.NET Core,于是有了此项目。目前除过流程管理其它功能均已实现。
其中依然保留了一些传统做法,比如使用静态成员、HttpContext.Current 以及 Session 等等。

内容

  • QuickAdmin.Utils
    工具类库,提供若干扩展方法、工具类等等。
  • QuickAdmin.EntityBase
    实体(Entity)基础类库,基于 FreeSqlopen in new window
    提供多组基础接口及默认实现,包括 Id 主键、自增主键、审计字段、软删除、显示顺序、树形结构等等。同时提供了若干对 FreeSql 的扩展。
  • QuickAdmin.Entity
    系统管理所需实体(Entity)类库。
  • QuickAdmin.Common
    公共类库,内置可供 WebApp 使用的扩展方法、工具类等等。
  • QuickAdmin.Service
    服务(Service)类库,包含系统管理所需实体服务,并提供了通用 CRUD Service,以及通用的分页查询服务(Paging Service)、微信扫码服务等。
  • QuickAdmin.RCL
    Razor 类库,提供了系统管理所需的全部 Razor 页面及相关资源,并内置 Login 和 Index 页面,可用此类库快速构建 WebApp。也可方便地改用自己的登录页和首页。同时提供了通用 CRUD 页面,可进行无编程定制。

功能

  • 内置基础框架,支持多种数据库,可快速构建 WebApp
  • 提供一组配置选项来定制 WebApp(通过 JSON 配置文件,无需再次编译),例如应用的名称、图标、一些功能的启用停用等等
  • 内置 RBAC 权限系统
  • 支持多级管理员模式(即可为不同层级机构分别指定系统管理员,实现管理权限下放)
  • 内置微信扫码支持,可利用微信小程序进行扫码绑定以及授权登录,方便个人开发者实现微信授权登录。
  • 内置多组 EntityBase/CRUDService/PagingService/UI Extension,可快速实现各种 Entity 及其对应服务、页面
  • 内置通用 CRUD 系统,可实现快速 CRUD 开发
    • 系统能够为 Entity 自动构建 带一组检索选项的List页面 以及 Edit页面
    • 系统能够识别导航属性、日期属性、枚举属性等等来为其自动生成页面控件及其数据源(例如若发现导航属性,会自动使用下拉框并用其数据填充)
    • 通过 JSON 配置文件即可进行无编程定制,如:List展示哪些属性、检索条件有哪些、Edit控件如何布局以及按钮定制、权限配置等等
    • 通过注册机制,实现了 CRUD 的“即插即用”(可随时添加/更新/移除配置),也能够对同一 Entity 依据权限或需求的不同,构建不同的UI
    • 可操作与系统表不在同一数据库的其它同构或异数据库中的数据
    • 可快速通过 C# 继承与重写深度定制,实现对 Entity 的自定义操作

应用

项目支持 .NET 6.0+ 以及多种数据库,内置系统管理所需的全部页面以及 Login 和 Index 页面,首次运行时能自动创建系统表结构,开箱即可用。 可用于快速开发传统 Web 项目、独立于业务系统的配置系统、后台管理系统、数据查询系统等等并部署于 Windows 或 Linux 中。

为方便使用,已将所有类库及相关资源打包到单独的 QuickAdmin.Net.dll 动态链接库中,可直接引用之, 项目依赖可通过添加 QuickAdmin.Net.Refs NuGet 包open in new window 一次性加好。

当前版本 RCL 类库里的 Razor 页面采用 FineUICoreopen in new window 基础版构建。FineUI 是一个企业级 UI 控件库,可在其官方社区免费获取基础版并可永久免费使用。

参考

项目参考文档open in new window已发布并在持续完善、细化中。

演示地址:QuickAdmin.Net Demosopen in new window

可在下一章节下载 QuickAdmin.Net 开发版文件以及示例应用源码。

联系作者获取正式版本:
QQ:910521
微信:quickadmin