五分钟,从零到一搭建一个企业级Blazor后台管理系统

还在为接外包项目时重复造轮子而烦恼?一个命令,一套完整的企业级后台管理系统直接到手。

一个命令,项目启动

打开终端,依次执行以下命令:

# 安装模板包
dotnet new install EasyAdminBlazor.Templates

# 使用模板创建项目
dotnet new easyadmin -n MyProjectName

# 进入项目运行
cd MyProjectName
dotnet run

是的,就是这么简单。三条命令,一个完整的后台管理系统就已经跑起来了。


⚡ 爽到爆的开发体验

用过前后端分离的都知道:写一个简单的新增功能,要建表、写接口、写服务、写DTO、写控制器、写API调用、处理loading、处理错误……一个字段要改七八个文件

用 EasyAdminBlazor,这一切都省了。

不用写 API

Blazor 是全栈框架,前端直接调用后端服务,不需要写任何 API 接口。没有 Controller、没有 Service、没有 DTO 来回拷贝。

不用前后端分离

没有 API 版本管理、没有 Swagger 文档维护、没有跨域问题、没有 Token 传递、没有 axios 封装。一个项目,一次部署,全部搞定。

实战演示:几十行代码完成完整 CRUD

以“用户积分日志”为例,只需要几十行代码,一个包含增删改查、筛选、导出、关联表下拉选择的完整页面就出来了:

@page "/Admin/UserPointLog"
@attribute [TabItemOption(Text = "积分日志")]

<AdminTable TItem="PlsUserPointLog" TKey="long" 
            OnBeforeQuery="OnBeforeQuery" ShowExportButton>
    <TableColumns>
        // 关联用户表:列表显示用户名,筛选自动变成用户下拉
        <TableColumn @bind-Field="context.UserId" Text="用户">
            <Template>@v.Row.User?.UserName</Template>
            <FilterTemplate>
                <AdminSelectEntityFilter TItem="PlsUser" GetText="x => x.UserName" />
            </FilterTemplate>
        </TableColumn>
        <TableColumn @bind-Field="context.PointType" Text="积分类型" />
        <TableColumn @bind-Field="context.Points" Text="积分变动" />
        <TableColumn @bind-Field="context.Description" Text="说明" />
        <TableColumn @bind-Field="context.CreatedTime" Text="发放时间" />
    </TableColumns>
</AdminTable>

@code {
    private void OnBeforeQuery(AdminQueryEventArgs<PlsUserPointLog> e)
    {
        // 自动加载关联的用户数据
        e.Select.Include(a => a.User);
    }
}

这段代码包含了什么?

  • 完整的增删改查(CRUD)

  • 分页、搜索、筛选

  • 点击表头排序

  • 多选批量操作

  • 一键导出 Excel

  • 关联表下拉选择

  • 关联表数据显示(用户名而非ID)

传统方式写同样的功能,至少需要几百行代码。 在 EasyAdminBlazor 里,几十行搞定,而且代码清晰、好维护、不出 Bug。

效率对比一目了然

 
对比项传统前后端分离EasyAdminBlazor
API 接口 Controller + Service + DTO ❌ 不需要
前端调用 axios + loading + 错误处理 ❌ 不需要
关联表处理 手写 JOIN + 手动转换 Include + 模板
筛选器 手写筛选逻辑 FilterTemplate 搞定
导出 Excel 手写导出逻辑 ShowExportButton
代码量 几百行 几十行

开箱即用,功能齐全

项目启动后,你将获得一个功能完整的企业级后台管理系统:

  • 用户管理:用户增删改查、状态管理、多端登录检测

  • 角色管理:基于角色的权限分配、管理员标识

  • 菜单管理:无限级菜单树、按钮级权限、可视化配置

  • 组织架构:树形部门管理、数据权限隔离

  • 配置管理:系统参数动态配置

  • 字典管理:通用字典表,支持下拉/多选/级联

  • 日志管理:操作日志、登录日志、错误日志自动记录

  • 文件管理:本地文件上传/下载、图片压缩/WebP转换

登录账号:admin / 123yyq


不止基础,更有高阶能力

  • 多租户(SaaS):独立数据库、按域名解析、菜单权限隔离、文件存储隔离

  • 多语言:内置本地化支持,动态切换界面语言

  • 实时聊天:基于 SignalR 实现站内即时通讯

  • 计划任务:集成 FreeScheduler,可视化任务管理


可插拔扩展,按需安装

 
扩展包功能说明
EasyAdminBlazor.Captcha 表单验证码
EasyAdminBlazor.Chat 实时聊天插件
EasyAdminBlazor.FusionCache 混合缓存加速
EasyAdminBlazor.HtmlEditor TinyMCE 富文本编辑器
EasyAdminBlazor.Mail SMTP 邮件发送
EasyAdminBlazor.MultiTenant 多租户支持
EasyAdminBlazor.Redis Redis 缓存
EasyAdminBlazor.Scheduler 后台任务调度
EasyAdminBlazor.WeChat 微信支付集成
dotnet add package EasyAdminBlazor.Redis      # Redis 缓存
dotnet add package EasyAdminBlazor.Mail       # 邮件发送
dotnet add package EasyAdminBlazor.Chat       # 在线聊天

技术栈

  • 框架:.NET 10 + Blazor

  • UI:BootstrapBlazor 组件库

  • ORM:FreeSql(支持 MySQL、Sqlite、PostgreSQL、SQL Server)

  • 认证:Cookie Authentication + RBAC


安全可靠

  • 密码 PBKDF2 加密存储

  • Cookie 认证 + AES 加密

  • CSRF 防护

  • 管理后台路由加密

  • 操作日志审计

  • 登录失败限制 + 验证码


五分钟,能做什么?

喝杯咖啡的时间,你已经拥有了一个企业级后台管理系统的全部能力。

不用写 API、不用前后端分离——几十行代码就能搞定完整 CRUD,把时间留给真正的业务逻辑,而不是重复的增删改查。

立即开始:

dotnet new install EasyAdminBlazor.Templates
dotnet new easyadmin -n MyProject
cd MyProject
dotnet run

👉 查看完整文档


EasyAdminBlazor —— 不写API,不做分离,几十行代码搞定全套CRUD。

posted @ 2026-05-26 13:25  gudufy  阅读(21)  评论(0)    收藏  举报