Uwl.Admin开源框架(一)
1、前言
作为一个忠实的软粉,一直期待微软出跨平台,一直在等待.Net Core,因为刚毕业对于.Net的很多东西不是很熟知,就开始了.Net Core的摸索,一路上坎坎坷坷,对于新技术一直很期待,就开始漫长的.Net Core的学习和编写开源框架,希望自己写的文章能给.Net Core社区贡献一下自己的坎坷路,这一路所遇到的问题磕磕绊绊,各种问题层出不穷,但是我认为没有解决不了的问题,只有你想不想去做,摆好自己的心态,做好一个目标,你就会成功。
本系列文章只是对框架现有的一些技术做一个简单说明或者是引入,只是一个抛砖引玉的作用,第一次写博客希望各路大神多多指导。
2、框架简介
*、Uwl.Admin开源框架技术选择的是.Net Core2.2版本,ORM选择的是EF Core,(个人偏向喜欢用EF Core),前端选择的是目前主流技术Vue.js+Iview UI框架;
*、框架功能:1)用户管理;2)菜单管理;3)组织机构;4)按钮管理;5)角色分配权限;6)角色管理;7)定时任务;8)个人资料;9)Excel导入、导出;10)用户分配角色;11)SignalR即时通讯
*、框架使用仓储模式用来管理数据连接层,缓存使用的是Redis,Redis链接使用单例模式来管理;仓储内由工作单元来管理数事务上下文;
*、框架同时还封装了RabbitMQ指定队列模式,目前没有功能实现后期扩展,若想使用RabbitMQ请先配置RabbitMQ;我这里使用的是Windows服务器 请看文章 RabbitMQ消息队列入门(一)
2、技术简介
后端技术
*、因为想单纯搭建前后端分离,因此就选用的API;
*、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官网);
*、前端权限按钮控制使用动态渲染的方式来做,如果用户有这个权限则显示该按钮没有这个权限则不渲染按钮;
3、项目地址
*、.NET CORE 源码:https://github.com/GeorGeWzw/Uwl.Admin.Core
*、前端框架代码:https://github.com/GeorGeWzw/Vue.Uwl.Admin
3、致谢
*、感谢有几位朋友支持、以及技术支持 特别感谢老张的博客、Psyche丶残云、深圳-果、大黄瓜 等各位大佬的技术默默支持;才让我有了继续前行下去的动力,非常感谢各位大佬给的很多建议。
*、 下一篇我会写QuartzNet控制中心的实现
Uwl.Admin开源框架(一)的更多相关文章
- Uwl.Admin开源框架(二)
Uwl.Admin开源框架基于QuartzNet定时任务模块的实现 Quartz.NET官网地址:https://www.quartz-scheduler.net/ Quartz.NET文档地址:ht ...
- Uwl.Admin.Core开源框架(三) 使用RabbitMQ
Uwl.Admin.Core中使用RabbitMQ消息队列: 本文负责讲解RabbitMQ的使用 Uwl.Admin.Core使用的技术有: *.Async和Await 异步编程 *.Reposito ...
- Uwl.Admin.Core开源框架(二) 使用QuartzNet
Uwl.Admin.Core中使用QuartzNet定时任务模块: 本文负责讲解RabbitMQ的使用 Uwl.Admin.Core使用的技术有: *.Async和Await 异步编程 *.Repos ...
- Magicodes.Admin.Core开源框架总体介绍
框架说明 Magicodes.Admin.Core框架在ABP以及ASP.NET ZERO的基础上进行了封装和完善,目前基于.NET Core 2.0+(Framework版本),由于部分组件在.NE ...
- 介绍一个非常好用的跨平台C++开源框架:openFrameworks
介绍一个非常好用的跨平台C++开源框架:openFrameworks 简介 首先需要说明的一点是: openFrameworks 设计的初衷不是为计算机专业人士准备的, 而是为艺术专业人士准备的, 就 ...
- Pyhton开源框架(加强版)
info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- 【开源推荐】AllJoyn:打造全球物联网的通用开源框架
摘要:随着智能设备的发展,物联网逐渐进入了人们的生活.据预测,未来几乎一切东西(超过500亿台设备)都可以互联.高通公司发布了开源项目AllJoyn,这是一个能够使连接设备间进行互操作的通用软件框架和 ...
- [转]开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo
热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...
随机推荐
- android.mk-include
-- include $(BUILD_STATIC_LIBRARY)表示编译成静态库 include $(BUILD_SHARED_LIBRARY)表示编译成动态库. include $(BUILD_ ...
- VS中显示行号
Tools=>Options=>Text Editor=>All Languages=>General:line numbers
- PorterDuffXfermode之PorterDuff.Mode.SRC_IN
package com.loaderman.customviewdemo.view; import android.content.Context; import android.graphics.B ...
- 解决kali无法连接网络问题
键入 ifconfig -a 查看网卡 ,是否存在 键入 leafpad /etc/network/interfaces 查看其中是否有如下语句,没有添加上即可:auto eth0iface eth0 ...
- MySQL数据库之多线程备份工具mydumper
Mydumper介绍: 1)Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具 2)特性: 轻量级C语言编写 执行速度比mysqldump快10倍 快速的文件压缩 支持导 ...
- request请求模拟导出文件
ui界面: 实现代码: def export(self,host): '''导出课时券记录''' #测试接口 url='https://'+host+r'/ticket-record/export?t ...
- jenkins报错集合
可能会碰到以下报错: 1)这里的失败原因是因为运行jenkins程序的是jenkins用户,我们连接节点的秘钥是root的,所以现在连接不上 打开配置文件/var/lib/jenkins 将jenki ...
- (五)Centos之目录处理命令
一.目录处理命令 linux中 关于目录 有几个重要概念:一个是 / 根目录 还有一个当前用户的家目录 比如 root用户的家目录是 /root ,普通用户的家目录是/home/xxx 下,如下图 ...
- MySQL必知必会:组合查询(Union)
MySQL必知必会:组合查询(Union) php mysqlsql 阅读约 8 分钟 本篇文章主要介绍使用Union操作符将多个SELECT查询组合成一个结果集.本文参考<Mysql ...
- Cas(01)——简介
Cas的全称是Centeral Authentication Service,是对单点登录SSO(Single Sign On)的一种实现.其由Cas Server和Cas Client两部分组成,C ...