五分钟,从零到一搭建一个企业级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。

浙公网安备 33010602011771号