NovaAdmin.Templates 1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet new install NovaAdmin.Templates::1.0.2
                    
This package contains a .NET Template Package you can call from the shell/command line.

NovaAdmin

基于 Blazor Server 的后台管理与 SaaS 中台骨架:UI 使用 BootstrapBlazor,数据访问使用 FreeSql,提供开箱即用的管理端基础能力与可扩展业务框架,具备前后端统一技术栈、组件化程度高、扩展性强、部署维护成本低等技术优势,尤其适合医疗系统、检验质控平台等场景的定制开发。

适合作为企业后台、多租户管理端、医疗信息化项目或二次开发起点,可显著缩短项目搭建、功能迭代与交付上线周期。


技术栈概览

层次 说明
前端 Blazor Server、BootstrapBlazor 组件库、Razor 页面(含 Dock 多标签布局等)
后端 ASP.NET Core 8、Web API(Swagger / RapiDoc)、依赖注入
ORM FreeSql(支持多库路由、仓储、工作单元、CodeFirst 同步结构)
可选能力 多租户、RBAC 菜单与按钮权限、定时任务(FreeScheduler)、数据字典与参数、OSS 上传(MinIO / 阿里云 / 腾讯云等)、审计与登录日志等

仓库结构

NovaAdmin.sln          # 解决方案
NovaAdmin/             # 主启动项目(Web 宿主,示例业务与种子数据)
NovaAdmin.Blazor/      # Razor 类库:管理端页面、API 控制器、扩展与静态资源
  • NovaAdmin:入口 Program.cs,配置数据库连接、AddNovaAdmin 注册、地图 Razor 组件与 Admin API;可在此增加本业务的 EntitiesComponentsApiSeedData
  • NovaAdmin.Blazor:封装后台通用能力(登录、菜单、用户角色、租户、文件、任务调度等),静态资源位于 wwwroot/(如 novaadmin.css / novaadmin.js),发布时引用路径为 _content/NovaAdmin.Blazor/

使用模板创建项目

如果你希望直接从 NuGet 模板快速创建一个新的后台项目,可使用 dotnet new 安装并生成:

# 安装模板
dotnet new install NovaAdmin.Templates

# 创建新项目
dotnet new novaadmin -n MyAdmin

# 进入项目目录并运行
cd MyAdmin
dotnet restore
dotnet run

创建完成后,模板项目会自动通过 NuGet 引用 NovaAdmin.Blazor,你可以在生成的宿主项目基础上继续增加自己的:

  • Entities 实体
  • Components 页面与布局
  • Api 控制器或服务接口
  • SeedData 初始化数据

默认情况下,项目使用 SQLite,本地数据库文件名为 novaadmin.db。首次运行后,可直接访问控制台输出的地址开始使用。

如需更新到模板的最新版本,可先更新模板包后重新创建项目:

dotnet new update
dotnet new install NovaAdmin.Templates

如需卸载模板:

dotnet new uninstall NovaAdmin.Templates

快速开始

环境:安装 .NET 8 SDK

# 还原并编译
dotnet build NovaAdmin.sln

# 运行宿主项目(默认 SQLite 数据库文件为 novaadmin.db)
cd NovaAdmin
dotnet run

浏览器访问控制台输出的地址(如 http://localhost:5038,以 launchSettings.json 为准)。

默认账号(由类库种子数据初始化,可在首次运行前于扩展中修改):用户名与密码一般为 admin / admin,请以实际库内数据为准。

数据库:默认使用 SQLite 文件 novaadmin.db;可在 Program.csFreeSqlBuilder 中改为其它 DataType 与连接串。更换库文件名或路径时需自行迁移数据。

配置NovaAdmin/Configs/ 下 JSON 会复制到输出目录;OSS 等配置可参考其中的 ossconfig.json 说明。

Docker 部署

项目内提供了自动化脚本 NovaAdmin/docker-auto.sh,用于一键重建并启动容器。

cd NovaAdmin
chmod +x docker-auto.sh
./docker-auto.sh

脚本默认使用宿主机端口 6038,会自动执行以下流程:

  • 检查当前终端是否已加载 docker 用户组,必要时使用 sg docker 重新执行脚本。
  • 清理占用目标端口的本地进程。
  • 执行 docker compose builddocker compose downdocker compose up -d

如需改用其他宿主机端口,可在运行前传入环境变量:

cd NovaAdmin
HOST_PORT=6038 ./docker-auto.sh

容器启动后,默认通过 http://localhost:6038 访问;如修改了端口,则按实际映射端口访问。


界面演示

以下截图可作为后台能力的直观演示案例:

题目管理

展示题目录入与管理页面效果:

题目管理演示

角色权限

展示角色列表与权限配置相关界面:

角色权限演示

定时任务

展示任务调度与执行管理页面:

定时任务演示


扩展与集成要点

  1. AddNovaAdmin:在 WebApplicationBuilder 上注册 FreeSql 云、后台服务、BootstrapBlazor、控制器与 Swagger 等;通过 NovaAdminOptions 传入业务程序集、连接配置、是否开启 Swagger 等。
  2. 附加 Razor 程序集:宿主已使用 AddAdditionalAssemblies(typeof(NovaAdminOptions).Assembly);若业务页面放在宿主程序集中,保持 Assembliestypeof(Program).Assembly 即可参与菜单与路由发现。
  3. APIapp.UseAdminOmniApi() 挂载管理端 Web API(带 Admin 上下文初始化);与 UI 共用同一套认证与租户逻辑。
  4. 命名空间约定:宿主示例 API / 种子使用 NovaAdmin.APINovaAdmin.SeedData;类库内为 NovaAdmin.Blazor.*(及部分历史命名如 AdminOmni (filter/mvc))。

许可与致谢

  • 第三方组件各自遵循其开源协议;商用前请自行核对 BootstrapBlazor、FreeSql 等依赖许可。
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.19 79 5/16/2026
1.0.18 80 5/16/2026
1.0.17 89 5/16/2026
1.0.16 81 5/16/2026
1.0.15 80 5/16/2026
1.0.14 96 5/16/2026
1.0.13 86 5/15/2026
1.0.12 85 5/14/2026
1.0.11 89 5/12/2026
1.0.10 93 5/12/2026
1.0.9 91 5/12/2026
1.0.8 107 5/11/2026
1.0.6 102 5/11/2026
1.0.5 106 5/11/2026
1.0.4 105 5/11/2026
1.0.3 98 5/10/2026
1.0.2 96 5/10/2026
1.0.1 94 5/10/2026
1.0.0 105 5/10/2026