# RuYiAdmin
**Repository Path**: supercoeus/RuYiAdmin
## Basic Information
- **Project Name**: RuYiAdmin
- **Description**: 基于.NET5的RBAC后台管理系统,前端使用vue element admin,后端使用.Net Core WebApi
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 376
- **Created**: 2021-05-10
- **Last Updated**: 2021-07-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# RuYiAdmin
#### 介绍
RuYiAdmin是一个前后端可分离的、基于.Net5的RBAC Web后台管理系统模板。前端采用最受欢迎的开源框架vue element admin,后端采用.Net5 WebApi。
#### 软件架构

#### 软件优势
1. RuYiAdmin前端使用vue框架与elementui搭建,框架使用vue element admin。
1. RuYiAdmin对于前端通用API做了统一性的封装。
1. RuYiAdmin对于前端Base Page界面与通用方法做了较为全面的封装。
1. RuYiAdmin后端采用.Net5 WebApi,支持跨平台。
1. RuYiAdmin后端既可用于构建独立服务,也可以用于支撑前端业务。
1. RuYiAdmin集成了Redis,支持哨兵模式。
1. RuYiAdmin集成了Apache ActiveMQ,支持Master Slave和Broker Cluster结合的MQ集群。
1. RuYiAdmin支持实时消息、支持禁用用户实时踢出系统。
1. RuYiAdmin使用Swagger作为WebApi的管理工具,同时为接口与Model做了精细的注释。
1. RuYiAdmin使用JWT验证,防止WebApi滥调。
1. RuYiAdmin使用AutoFac,实现依赖自动注入。
1. RuYiAdmin支持log4net,同时支持控制台输出。
1. RuYiAdmin支持Quartz作业调度。
1. RuYiAdmin支持Api路由白名单。
1. RuYiAdmin支持Request Headers验证配置化。
1. RuYiAdmin封装了统一的基类模型。
1. RuYiAdmin支持按属性个性化导出数据。
1. RuYiAdmin统一封装了UI、控制层、服务层与仓储层通用逻辑,后端业务层代码量极少,开启极简代码风格。

1. RuYiAdmin使用地表最强ORM SqlSugar,支持多种多种类型数据库。

1. RuYiAdmin做到了按钮、视图的可见性控制。
1. RuYiAdmin做到了按钮级别的操作鉴权。
1. RuYiAdmin做到了按钮与视图的精细授权。
1. RuYiAdmin做到了用户行为的自动监控。
1. RuYiAdmin使用了AutoMapper,实现了POCO与DTO自动转化。
1. RuYiAdmin支持配置信息热加载、热更新。
1. RuYiAdmin封装、使用了灵活高效的SQL访问底层。
1. RuYiAdmin实现了SQL与代码的分离。
1. RuYiAdmin支持SQL热加载、热更新。
1. RuYiAdmin封装了统一的数据返回格式。
1. RuYiAdmin封装了强大的查询条件,支持前端的自定义查询。
1. RuYiAdmin是一个完整的RBAC系统管理模板。

1. RuYiAdmin构建了可视化的ER关系模型。
1. RuYiAdmin提供一键执行的数据库初始化脚本。
#### 安装教程
1. 安装Redis。
1. 安装ActiveMQ。
1. 安装Mysql数据库。
1. 安装Nodejs。
1. 克隆代码。
1. 数据库初始化,结构与数据位于web api/DataAndModel。
1. 修改Redis、ActiveMQ、Mysql数据库连接串。
1. 前端位于web api/wwwroot。推荐使用Visual Studio Code开源软件编辑,作者使用的是idea。前端的使用可以参看vue element admin官网。
1. 后端采用Visual Studio 2019开发工具。
#### 系统截图
1. 系统登录(默认密码:123456)

1. 系统首页

1. 机构管理

1. 用户管理

1. 菜单管理

1. 角色管理

1. 码表管理

1. 日志管理

1. swagger


1. 其他
- 极简代码风格示例
```
///
/// 日志业务层接口
///
public interface ILogService : IBaseService
{
}
```
#### 部署架构
#### 后话
1. 我看过了很多.net的开源框架,无论是前端还是后端,均没有一个令我满意的框架。在使用了Java版本的若依vue之后,我发现她很全面、很强大,但是也存在一些问题,比如前端api和页面都没有做统一的封装,后端的Service层与Mapper层也没有做抽象与封装。架构如果没有层次、没有封装,那就意味着代码量会很大。于是我有了前端、controller、service、repository做泛型抽象与封装的打算,以此来最大限度的减少业务层代码。在查阅了很多优秀的开源项目之后,我初步完成了框架的设计思想,并在工作之余初步完成了如意Admin,同时将她开源。
1. 如意是我宝贝丫头的小名,因此我用如意来为这个框架命名,可谓是寓意深远、爱的深沉。
1. 框架是顶层设计,做架构考虑最多的是如何能最大限度的满足业务。如意Admin现在刚刚完成第一版,还有一些问题需要修正。我会工作之余尽我最大的努力来将她进一步规范、完善,来让她为你提供更好的开发体验。
1. 在线用户管理、任务调度管理、数据导入校验以及工作流将会在后续实现。