框架篇【持续更新】

一. 框架说明

1.  框架定位

  该框架定位于后台系统和Api接口对接,适用于中小型项目的快速开发,针对不同场景说明:

(1). 如果你只想简单的做个后台管理,那么该框架适合你。

(2). 如果你想做CRM、OA、电商后台等,那么该框架适合你。

(3). 如果你想学习一下.NetCore相关,那么该框架适合你。

(4). 如果你是新手,想学习一下简单架构的搭建,那么该系列博客适合你。

(5). 如果你想整微服务,那么你需要自行加工一下,可参考之前微服务系列:https://www.cnblogs.com/yaopengfei/p/12885217.html

(6). 如果你要考虑高并发高可以,可参考之前的高并发系列:https://www.cnblogs.com/yaopengfei/p/13749772.html

(7). 如果你是喷子,请右上角X号,谢谢,不送。

2.  框架功能

 该框架集成了以下功能,可供你直接使用。下面是最新版本的功能介绍:【未编写】

 (1). 登录机制

 (2). 用户管理:用户的增删改查、配置角色信息。

 (3). 角色管理:角色的增删改查、配置权限信息。

 (4). 各种日志:登录日志、操作日志、错误日志。

旧版本1-基于EasyUI的前端,外加样式的重写 (现在已经不使用,也不再维护了)

旧版本2-基于LayUI的前端  (现在已经不使用,也不再维护了)

新版本1-基于Vue3+Element Plus+Vite+Vuex (正在使用,不断完善)

 

 3. 我的计划

  该系列延误了很久,今天终于正式推出,并计划长期维护,不断升级,目前分了以下几个阶段(会随时调整):

 第一阶段:基础架构的搭建(计划展示多种搭建方式),各种组件的集成。  【已完成】

 第二阶段:业务设计编写+EasyUI 前后端分离搭建 【已完成】

 第三阶段:升级前端ES写法+UI大换血【已完成】

   第四阶段:框架组件积累 【持续进行中....】

 第五阶段:后端框架升级为.Net 6.0版本  【已完成】

 第六阶段:全新前端: Vue3+Element Plus+Vite+Vuex+VueRouter 【已完成】

 第七阶段:后端框架升级为Core7.x版本 【已完成】

   第八阶段:前端技术栈升级 (原有组件升级+pinia改造) 【已完成】

 第九阶段:后端框架升级为Core8.x版本 【已完成】

   

 

二. 用到的技术栈

1. 技术栈迭代升级

(1). 版本1:【20201209】

 运行环境:.Net Core 3.1  (3.1.8)

 开发工具:VS2019 + SQLServer2014 (或 MySQL 5.7)

 web开发框架:Asp.net Core 3.1 (3.1.8)

 数据库框架:EF Core 3.1 (3.1.8)、 EFCore.BulkExtensions 3.1.0、Pomelo.EntityFrameworkCore.MySql  3.2.4、 Z.EntityFramework.Plus.EFCore 3.1.2

 前端框架:

  (1). 原生JS的准备了两套前端:LayUI 2.5.6   和  EasyUI 1.5

  (2). Vue全家桶:Vue+Vuex+ElementUI

 IOC框架:AutoFac 6.0.0 和 Autofac.Extensions.DependencyInjection 7.0.2

 Excel组件:EPPlus 5.3.0

 日志组件:Serilog 2.1.0   Serilog.Sinks.File 4.1.0   Serilog.Sinks.Async 1.4.0

      Log4net 2.0.9

 授权校验:JWT 7.2.1

 Redis组件:CSRedisCore 3.6.5  Caching.CSRedis 3.6.5  (备用 StackExchange.Redis 2.4.4)
View Code

(2). 框架整体升级后版本:【20210312】

 运行环境:.Net Core 5.x  (5.0.4)

 开发工具:VS2019 + SQLServer2014(或MySQL 5.7)

 web开发框架:Asp.net Core 5.x  (5.0.4)

 数据库框架:EF Core 5.x  (3.1.8)、 EFCore.BulkExtensions 3.3.5、

                       Pomelo.EntityFrameworkCore.MySql  5.0.0-alpha.2、 Z.EntityFramework.Plus.EFCore 5.1.23

            Zack.EFCore.Batch.MSSQL 1.2.4  Zack.EFCore.Batch.MySQL.Pomelo 1.2.4

 前端框架:LayUI 2.5.6

 IOC框架:AutoFac 6.1.0 和 Autofac.Extensions.DependencyInjection 7.1.0

 Excel组件:EPPlus 5.5.5

 日志组件:Serilog 2.10.0   Serilog.Sinks.File 4.1.0   Serilog.Sinks.Async 1.4.0

 (备用:Log4net 2.0.9)

 授权校验:JWT 8.1.3

 Redis组件:CSRedisCore 3.6.6  Caching.CSRedis 3.6.6  (备用 StackExchange.Redis 2.4.4)
View Code

(3). 常规组件升级:【20210605】

 运行环境:.Net Core 5.x  (5.0.6)


 开发工具:VS2019 + SQLServer2014(或MySQL 5.7)


 web开发框架:Asp.net Core 5.x  (5.0.6)


 数据库框架:EF Core 5.x  (5.0.6)、 EFCore.BulkExtensions 5.2.2、


                       Pomelo.EntityFrameworkCore.MySql  5.0.0、 Z.EntityFramework.Plus.EFCore 5.1.39


            Zack.EFCore.Batch.MSSQL 1.3.0 、 Zack.EFCore.Batch.MySQL.Pomelo 1.3.0


 前端框架:LayUI 2.5.6


 IOC框架:AutoFac 6.3.0 和 Autofac.Extensions.DependencyInjection 7.1.0


 Excel组件:EPPlus 5.6.4


 日志组件:Serilog 2.10.0   Serilog.Sinks.File 4.1.0   Serilog.Sinks.Async 1.4.0


 (备用:Log4net 2.0.9)


 授权校验:JWT 8.2.2


 Redis组件:CSRedisCore 3.6.6  Caching.CSRedis 3.6.6  (备用 StackExchange.Redis 2.4.4)
View Code

(4). 常规组件升级【20210913】

 运行环境:.Net Core 5.x  (5.0.9)


 开发工具:VS2019 + SQLServer2014(或MySQL 5.7)


 web开发框架:Asp.net Core 5.x  (5.0.9)


 数据库框架:EF Core 5.x  (5.0.9)、 EFCore.BulkExtensions 5.4.0


                      Pomelo.EntityFrameworkCore.MySql  5.0.1、 Z.EntityFramework.Plus.EFCore 5.2.10


            Zack.EFCore.Batch.MSSQL 1.4.9 、 Zack.EFCore.Batch.MySQL.Pomelo 1.4.9


 前端框架:LayUI 2.5.6


 IOC框架:AutoFac 6.3.0 和 Autofac.Extensions.DependencyInjection 7.1.0


 Excel组件:EPPlus 5.7.4


 日志组件:Serilog 2.10.0   Serilog.Sinks.File 5.0.0   Serilog.Sinks.Async 1.5.0


 (备用:Log4net 2.0.9)


 授权校验:JWT 8.4.0


 Redis组件:CSRedisCore 3.6.6  Caching.CSRedis 3.6.6  (备用 StackExchange.Redis 2.5.0)
View Code

(5). 大更新版本 【20220909】

   运行环境:.Net Core 6.0

 开发工具:VS2022 + SQLServer2014及以上 (或 MySQL 5.7及以上)

 web开发框架:Asp.net Core 6.x 

 数据库框架:EF Core 6.0、 EFCore.BulkExtensions 6.5.5、Zack.EFCore.Batch.MSSQL_NET6  6.1.2

 前端框架:Vue3+ElementPlus+Vite+VueRouter+Vuex

 IOC框架:AutoFac 6.4.0 和 Autofac.Extensions.DependencyInjection 8.0.0

 Excel组件:NPOI 2.5.6

 日志组件:Serilog 2.11.0   Serilog.Sinks.File 5.0.0   Serilog.Sinks.Async 1.5.0

 授权校验:JWT 7.3.1

 Redis组件:CSRedisCore 3.8.668  Caching.CSRedis 3.8.668  

(6). 大更新版本 【20230615】

   运行环境:.Net Core 7.x

 开发工具:VS2022 + SQLServer2014及以上 (或 MySQL 5.7及以上)

 web开发框架:Asp.net Core 7.x 

 数据库框架:EF Core 7.x、Zack.EFCore.Batch.MSSQL_NET7  7.1.4

 前端框架:Vue3+ElementPlus+Vite+VueRouter+Pinia

 IOC框架:AutoFac 7.0.1 和 Autofac.Extensions.DependencyInjection 8.0.0

 Excel组件:NPOI 2.6.0

 日志组件:Serilog 2.12.0   Serilog.Sinks.File 5.0.0   Serilog.Sinks.Async 1.5.0

 授权校验:JWT 7.3.1

 Redis组件:CSRedisCore 3.8.670  Caching.CSRedis 3.8.670  

(6). 大更新版本 【20230615】

   运行环境:.Net Core 8.x

 开发工具:VS2022 + SQLServer2014及以上 (或 MySQL 5.7及以上)

 web开发框架:Asp.net Core 8.x 

 数据库框架:EF Core 8.x、Zack.EFCore.Batch.MSSQL_NET8  8.1.8

 前端框架:Vue3+ElementPlus+Vite+VueRouter+Pinia

 IOC框架:AutoFac 8.0.0 和 Autofac.Extensions.DependencyInjection 9.0.0

 Excel组件:NPOI 2.7.0

 日志组件:Serilog 3.1.1   Serilog.Sinks.File 5.0.0   Serilog.Sinks.Async 1.5.0

 授权校验:JWT 7.3.1

 Redis组件:CSRedisCore 3.8.802  Caching.CSRedis 3.8.800 

 

 

 

三. 系列目录

阶段一:基础架构的搭建 【完结】

          第一节:框架基础架构构建(CoreMvc+EFCore+AutoFac)

          第二节:必备中间件集成1(Cookie、Session、HttpClient、静态资源、路由配置、跨域等)

          第三节:必备中间件集成2(缓存、认证授权、自定义黑名单、日志等)

          第四节:DB支持MySQL及BaseService常规封装、大数据处理封装

          第五节:集成全局返回值处理、详解Ypf.Utils帮助类层、核心功能测试

          第六节:基于LayUI组件的文件上传 和 基于dropzonejs的文件上传

          第七节:框架全面升级5.x版本及常规组件的升级和集成

          第八节:框架组件常规升级(持续升级)

          第x节:xxxxxxxxxxxxxxxxxxxxxx

 

阶段二:业务设计编写+EasyUI 搭建 【完结】

          第一节:剖析DB设计和业务接口的编写

          第二节:前端规范封装设计和基于EasyUI前端基础菜单框架的搭建(Layout、Tab、Tree)

          第三节:剖析核心组件datagrid、dialog 和 form表单、ValidateBox格式校验用法

          第四节:剖析其它组件ComboBox、DateTimeBox、Messager用法

          第五节:常用插件汇总(中英转换、省市区、LayUI的日期控件改造)

          第六节:扩展插件之行编辑模式和单元格编辑模式-未完

          第七节:前端写法全面升级和重新构建封装(结合ES6-ES11语法)

          第八节:前端UI大换血(动态登录页、三套皮肤、菜单伸缩、弹框页面、基础布局页面等等)

          第x节:xxxxxxxxxxxxxxxxxxxxxx

 

阶段三:前置积累--组件使用、搭建思想

          第一节:MediatR简介、快速上手、基于MediatR实现领域事件

          第二节:老杨集成事件框架Zack.EventBus的使用和基于源码的剖析、改造、升级

          第三节:DDD基础(相关概念、新映射、随机数、实体属性、充血模型写法、值对象及比较、聚合、FluentApi配置)

          第四节:DDD用户登录案例(需求分析与设计、项目快速搭建实操)

          第五节:老杨微服务项目运行步骤、功能介绍和框架组成

          第六节:老杨微服务项目Common层剖析及各组件源码解读

          第七节:文件微服务功能介绍和代码剖析

          第八节:认证微服务功能介绍和代码剖析+Identity框架的使用介绍

          第九节:手写服务注册框架、EF多上下文注册框架、AnyDBConfigProvider的使用与源码剖析

          第十节:听力微服务功能介绍和代码剖析

          第十一节:转码微服务功能介绍和代码剖析+RedLock锁

          第十二节:优雅方案(反射动态接口实例化、)--持续更新

          第十三节:搜索微服务功能介绍和代码剖析

          第十四节:项目各种流程梳理总结

          第x节:xxxxxxxxxxxxxxxxxxxxxx

          第x节:xxxxxxxxxxxxxxxxxxxxxx

 

 

阶段四:Api框架全新升级

          第一节:框架全新升级(快速搭建、必备中间件集成、大数据处理)

          第二节:必备中间件集成(缓存策略、Redis服务)、JWT校验整合、 YpfCore.Utils层详解

          第三节:常用解决方案剖析(Excel导出、工作单元、领域事件、JWT回收问题等)--未完

          第四节:框架版本大升级(CoreMvc7.x + EFCore7.x)

          第五节:框架版本打升级(CoreMvc8.x + EFCore8.x)

          第x节:xxxxxxxxxxxxxxxxxxxxxx

 

阶段五:基于Vue全家桶的全新前端框架

          第一节:项目结构介绍、图标的使用、axios封装思路、jwt校验、Vuex的应用

          第二节:深度剖析菜单权限、按钮权限、keepAlive缓存的设计

          第三节:剖析自定义显示列/显示顺序、Excel文件流形式的导出方案

          第四节:剖析表格组件的封装思路(表格配置、分页条、页面传值、高度自适应、单选、多选等)

          第五节:搜索组件封装剖析、弹框的使用、页面各组件联调

          第六节:框架版本升级和Vuex改造为Pinia--未完

          第七节:xxxxxxxxxxxxxxxxxxxxxx

          第八节:xxxxxxxxxxxxxxxxxxxxxx

 

 

 

 

 

 

 

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 
posted @ 2020-12-09 17:05  Yaopengfei  阅读(2792)  评论(14编辑  收藏  举报