# RuYiAdmin
**Repository Path**: wangxin5355/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**: 352
- **Created**: 2021-07-01
- **Last Updated**: 2021-07-01
## 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支持个性化导出Excel。
1. RuYiAdmin支持Excel导入常规校验。
1. RuYiAdmin支持相对路径或绝对路径、NAS存储。
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支持数据的逻辑与物理删除。
1. RuYiAdmin是一个完整的RBAC系统管理模板。

1. RuYiAdmin构建了可视化的ER关系模型。
1. RuYiAdmin提供一键执行的数据库初始化脚本。
#### 安装教程
1. 安装Redis。
1. 安装ActiveMQ。
1. 安装Mysql数据库。作者使用的是mysql8,如果搭建基于mycat的读写分离集群,建议使用mysql5.7。
1. 安装NodeJs。
1. 克隆代码。
1. 数据库初始化,结构与数据位于webapi/DataAndModel。如果使用低版本mysql,可能需要修改数据库初始化脚本。
1. 修改Redis、ActiveMQ、Mysql数据库连接串。
1. 前端管理目录位于webapi/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. 传统架构

1. 云平台部署架构

#### 交流群

#### 支持捐赠

#### 后话
1. 我看过了很多.net的开源框架,无论是前端还是后端或者框架业务完备性,均没有一个令我满意的框架。在使用了Java版本的若依vue之后,我发现她很全面、很强大,但是也存在一些问题,比如前端api和页面都没有做统一的封装,后端的Service层与Mapper层也没有做抽象与封装。架构如果没有层次、没有封装,那就意味着代码量会很大。于是我有了前端、controller、service、repository做泛型抽象与封装的打算,以此来最大限度的减少业务层代码。在查阅了很多优秀的开源项目之后,我初步完成了框架的设计思想,并在工作之余初步完成了如意Admin,同时将她开源。
1. 如意是我宝贝丫头的小名,因此我用如意来为这个框架命名,可谓是寓意深远、爱的深沉。
1. 框架是顶层设计,做架构考虑最多的是如何能最大限度的满足业务。如意Admin现在刚刚完成第一版,还有一些问题需要修正。我会工作之余尽我最大的努力来将她进一步规范、完善,来让她为你提供更好的开发体验。
1. 任务调度管理及国际化将会在后续实现。
1. 工作流建议使用优秀开源项目。
1. 二期会提供AdminLte为框架的前端。
1. 如果觉得项目有用可以点个赞,随手点赞是一种美德。