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

编辑推荐精选

TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多