做为一个忠实的软粉,一直期待微软出跨平台,一直在等待.Net Core,由于刚毕业对于.Net的不少东西不是很熟知,就开始了.Net Core的摸索,一路上坎坎坷坷,对于新技术一直很期待,就开始漫长的.Net Core的学习和编写开源框架,但愿本身写的文章能给.Net Core社区贡献一下本身的坎坷路,这一路所遇到的问题磕磕绊绊,各类问题层出不穷,可是我认为没有解决不了的问题,只有你想不想去作,摆好本身的心态,作好一个目标,你就会成功。html
本系列文章只是对框架现有的一些技术作一个简单说明或者是引入,只是一个抛砖引玉的做用,第一次写博客但愿各路大神多多指导。前端
*、Uwl.Admin开源框架技术选择的是.Net Core2.2版本,ORM选择的是EF Core,(我的偏向喜欢用EF Core),前端选择的是目前主流技术Vue.js+Iview UI框架;ios
*、框架功能:1)用户管理;2)菜单管理;3)组织机构;4)按钮管理;5)角色分配权限;6)角色管理;7)定时任务;8)我的资料;9)Excel导入、导出;10)用户分配角色;11)SignalR即时通信git
*、框架使用仓储模式用来管理数据链接层,缓存使用的是Redis,Redis连接使用单例模式来管理;仓储内由工做单元来管理数事务上下文;github
*、框架同时还封装了RabbitMQ指定队列模式,目前没有功能实现后期扩展,若想使用RabbitMQ请先配置RabbitMQ;我这里使用的是Windows服务器 请看文章 RabbitMQ消息队列入门(一)
数据库
后端技术编程
*、由于想单纯搭建先后端分离,所以就选用的API;axios
*、Async和Await 异步编程后端
*、Repository + Service 仓储模式编程跨域
*、Swagger 先后端文档说明,基于RESTful风格编写接口
*、Cors 简单的跨域解决方案
*、JWT自定义策略受权权限验证
*、依赖注入选择的是官方自带的DI注入,没有使用第三方框架,ORM使用EF Core,数据库使用的是Sql server,(后期会扩展MySql版本);
*、登陆认证方式使用JWT认证方式,后台接口使用SwaggerUI展现,角色权限使用 自定义权限处理器PermissionHandler 继承与微软官方 IAuthorizationRequirement;
*、Excel导入导出使用的是Epplus第三方框架,导入导出只须要配置Attribute特性就好,不须要在本身写列名;导出只支持List导出,暂时不支持Datatable;
*、Redis 轻量级分布式缓存
*、Vue 本地代理跨域方案,Nginx跨域代理
*、定时任务使用QuartzNet第三方任务框架,QuartzNet任务框架能够精确到分秒;(还有其余任务框架、hangfire ),定时任务管理中心已经封装完毕,只须要配置任务到对应的表中而且启动任务就能够直接用;QuartzNet第三方任务框架文献参考(基于QuartzNet任务管理系统)
数据库
Sql Server、 EF Core ORM框架、CodeFirst、AutoMapper 自动对象映射、Linq To Sql \ lambda表达式树查询;
前端技术
*、使用Vue 2.0 框架全家桶 +Iview UI框架 ,接口请求axios\状态管理使用Vuex;Vue参考文献(老张的博客);
*、Iview UI框架基于Vue2.x的组件库;请查看(IviewUI官网);
*、前端权限按钮控制使用动态渲染的方式来作,若是用户有这个权限则显示该按钮没有这个权限则不渲染按钮;
*、.NET CORE 源码:https://github.com/GeorGeWzw/Uwl.Admin.Core
*、前端框架代码:https://github.com/GeorGeWzw/Vue.Uwl.Admin
*、感谢有几位朋友支持、以及技术支持 特别感谢老张的博客、Psyche丶残云、深圳-果、大黄瓜 等各位大佬的技术默默支持;才让我有了继续前行下去的动力,很是感谢各位大佬给的不少建议。
*、 下一篇我会写QuartzNet控制中心的实现