一飞开源 2022-05-27 00:00 发表于湖南
一、开源项目简介
基于Furion/.NET 6实现的通用管理平台。整合最新技术,模块插件式开发,前后端分离,开箱即用。集成SqlSugar、多租户、缓存、数据校验、鉴权、事件总线、动态API、通讯、远程请求、任务调度、gRPC等众多黑科技。代码简洁、易扩展,让开发更简单、更通用、更流行!
二、开源协议
使用Apache-2.0开源协议
三、界面展示
🍎 效果图
四、功能概述
概述
基于.NET 6实现的通用管理平台。整合最新技术,模块插件式开发,前后端分离,开箱即用。
后台基于Furion框架,vue2前端基于小诺框架。
集成EF Core、多租户、缓存、数据校验、鉴权、事件总线、动态API、通讯、远程请求、任务调度、gRPC等众多黑科技。
核心模块包括:用户、角色、职位、组织机构、菜单、字典、日志、多应用管理、文件管理、定时任务等功能。
代码简洁、易扩展,让开发更简单、更通用、更流行!
模块/插件化开发
按照 Furion 框架脚手架或者本框架脚手架初始化工程。
创建自己业务的 Dll 插件库工程,引用 Furion.Extras.Admin.NET 包,编写自己的业务代码包括实体、服务等。
在 XXX.Web.Entry 层里面的 appsettings.json 配置此插件 Dll 的路径。配置文档说明
此时框架和自己业务实体可以同时做数据迁移,耦合度最低。也可以自行将数据库分系统库、业务库等。
将自己业务前端代码包括view和api文件复制到前端工程相应目录即可。
仓库内 plugin 文件内为本框架模块/插件开发事例,供参考。
🎭 插件市场
欢迎大家勇于参与开源,贡献自己的应用插件,你我都可以做到,.NET正在迅速崛起,我们都是历史的见证人💪
【核酸采集系统】
🎁 前后端一体化
将后台提供的Swagger接口直接生成对应前端的API文件,前端再也不需要手撸一个个的对应后后的API定义了。后台接口更新后,只需要重新生成一遍覆盖即可。
👑 多租户简介
框架目前采用基于共享数据库TenantId的方式实现,后期可无缝迁移转换到基于多库或者Schema模式。
平台超管对租户进行增删改查操作,对各租户进行权限(菜单)的分配,租户管理员密码默认123456
租户管理员根据平台分配的权限再对本租户内用户进一步权限划分
针对新开发的业务功能,平台超管可以针对性分配给各租户(比如某租户购买后才有此功能菜单等)
详细功能
主控面板、控制台页面,可进行工作台,分析页,统计等功能的展示。
用户管理、对企业用户和系统管理员用户的维护,可绑定用户职务,机构,角色,数据权限等。
应用管理、通过应用来控制不同维度的菜单展示。
机构管理、公司组织架构维护,支持多层级结构的树形结构。
职位管理、用户职务管理,职务可作为用户的一个标签,职务目前没有和权限等其他功能挂钩。
菜单管理、菜单目录,菜单,和按钮的维护是权限控制的基本单位。
角色管理、角色绑定菜单后,可限制相关角色的人员登录系统的功能范围。角色也可以绑定数据授权范围。
字典管理、系统内各种枚举类型的维护。
访问日志、用户的登录和退出日志的查看和管理。
操作日志、用户的操作业务的日志的查看和管理。
服务监控、服务器的运行状态,CPU、内存、网络等信息数据的查看。
在线用户、当前系统在线用户的查看。
公告管理、系统的公告的管理。
文件管理、文件的上传下载查看等操作,文件可使用本地存储,阿里云oss,腾讯cos接入,支持拓展。
定时任务、定时任务的维护,通过cron表达式控制任务的执行频率。
系统配置、系统运行的参数的维护,参数的配置与系统运行机制息息相关。
邮件发送、发送邮件功能。
短信发送、短信发送功能,可使用阿里云sms,腾讯云sms,支持拓展。
功能模块
![图片](http://pubimage.360doc.com/wz/default.gif)
🍎 框架特点
全新面貌:基于 .NET5/6
平台,没有历史包袱
极少依赖:框架只依赖两个第三方包
极易入门:只需要一个 Inject()
即可完成配置
极速开发:内置丰富的企业应用开发功能
极其灵活:轻松面对多变复杂的需求
极易维护:采用独特的架构思想,只为长久维护设计
完整文档:提供完善的开发文档
跨全平台:支持所有主流操作系统及 .NET 全部项目类型
🥐 框架依赖
Furion
为了追求极速入门,极致性能,尽可能的不使用或减少第三方依赖。目前 Furion
仅集成了以下两个依赖:
MiniProfiler:性能分析和监听必备
Swashbuckle:Swagger
接口文档
麻雀虽小五脏俱全。Furion
即使只集成了这两个依赖,但是主流的 依赖注入/控制反转
,AOP
面向切面编程,事件总线
,数据验证
,数据库操作
等等一个都不少。
🥗 环境要求
🥪 支持平台
运行环境
Windows
Linux
MacOS/MacOS M1 CPU
Docker/K8S/K3S/Rancher
Xamarin/MAUI
数据库
SqlServer
Sqlite
Azure Cosmos
MySql
MariaDB
PostgreSQL
InMemoryDatabase
Oracle
Firebird
达梦数据库
MongoDB
应用部署
🍖 关于性能
Furion
目前采用 Visual Studio 2019 16.8
自带性能测试和 JMeter
进行测试,由于篇幅有限,只贴部分测试图,测试结果如下:
![图片](http://pubimage.360doc.com/wz/default.gif)
五、技术选型
环境要求
支持平台
运行环境WindowsLinuxMacOS/MacOS M1 CPUDocker/K8S/K3S/RancherXamarin/MAUI
数据库SqlServerSqliteAzure CosmosMySqlMariaDBPostgreSQLInMemoryDatabaseOracleFirebird达梦数据库MongoDB
应用部署KestrelNginxJexusIISApachePM2Supervisor独立发布/单文件容器(Docker/K8S/K3S/Rancher)
项目依赖
Furion
xiaonuo
Vben-Admin
k-form-design
MiniExcel
SqlSugar
IdGenerator
ua-parser
Zack.EFCore.Batch
OnceMi.AspNetCore.OSS
分层说明
├─Admin.NET.Application ->业务应用层,在此写您具体业务代码
├─Admin.NET.Core ->框架核心层,实体类
├─Admin.NET.Database.Migrations ->架构维护层,主要存放迁移中间文件
├─Admin.NET.EntityFramework.Core ->EF Core配置层,主要配置数据库及相关
├─Admin.NET.Web.Core ->Web核心层,主要是服务注册及鉴权
├─Admin.NET.Web.Entry ->Web入口层/启动层,可任意更换
├─Furion.Extras.Admin.NET ->封装的框架核心层
六、源码地址
访问一飞开源:https://code./