一. 框架说明
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 LayUI版, 图2 EasyUI版 图3是在EasyUI上仿照ElementUI进行的重写
3. 我的计划
该系列延误了很久,今天终于正式推出,并计划长期维护,不断升级,目前分了以下几个阶段(会随时调整):
第一阶段:基础架构的搭建(计划展示多种搭建方式),各种组件的集成。
第二阶段:业务设计编写+EasyUI 前后端分离搭建
第三阶段:升级前端ES写法+UI大换血
第四阶段:全新前端: Vue3+Element Plus+Ts+Webpack (即将开始)
第五阶段:后端框架升级为.Net 6.0版本 (准备中。。。。)
二. 用到的技术栈
1. 基础技术
(1). 版本1:
运行环境:.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)
(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)
(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)
(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)
2. 后续升级
(1). 整合SeriLog 【已完成】
(2). 将EasyUI版本的前端框架整合成前后端分离的框架。【已完成】
(3). 升级到CoreMvc 5.x 和 EFCore 5.x版本 【已完成】
(4). 升级ES写法+UI大换血 【已完成】
(5). 整合Vue+ElementUI全家桶
。。。。。。
三. 系列目录
阶段一:基础架构的搭建
第一节:框架基础架构构建(CoreMvc+EFCore+AutoFac)
第二节:必备中间件集成1(Cookie、Session、HttpClient、静态资源、路由配置、跨域等)
第三节:必备中间件集成2(缓存、认证授权、自定义黑名单、日志等)
第四节:DB支持MySQL及BaseService常规封装、大数据处理封装
第五节:集成全局返回值处理、详解Ypf.Utils帮助类层、核心功能测试
第六节:基于LayUI组件的文件上传 和 基于dropzonejs的文件上传
阶段二:业务设计编写+EasyUI 搭建
第二节:前端规范封装设计和基于EasyUI前端基础菜单框架的搭建(Layout、Tab、Tree)
第三节:剖析核心组件datagrid、dialog 和 form表单、ValidateBox格式校验用法
第四节:剖析其它组件ComboBox、DateTimeBox、Messager用法
第五节:常用插件汇总(中英转换、省市区、LayUI的日期控件改造)
第七节:前端写法全面升级和重新构建封装(结合ES6-ES11语法)
第八节:前端UI大换血(动态登录页、三套皮肤、菜单伸缩、弹框页面、基础布局页面等等)
阶段三:全新设计+Vue全家桶 搭建 (预计21年12月底开始)
!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。