介绍
由来
在 .NET Core 出现之前,开发 Web App 时,本人大多使用 ASP.NET WebForm+ashx 来进行,经过多年积累,形成一套包含系统管理、流程管理、通用 CRUD 等等功能的基础开发框架。 为了能够继续发挥其作用,就想着将其“移植”到 ASP.NET Core,于是有了此项目。目前除过流程管理其它功能均已实现。
其中依然保留了一些传统做法,比如使用静态成员、HttpContext.Current 以及 Session 等等。
内容
- QuickAdmin.Utils
工具类库,提供若干扩展方法、工具类等等。 - QuickAdmin.EntityBase
实体(Entity)基础类库,基于 FreeSql。
提供多组基础接口及默认实现,包括 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 包 一次性加好。
当前版本 RCL 类库里的 Razor 页面采用 FineUICore 基础版构建。FineUI 是一个企业级 UI 控件库,可在其官方社区免费获取基础版并可永久免费使用。
参考
项目参考文档已发布并在持续完善、细化中。
演示地址:QuickAdmin.Net Demos
联系:
QQ:910521
微信:quickadmin