# EasyTemplate.Blazor.Web **Repository Path**: allofyouenemies/EasyTemplate.Blazor.Web ## Basic Information - **Project Name**: EasyTemplate.Blazor.Web - **Description**: 基于.Net8 + Ant Design + Blazor Server + Sqlsugar的简易后台系统框架。 该仓库主要目的: 1.易于上手和快速迭代 2.减少过渡封装 3.完整展示Ant Design如何基于Server端做开发 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 1 - **Created**: 2025-03-11 - **Last Updated**: 2025-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Net8, blazor, Ant-Design ## README # EasyTemplate.Blazor.Web 简单的Blazor后台管理系统模板 #### 介绍 简易后台系统框架,使用Blazor Server编写,前后端不分离,单体架构 该仓库主要目的: 1. 尽可能轻量化,减少分层与多重调用 2. 完整展示如何使用Ant Design基于Server端做开发 3. 单人即可完成管理系统的研发 ![输入图片说明](EasyTemplate.Blazor.Web/wwwroot/images/1/image.png) ![输入图片说明](EasyTemplate.Blazor.Web/wwwroot/images/2/image.png) #### 软件架构 .Net8 + Ant Design + Blazor Server + Sqlsugar #### 安装教程 1. 目前仅基于mysql开发测试,在 EasyTemplate.Tool/Configuration/DataBase.json,修改ConnectionString后即可 2. 将EasyTemplate.Blazor.Web设置为启动项目后,运行项目 3. 登录过期时间通过 EasyTemplate.Tool/Configuration/App.json 的 App:ExpiredTime 修改 4. 卷影复制配置在 EasyTemplate.Blazor.Web/web.config/handlerSetting 节点中,解决了发布时占用问题,但硬盘会因此被占用,介意的可以将该节点删除,或是配置enableShadowCopy为false #### 项目说明 1. EasyTemplate.Blazor.Web:项目主入口,将该项目设置为启动项目 2. EasyTemplate.Page:在这里添加页面。如果业务不复杂,也可以删除该项目,将所有页面写在 EasyTemplate.Blazor.Web/Components/Pages 中 2. EasyTemplate.Service:在这里添加Api。接口使用dynamic controller动态生成,如果要查看swagger json,直接在端口后复制这一段后访问:/swagger/all/swagger.json 3. EasyTemplate.Tool:在这里添加实体。配置文件 Configuration + 实体 Entity + 工具类 Util #### 注意 1. 实现了简单的用户-角色-菜单-部门对应关系,角色为单角色 2. 页面权限验证使用了自定义的方式,没有使用Blazor自带的 AutorizeView 和 [Autorize] 3. Api权限验证使用了JWT,过滤器的定义独立于页面验证,如果需要修改,在 EasyTemplate.Service/Common/BaseFilter 4. 数据库使用了Sqlsugar的实体生成数据库表功能,无需导入库。只需要先设置ConnectionString,再打开 EasyTemplate.Tool/Util/Sql.cs 中的 InitDatabase 方法即可,目前默认打开,如果已有库表和数据,可以注掉 5. 虽然有redis支持,但本项目基本未使用缓存功能,用户信息仍然是从数据库中读取,如有需要可以自行修改 #### 组件参考 https://antblazor.com/zh-CN