doc:更新文档

This commit is contained in:
橙子
2023-04-05 22:42:23 +08:00
parent d5ee57f04d
commit ee6b3b535c

299
README.md
View File

@@ -1,7 +1,5 @@
<h1 align="center"><img align="left" height="100px" src="https://user-images.githubusercontent.com/68722157/138828506-f58b7c57-5e10-4178-8f7d-5d5e12050113.png"> Yi框架</h1> <h1 align="center"><img align="left" height="100px" src="https://user-images.githubusercontent.com/68722157/138828506-f58b7c57-5e10-4178-8f7d-5d5e12050113.png"> Yi框架</h1>
<h4 align="center">一套与SqlSugar一样爽的.Net6开源框架</h4> <h4 align="center">一套以用户体验出发的.Net6 Web开源框架</h4>
<h2 align="center">集大成者,终究轮子</h2> <h2 align="center">集大成者,终究轮子</h2>
[English](README-en.md) | 简体中文 [English](README-en.md) | 简体中文
@@ -14,39 +12,32 @@
模块分化较多,可根据业务自行引用或抛弃,集大成者,大而全乎,也许你能从中学习到一些独特见解 模块分化较多,可根据业务自行引用或抛弃,集大成者,大而全乎,也许你能从中学习到一些独特见解
正在持续更进业务模块已接入ruoyi
**英文YiFramework** **英文YiFramework**
Yi框架-一套与SqlSugar一样爽的.Net6低代码开源框架。 Yi框架-一套与SqlSugar一样爽的.Net6开源框架。
与Sqlsugar理念一致以用户体验出发。 与Sqlsugar理念一致以用户体验出发。
架构干净整洁、无业务代码、采用微软风格原生框架封装、CodeFrist+配套自研文件模板代码生成器 开发。
适合.Net6学习、Sqlsugar学习 、项目二次开发。 适合.Net6学习、Sqlsugar学习 、项目二次开发。
集大成者,终究轮子 集大成者,终究轮子
Yi框架最新版本标签`v1.2.1`,具体版本可以查看标签迭代 Yi框架最新版本标签`v3.0.0`,具体版本可以查看标签迭代
项目与Sqlsugar同步更新但这作者老杰哥代码天天爆肝到凌晨两点我们也尽量会跟上他的脚步。更新频繁所以可watching持续关注。 项目与Sqlsugar同步更新但这作者老杰哥代码天天爆肝到凌晨两点我们也尽量会跟上他的脚步。更新频繁所以可watching持续关注。
————这不仅仅是一个程序,更是一个艺术品,面向艺术的开发! ————这不仅仅是一个程序,更是一个艺术品,面向艺术的开发!
**分支** > 核心特点简单好用框架不以打包形式引用而是直接以项目附带源码给出自由度拉满遵循Mit协议允许随意修改请注明来源即可
**分支:**
本项目由EFCore版本历经3年不断迭代至Sqlsugar版本现EFcore版本已弃用目前sqlsugar已带业务功能 本项目由EFCore版本历经3年不断迭代至Sqlsugar版本现EFcore版本已弃用目前sqlsugar已带业务功能
**SqlSugar**:.Net6 DDD领域驱动设计 简单分层微服务架构 - **Framework**: 框架分支,所有东西都在这里
- Yi.Framework.Net6.NetCore 6 意框架 (后端) - ~~**SqlSugar**:.Net6 DDD领域驱动设计 简单分层微服务架构~~
- Yi.Vue3.X.RuoYiVue3 RuoYi前端框架 (前端后台) - ~~**SqlSugar-Dev**为sqlsugar分支的实时开发版本~~
你没有听错已经接入java流行指数最高最火爆的框架之一与其他框架不同Yi框架后端为完全重制版并非为ruoyi java模仿版 - ~~**ec**: EFcore完整电商项目~~
- Yi.Vue3.x.VantVue3 移动端前端框架 (前端前台)持续迭代
**SqlSugar-Dev**为sqlsugar分支的实时开发版本
~~**ec**: EFcore完整电商项目~~
**** ****
@@ -54,15 +45,13 @@ Yi框架最新版本标签`v1.2.1`,具体版本可以查看标签迭代
废话少说直接上地址,**请不要**更改里面的数据 废话少说直接上地址,**请不要**更改里面的数据
API服务[yi.ccnetcore.com](http://yi.ccnetcore.com) 管理员账号cc 、 123456 官网网址:[ccnetcore.com](https://ccnetcore.com) (已上线,欢迎加入)
网关地址:~~[gate.ccnetcore.com/swagger](http://gate.ccnetcore.com/swagger)~~ Bbs社区系统[ccnetcore.com](https://ccnetcore.com) (已上线,欢迎加入)
~~WebFirst开发所有代码生成器已经配置完成无需任何操作数据库及任何代码只需要网页表格上点点点即可~~ Rbac后台管理系统[yi.ccnetcore.com](http://yi.ccnetcore.com) (已上线)~~管理员账号cc 、 123456~~
代码自动生成: 网关地址:~~[gate.ccnetcore.com/swagger](http://gate.ccnetcore.com/swagger)~~(目前使用单体架构)
![代码生成](Readme/%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90.gif)
### 支持: ### 支持:
@@ -72,29 +61,115 @@ API服务[yi.ccnetcore.com](http://yi.ccnetcore.com) 管理员账号cc
- [ ] 即将支持网格服务架构我们将在后续版本加入dapr - [ ] 即将支持网格服务架构我们将在后续版本加入dapr
**** ****
### 软件架构: ### 详细到爆炸的Yi框架教程导航
**架构**:后端.NET6(Asp.NetCore 6)、WebFirst代码生成器~~与.NET5(Asp.NetCore 5)、前端Vue2.0~~ 1. [框架快速开始](https://ccnetcore.com/article/1641733850189139969)(已完成)
2. [框架模块教程](https://ccnetcore.com/article/1641733991574933505)(已完成)
**关系型数据库**mysql、sql server、sqlite、oracle(正在兼容中) 3. [应用模块教程](https://ccnetcore.com/article/1641734073091231745)
4. [Yi.RBAC后台系统](https://ccnetcore.com/article/1641734171128893441)
**操作系统**Windows、Linux 5. [Yi.BBS社区系统](https://ccnetcore.com/article/1641734308475572225)
**身份验证**JWT、IdentityServer4
**组件**SqlSugar、Autofac、Castle、Swagger、Log4Net、Redis、RabbitMq、ES、Quartz.net、~~T4~~
**分布式**CAP、Lock
**微服务**Consul、Ocelot、IdentityService、Apollo、Docker、Jenkins、Nginx、K8s、ELK、Polly
**封装**Json处理模块滑动验证码模块base64图片处理模块异常捕捉模块、邮件处理模块、linq封装模块、随机数模块、统一接口模块、基于策略的jwt验证、过滤器、数据库连接、跨域、初始化种子数据、Base32、Console输出、日期处理、文件传输、html筛选、http请求、ip过滤、md5加密、Rsa加密、序列化、雪花算法、字符串处理、编码处理、地址处理、xml处理、心跳检查。。。
**** ****
<h3>业务支持模块</h3> ### 它的理念:
优雅的进行快速开发通常简单程度与优雅程度不可兼得Yi框架并不一昧的追求极致的解耦会站在用户使用角度上在使用难易度进行考虑衡量
例如我们大部分功能紧密贴合Sqlsugar虽然缺少其他orm的替换性但在使用程度上降低的使用难度
例如:我们在应用层中使用属性注入,虽然依赖关系会比较模糊,但是使用起来会减少一定代码量
> 一个面向用户的快速开发后端框架
在真正的使用这,你会明白这一点,极致的简单,也是优雅的一种体现。
****
### 特点:
- 面向用户的后端框架,使用简单,适合小型、企业级项目
- 项目内置源码,不打包
- 开箱即用
- 支持模块化
- 支持动态Api
- 支持属性注入
- 内置包含大量通用场景模块
- 等等
### 基础设施简介
- Jwt鉴权
- 接口级别授权
- 对象映射
- O/RM
- 数据过滤
- 多租户
- 逻辑删除
- 审计日志
- 种子数据
- 工作单元
- 模块化
- 动态Api
- 属性注入
- 自动依赖注入
- 当前用户
- 仓储
- Crud
### 内置模块简介
- 后台任务
- 本地缓存
- 分布式缓存
- 事件总线
- 字典管理
- 文件管理
- 图片操作
- Excel操作
- 操作日志管理
- Sms短信
- 微信支付
- 模板代码生成
### 业务项目
- RABC后台管理系统
- BBS社区系统
> 重复的东西,无需再写一遍,这也是优雅的体现之一
****
### 核心技术
#### 后端
C# Asp.NetCore 6.0
- [x] 动态ApiCike.AutoApi
- [x] 鉴权授权Jwt
- [x] 日志Nlog
- [x] 模块化StartupModules
- [x] 依赖注入Autofac
- [x] 对象映射Mapster
- [x] ORM:SqlsugarCore
- [x] 多租户Abp
- [x] 后台任务Quartz.Net
- [x] 本地缓存MemortCache
- [x] 分布式缓存CSRedisCore
- [x] 事件总线Cike.EventBus
- [x] 图像操作SixLabors.ImageSharp
- [x] Excle操作ExcelToObject.Npoi
#### 前端
js Vue3.2
- [x] 异步请求axios
- [x] 图表echarts
- [x] uielement-plus
- [x] 存储pinia
- [x] 路由vue-router
- [x] 打包vite
#### 运维
- [x] 部署nginx
- [x] CICDgitlab+Jenkins
- [x] Dockerharbor
****
### 业务支持模块:
RABC权限管理系统正在更新 RABC权限管理系统正在更新
大部分ruoyi功能采用ruoyi前端 采用ruoyi前端
- 用户管理 - 用户管理
- 角色管理 - 角色管理
- 菜单管理 - 菜单管理
@@ -107,13 +182,16 @@ RABC权限管理系统正在更新
- 登录日志 - 登录日志
- 等等 - 等等
ERP进销存系统正在更新
- 供货商管理
- 等等
BBS论坛系统持续迭代 BBS论坛系统持续迭代
- 文章管理 - 文章管理
- 评论管理 - 评论管理
- 主题管理
- 板块管理
- 点赞管理
- 等等
ERP进销存系统正在更新
- 供货商管理
- 等等 - 等等
SHOP电商系统持续迭代 SHOP电商系统持续迭代
@@ -124,109 +202,6 @@ SHOP电商系统持续迭代
- 等等 - 等等
![输入图片说明](Readme/%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86.png)
![输入图片说明](Readme/%E8%8F%9C%E5%8D%95%E7%AE%A1%E7%90%86.png)
### 框架支持模块:
大致如图:
![image](https://user-images.githubusercontent.com/68722157/142923071-2fa524eb-e833-4143-a926-51566e56e889.png)
![image](https://user-images.githubusercontent.com/68722157/142923150-ebe1b538-c3fc-42dd-bea8-83e10e0f819a.png)
![image](https://user-images.githubusercontent.com/68722157/142923529-e4fbb2f6-def1-4702-b9da-5adbd22f0a2f.png)
(删除线代表已实现功能还未迁移过来)
- [x] 支持大致`DDD领域驱动设计`进行分层,支持微服务扩展
- [x] 支持采用`异步`开发awit/async
- [x] 支持数据库主从`读写分离`
- [x] 支持功能替换,无需改动代码,只需配置`json文件`进行装配即可
- [x] 支持`Aop封装`FilterAop、IocAop、LogAop、SqlAop
- [x] 支持`Log4Net日志`记录自动生成至bin目录下的logs文件夹
- [x] 支持`DbSeed数据库种子数据`接入
- [x] 支持主流`数据库随意切换`Mysql/Sqlite/Sqlserver/Oracle
- [x] 支持上海杰哥官方`SqlSugar ORM`封装
- [x] 支持新版`SwaggerWebAPI`jwt身份认证接入
- [x] 支持`Cors`跨域
- [x] 支持`AutoFac`自动映射依赖注入
- [x] 支持`consul`服务器注册与发现
- [x] 支持`健康检查`
- [x] 支持`RabbitMQ`消息队列
- [x] 支持`Redis`多级缓存
- [x] 支持`MemoryCache`多级缓存
- [x] 支持`Ocelot`网关路由、服务聚合、服务发现、认证、鉴权、限流、熔断、缓存、Header头传递
- [x] 支持`Apollo`全局配置中心;
- [x] 支持`docker`镜像制作
- [x] 支持`Quartz.net`任务调度,实现任意接口被调度
- [x] 支持`ThumbnailSharp`缩略图封装
- [x] 支持`ELK`log4net+kafka+es+logstach+kibana
- [x] 支持`IdentityService4`授权中心
- [x] 支持`Es`分词查询
- [x] 支持多级`缓存`
- [x] 支持`CAP`分布式事务mysql+rabbitMq
- [x] 支持`Docker+k8s`部署
- [x] 支持`Jenkins+CI/CD`
- [x] 支持`AutoMapper`模块映射
- [x] 支持`微信支付`模块
- [x] 支持`单表多租户`常用功能
- [x] 支持`逻辑删除`常用功能
- [x] 支持`操作日志`常用功能
- [x] 支持`自动分表`
- [x] 支持`数据权限`
- [x] 支持`CodeFrist`快速构建数据库
- [x] 支持自研文件版`代码生成器`快速构建通用代码
- [x] 支持完整`Dto`模式
- [x] 支持 太多了忘了
****
### 目录结构:
![image](https://s1.ax1x.com/2022/04/09/LCTleH.png)
![image](https://s1.ax1x.com/2022/04/24/L4qlSs.png)
![image](https://s1.ax1x.com/2022/04/24/L4q1ln.png)
我们大致依照DDD领域驱动设计分层
分层如此清晰什么还感觉太复杂了用户只需关注Api、Service其他都是轮子啊
- BackGround后台进程通常使用消息队列进行消费任务
- Test测试单元测试
- Domain领域层Dto、服务接口层、模型层、仓储层、服务层
- Infrastructure基础实例层(通用工具层、核心层、定时任务Job、国际化、Web扩展层)
- Module模块层其他模块可按需进行引入例如微信支付、代码生成
- MicroServiceInstance服务层微服务
****
### 安装教程:
我们将在之后更新教程手册!
后端
1. 下载全部源码默认使用sqlite数据库已经生成
2. 直接点击sln文件运行即可没有任何其他依赖
前端
1. 下载全部源码npm i 安装依赖
2. 使用npm run dev进行运行
****
### 使用说明:
~~1. 导入使用仓库中的WebFirst数据库~~
~~2. 使用WebFirst添加实体、同步实体、修改模板生成路径并生成方案~~
没了,恭喜你已经成功完成了项目,并且已经具备大部分通用场景业务
是不是一个字?爽!
到此为止,你无需写任何一个代码!
**爽点**
新人,看这里,项目下载之后直接可以启动,无任何依赖,之后你可以查看`Test控制器`,迫不及待的快来爽一爽!
我们将使用说明转移至我们的官方论坛中,正在制作中,尽情期待!
**** ****
### 感谢: ### 感谢:
@@ -253,29 +228,11 @@ QQ交流群官方一群已满、官方二群已满、官方三群
联系作者,这里人人都是顾问 联系作者,这里人人都是顾问
官方网址:正在建设 官方网址留言区:[ccnetcore.com](https://ccnetcore.com)
**** ****
### FQA: ### FQA:
问1为什么不采用EFcore 前往官网查看留言区
答1别问问就是Sqlsugar和本框架一样爽 [留言区](https://ccnetcore.com/discuss/1641030787056930818)
问2以后会持续更新下去吗
答2一定会的我们的标题是 一个和Sqlsugar一样爽的.Net6开源框架 只要Sqlsugar在我们将一直更新下去。
问3这个框架的针对人群是哪些人适合所有人吗
答3并不是适合所有人应该算适合需要有一定基础的开发人员当然如果你是大神你完全可以将这个框架二次开发
问4花如此多的精力制作这个框架是为了什么是为了赚钱吗和目前主流的abp等框架比又有什么意义呢
答4我们与Sqlsugar作者理念一致我们是从用户角度出发框架是为用户服务与ABP复杂上手理念完全是相反的。
问5为何不出版一个详细的说明书呢
答5暂时不会了之后可能会代码都是基于Asp.NetCore框架适用于新手不用造轮子整个框架较为简单阅读源码后基本能自定义改造使用了过难也已经封装完毕别忘了其意义是为了开发更加简易建议添加作者好友这里人人都是顾问。
我大抵要厌倦了负重前行。