一个开源的.NET6框架
Go to file
2024-05-11 15:29:35 +08:00
.docs feat:将官方文档迁移到新库 2023-11-20 16:38:36 +08:00
.github feat: update to 8.0 2023-11-15 16:15:21 +08:00
.template.config Add files via upload 2020-12-15 16:02:01 +08:00
Blog.Core.Api 修改AutofacPropertityModuleReg namespace 错误 2024-01-09 15:10:08 +08:00
Blog.Core.Common Update UserInfoSeedData.cs 2024-04-25 20:53:45 +08:00
Blog.Core.EventBus feat: 🚡 RabbitMQ 2023-12-01 11:18:21 +08:00
Blog.Core.Extensions 优化Swagger:增加令牌本地缓存 reload不会丢失 2024-02-22 16:38:08 +08:00
Blog.Core.FrameWork 添加公共项目属性配置文件 2023-02-02 20:42:46 +08:00
Blog.Core.Gateway feat:更新gateway,去除nacos相关配置 2023-12-03 18:16:27 +08:00
Blog.Core.IServices feat: some change 2023-11-26 15:50:27 +08:00
Blog.Core.Model feat: 💯 change ClaimTypes.Role 2023-12-13 11:04:04 +08:00
Blog.Core.Repository feat: update to 8.0 2023-11-15 16:15:21 +08:00
Blog.Core.Serilog feat: update to 8.0 2023-11-15 16:15:21 +08:00
Blog.Core.Serilog.Es feat: update to 8.0 2023-11-15 16:15:21 +08:00
Blog.Core.Services Merge branch 'master' into net7.0 2023-11-01 10:45:53 +08:00
Blog.Core.Tasks feat: update to 8.0 2023-11-15 16:15:21 +08:00
Blog.Core.Tests feat:remove startup.cs 2023-11-24 20:12:02 +08:00
build feat: update to 8.0 2023-11-15 16:15:21 +08:00
Ocelot.Provider.Nacos feat: update to 8.0 2023-11-15 16:15:21 +08:00
.dockerignore add docker file 2020-06-11 12:17:59 +08:00
.editorconfig remove all no need using 2020-06-04 22:58:53 +08:00
.gitignore feat:将官方文档迁移到新库 2023-11-20 16:38:36 +08:00
azure-pipelines.yml Update azure-pipelines.yml for Azure Pipelines 2021-11-27 15:21:06 +08:00
Blog.Core.Build.bat feat: 🐬 update publish linux sh 2023-02-26 18:32:49 +08:00
Blog.Core.Clean.bat feat: update nuget package 2022-09-07 18:29:51 +08:00
Blog.Core.Publish.bat feat:update to net 7.0 2023-01-17 17:00:31 +08:00
Blog.Core.Publish.Docker.Jenkins.sh feat:update to net 7.0 2023-01-17 17:00:31 +08:00
Blog.Core.Publish.Docker.sh fix:change port from 8081 -> 9291 2021-08-24 15:21:25 +08:00
Blog.Core.Publish.Linux.sh feat: 🐬 update publish linux sh 2023-02-26 18:32:49 +08:00
Blog.Core.sln Merge branch 'master' into net7.0 2023-11-01 10:45:53 +08:00
Blog.Core.System.Architecture.png Create Blog.Core.System.Architecture.png 2019-09-03 18:52:12 +08:00
codecov.yml Update codecov.yml 2019-10-02 23:44:36 +08:00
CreateYourProject.bat Update CreateYourProject.bat 2022-03-11 18:55:36 +08:00
DockerBuild.bat fix:change port from 8081 -> 9291 2021-08-24 15:21:25 +08:00
Dockerfile feat: update to 8.0 2023-11-15 16:15:21 +08:00
LICENSE Update LICENSE 2020-05-30 18:50:45 +08:00
README-en.md Update README-en.md 2021-05-22 13:26:25 +08:00
README.md Update README.md 2024-05-11 15:29:35 +08:00

Blog.Core

English | 简体中文

sdk Build status Build Status codecov License MIT star this repo fork this repo 博客园

Star History

Star History Chart

   


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


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

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

hudingwenLemonNoCry、、Jamnine何拾玖

❤ 真实用户反馈 ❤

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

1、A~CoderDong:
应用场景使用Blog.Core为基础骨架开发搭建Client监控类守护进程项目To 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(用户角色关系)
其他代码部分是扩展业务,如果自己业务涉及不到,可以删除。

自定义全部日志记录图

系统架构图

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

系统架构图

 

贡献者们

Thanks goes to these wonderful people ():(排名暂时按提交顺序)

This project follows the all-contributors specification. Contributions of any kind are welcome!

 

官方文档 📕

还在陆续整理中,不过基本操作都在,包括如何新手入门配置数据连接DB等等

官方文档
公众号重要文章+视频地址

 

系统架构图

系统架构图

 

 

系统压测结果报告

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

       

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

 

初始化项目

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

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

 

Nuget Packages

Package NuGet Stable Downloads
Blog.Core.Webapi.Template Blog.Core.Webapi.Template Blog.Core.Webapi.Template

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

   

其他后端框架

目前一共开源四个框架项目,感兴趣的可以看看

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

 

 

售后服务与支持

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

赞赏码 [图片若加载不出来,点这里](http://apk.neters.club/laozhangisphigood.jpg)

文章+视频+直播

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

Bilibilihttps://space.bilibili.com/387802716

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

 

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