DevEasy Framework
.NET开发框架 | 让开发更简单 | 让创造更自由
点击进入框架.NET Core
Vue
Element Plus
微服务架构
85%
提升开发效率
兼容手机
响应式设计
1000+
用户下载学习
核心技术特性
🔐 内置权限框架
RBAC权限模型 + JWT认证,开箱即用的权限管理系统,支持细粒度权限控制。
🎯 代码生成器
一键生成Controller/Service/Mapper,支持自定义模板,解放复劳动。
📊 通用组件
集成数据字典、文件上传、导入导出等高频组件,专注核心业务开发。
框架代码优雅
负载均衡
权限控制
JWT授权
Dapper
Web API
Serilog
Axios HTTP
Swagger
角色
资源
// 框架代码示例 - 只需关注业务逻辑
[ApiController]
public class OrderController : BaseController
{
private readonly IOrderService _orderService;
public OrderController(IOrderService orderService)
{
_orderService = orderService;
}
[HttpPost]
[Authorize] // JWT授权验证
[Permission("order:create")] // 权限点控制
public async Task CreateOrder([FromBody] OrderDto dto)
{
// 无需关注权限验证、日志记录、异常处理
// 专注核心业务逻辑
var order = new Order
{
Items = dto.Items,
TotalAmount = dto.Items.Sum(x => x.Price * x.Quantity)
};
// 框架自动处理审计字段、数据验证等
await _orderService.CreateAsync(order);
return ApiResult.Success();
}
}
// JWT权限验证示例
public class JwtMiddleware
{
private readonly RequestDelegate _next;
private readonly JwtSettings _jwtSettings;
public JwtMiddleware(RequestDelegate next, JwtSettings jwtSettings)
{
_next = next;
_jwtSettings = jwtSettings;
}
public async Task Invoke(HttpContext context)
{
var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last();
if (token != null)
await AttachUserToContext(context, token);
await _next(context);
}
private async Task AttachUserToContext(HttpContext context, string token)
{
try
{
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes(_jwtSettings.Secret);
// 验证 Token
tokenHandler.ValidateToken(token, new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(key),
ValidateIssuer = true,
ValidateAudience = true,
ValidIssuer = _jwtSettings.Issuer,
ValidAudience = _jwtSettings.Audience,
ClockSkew = TimeSpan.Zero
}, out SecurityToken validatedToken);
var jwtToken = (JwtSecurityToken)validatedToken;
var userId = jwtToken.Claims.First(x => x.Type == "id").Value;
var roles = jwtToken.Claims.Where(x => x.Type == "roles").Select(x => x.Value);
var permissions = jwtToken.Claims.Where(x => x.Type == "permissions").Select(x => x.Value);
// 将用户信息附加到 Context
context.Items["User"] = new { Id = userId, Roles = roles, Permissions = permissions };
}
catch
{
// Token 验证失败
}
}
企业级功能特性
🚀 微服务架构
基于.NET Core,支持微服务架构,集成Swagger接口文档,快速构建分布式应用。
🔐 权限管理
完善的RBAC权限体系,支持多租户、数据权限、API权限等精细化控制。
📊 代码生成
智能代码生成器,支持自定义模板,一键生成前后端代码,提升开发效率。
开始使用 DevEasy
立即体验开发框架强大功能