Blog.Core

Blog.Core

企业级.NET Core框架 集成RBAC权限管理与多功能组件

Blog.Core是基于.NET Core 6.0的企业级前后端分离框架,提供RBAC权限管理、多数据库支持、日志管理等功能。采用仓储+服务+接口架构,支持异步编程,集成Redis、Swagger、JWT等组件。框架易扩展,适用于各类Web应用开发,为开发者提供全面解决方案。

Blog.Core.NET Core前后端分离权限框架SqlSugarGithub开源项目
<img align="right" height="50px" src="https://yellow-cdn.veclightyear.com/0a4dffa0/44a67154-0bbc-4a23-9b5c-855202d632ca.png">

Blog.Core

英文 | 简体中文

sdk 构建状态 构建状态 codecov MIT许可证 为此仓库点星 fork此仓库 博客园

星标历史

星标历史图�表

   

<div style="text-align: center;"> <a href="https://mvp.microsoft.com/zh-cn/PublicProfile/5003704?fullName=anson%20zhang" > <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/6dab30b1-9d7d-4e12-bd89-7e333bbc9414.png" alt="MVP" > </a> </div>

Blog.Core 是一个开箱即用的企业级前后端分离【 .NET Core6.0 Api + Vue 2.x + RBAC】权限框架。
其他版本请查看具体分支🎉
官网:http://apk.neters.club/.doc/


已被近100家公司所使用(🐱‍🚀):点击查看列表 欢迎留言,留下公司真实名字的,可获得定制化指导服务。
同时如果企业有付费咨询需求,欢迎联系老张(QQ:3143422472)。

核心项目组成员(排名不分先后)

hudingwenLemonNoCryJamnine何拾玖

❤ 真实用户反馈 ❤

项目单体部署,并发在400~500,一切正常(不保证自己的各种错误写法)。  
如果搭配负载,效果更好。

1、A~CoderDong:
应用场景:使用Blog.Core为基础骨架开发,搭建Client监控类守护进程项目,面向C端客户群,
并发情况:目前压测并发5k正常8秒处理完,并发10k可15秒处理完毕,异常不会丢失。
生产配置:一台服务器(Linux环境 + 至强8核的16G内存 + mysql数据库 + 3台Nginx负载)

 

给个星星! ⭐️

如果你喜欢这个项目或者它帮助到你, 请给个Star~
如果你的项目中借鉴了本项目,请稍微说明一下https://github.com/anjoy8/Blog.Core/issues/75,开源不易✨。

功能与进度

企业使用高级版本

  • 包含开源版 框架模块/组件模块 中的所有功能;
  • 全部表结构主键底层架构改成string类型(默认雪花,支持guid),更方便迁移;
  • 完善部门数据权限,可以基于策略配置查看数据范围;
  • 优化权限处理器,解决多实例分布式下,权限不同步问题(必须配置Redis);
  • 增加在线用户查看功能,并实现强制用户下线功能(必须配置Redis);
  • 增加用户黑名单功能(必须配置Redis);
  • 增加岗位功能(单独建表),配合部门使用;
  • 后期优化站内通知功能,其实目前已经有SignalR来实现消息推送了,可以直接用;
  • 前端Blog.Admin.Pro使用AntDesignVue框架(设计中,未完全实现);
  • 铁粉奖励:如果参与上述功能和其他付费功能开发,可半价获取商业授权;

框架模块:

  • 采用"仓储+服务+接口"的形式封装框架;
  • 自定义项目模板"CreateYourProject.bat",可以一键生成自己的项目;🎶
  • 异步 async/await 开发;
  • 接入国产数据库ORM组件 —— SqlSugar,封装数据库操作,支持级联操作;
  • 支持自由切换多种数据库,MySql/SqlServer/Sqlite/Oracle/Postgresql/达梦/人大金仓;
  • 实现项目启动,自动生成种子数据 ✨;
  • 实现数据库主键类型配置化,可以自定义任何类型 ✨;
  • 五种日志记录,包括审计/异常/请求响应/服务操作/Sql记录等,并自动持久化到数据库表🎶;
  • 支持项目事务处理(若需分布式,可使用cap)✨;
  • 设计4种 AOP 切面编程,功能涵盖:日志、缓存、审计、事务 ✨;
  • 全局统一封装 Serilog 生成多种日志,并自动写入数据库,目前支持MySql/SqlServer/Sqlite/Oracle/Postgresql🎉;
  • 设计并支持按钮级别的RBAC权限控制,同时支持一键同步接口和菜单 🎶;
  • 支持 T4 代码模板,自动生成各层代码;
  • 或使用 DbFirst 一键创建自己项目的四层文件(支持多数据库);
  • 封装"Blog.Core.Webapi.Template"项目模板,一键重建自己的项目 ✨;
  • 提供多个前端案例供参考和借鉴:Blog.Vue、Blog.Admin、Nuxt.tbug、Blog.Mvp.Blazor ✨;
  • 统一集成 IdentityServer4 认证 ✨;
  • 统一实现多租户;
  • 实现分表案例,支持分表的增删改查和分页查询,具体查看SplitDemoController.cs;
  • 支持signalR对指定用户通讯;

组件模块:

  • 提供 Redis 做缓存处理;
  • 使用 Swagger 做api文档;
  • 使用 MiniProfiler 做接口性能分析 ✨;
  • 使用 Automapper 处理对象映射;
  • 使用 AutoFac 做依赖注入容器,并提供批量服务注入 ✨;
  • 支持 CORS 跨域;
  • 封装 JWT 自定义策略授权;
  • 使用 Serilog 日志框架,集成原生 ILogger 接口做日志记录;
  • 使用 SignalR 双工通讯 ✨;
  • 添加 IpRateLimiting 做 API 限流处理;
  • 使用 Quartz.net 做任务调度(目前单机多任务,暂不支持集群调度);
  • 支持数据库"读写分离"和多库操作 ✨;
  • 新增 Redis 消息队列 ✨;
  • 新增 RabbitMQ 消息队列 ✨;
  • 新增 EventBus 事件总线 ✨;
  • 新增 - 统一聚合支付;
  • 新增 - Nacos注册中心配置;
  • 新增 - ES 搜索配置;
  • 新增 - Apollo 配置;
  • 新增 Kafka 消息队列,并配合实现EventBus ✨;
  • 新增微信公众号管理,并集成到Blog.Admin后台 ✨;
  • 新增 - 数据部门权限;
  • 新增 - Serilog 集成日志数据持久化到数据库;
  • 新增 - 多租户模式(单表,多表,多库三种模式);

微服务模块:

  • 可配合 Docker 实现容器化;
  • 可配合 Jenkins 实现CI / CD;
  • 可配合 Consul 实现服务发现;
  • 可配合 Nacos 实现服务发现;
  • 可配合 apisix/Ocelot 实现网关处理;
  • 可配合 Nginx 实现负载均衡;
  • 可配合 Ids4 实现认证中心;

核心业务模块

框架采用泛型仓储模式,以下几层为核心层,不可删除

Blog.Core.ApiBlog.Core.CommonBlog.Core.IServicesBlog.Core.ModelBlog.Core.RepositoryBlog.Core.ServicesBlog.Core.TasksBlog.Core.Serilog 其他代码分层是支撑层,如果自己业务不涉及,可以删除。

API接口层主要是基于RBAC的基于按钮级别的角色授权逻辑,以下几个Controller不可删除

BaseApiController.cs(接口基类)、DepartmentController(部门)、ImgController(图片)、LoginController(登录)、ModuleController(接口)、PermissionController(菜单)、RoleController(角色)、TasksQzController(任务调度)、UserController(用户)、UserRoleController(用户角色关系) 其他代码部分是扩展业务,如果自己业务不涉及,可以删除。

自定义全部日志记录图

系统架构图

自定义(中间件/服务)启动图

系统架构图

贡献者们

感谢这些优秀的人():(排名暂时按提交顺序)

<a href="https://github.com/anjoy8/blog.core/graphs/contributors"> <img src="https://contrib.rocks/image?repo=anjoy8/blog.core" /> </a>

本项目遵循all-contributors规范。 欢迎任何形式的贡献!

官方文档 📕

仍在持续整理中,但基本操作都已包含,包括新手入门、配置数据、连接数据库等内容

官方文档 公众号重要文章+视频地址 系统架构图

系统架构图

系统压测结果报告

<div align=center><img width="500" src="https://yellow-cdn.veclightyear.com/0a4dffa0/26ca37fc-de8f-49d9-994f-2b7c6e81ab7c.png" /></div>

本项目是 .netCore 后端部分,前端部分请查看我的另外三个Vue工程项目

个人博客Vue版本tBug项目Nuxt版本VueAdmin权限管理后台
https://github.com/anjoy8/Blog.Vuehttps://github.com/anjoy8/Nuxt.tBughttps://github.com/anjoy8/Blog.Admin
http://vueblog.neters.clubhttp://tibug.neters.clubhttp://vueadmin.neters.club

初始化项目

下载项目后,如果编译没有问题,直接运行即可,系统会自动生成种子数据,数据库是Sqlite,接口文档是swagger

更多操作,请点击这里:http://apk.neters.club/.doc/guide/getting-started.html

Nuget包

包名NuGet稳定版下载量
Blog.Core.Webapi.TemplateBlog.Core.Webapi.TemplateBlog.Core.Webapi.Template

关于如何使用,请点击这里:https://www.cnblogs.com/laozhang-is-phi/p/10205495.html

其他后端框架 目前一共开源了四个框架项目,感兴趣的可以看看

单层项目简单仓储框架仓储+服务+接口DDD框架
CURD+SeedCURD+Seed+DICURD+Seed+DI+AOP等DDD+EFCore+DI+EventBus等
NetCore-Sugar-DemoBlog.SplRepository.DemoBlog.CoreChristDDD
-Blog-EFCore-Sqlite--

售后服务与支持

鼓励作者,简单打赏~~
如果你喜欢,就给作者加个鸡腿吧

<img src="https://yellow-cdn.veclightyear.com/0a4dffa0/0b4ec648-502e-4b8e-9706-a100f871782c.jpg" alt="赞赏码" width="300" > [图片若加载不出来,点这里](https://yellow-cdn.veclightyear.com/0a4dffa0/0b4ec648-502e-4b8e-9706-a100f871782c.jpg)

文章+视频+直播

博客园:https://www.cnblogs.com/laozhang-is-phi/

Bilibili:https://space.bilibili.com/387802716

直播间:https://live.bilibili.com/21507364

如果你觉得看这整个项目比较费劲,我单独抽出了几个子Demo,方便学习,项目地址:https://github.com/anjoy8/BlogArti

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多