百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

基于Net6的开源通用管理平台,支持Saas模式

ccwgpt 2024-10-26 08:39 43 浏览 0 评论

Admin.NET简介

  • 基于.NET 6实现的通用管理平台。整合最新技术,模块插件式开发前后端分离,开箱即用;
  • 后台基于Furion框架,前端基于vue2;
  • 集成EF Core、多租户、缓存、数据校验、鉴权、事件总线、动态API、通讯、远程请求、任务调度、gRPC等众多黑科技;
  • 核心模块包括:用户、角色、职位、组织机构、菜单、字典、日志、应用管理、文件管理、定时任务等功能;
  • 代码简洁、易扩展!

模块/插件化开发

  • 按照 Furion 框架脚手架或者本框架脚手架初始化工程;
  • 创建自己业务的 Dll 插件库工程,引用 Furion.Extras.Admin.NET 包,编写自己的业务代码包括实体、服务等;
  • 在 XXX.Web.Entry 层里面的 appsettings.json 配置此插件 Dll 的路径;
  • 此时框架和自己业务实体可以同时做数据迁移,耦合度最低。也可以自行将数据库分系统库、业务库等;
  • 将自己业务前端代码包括view和api文件复制到前端工程相应目录即可。

多租户简介

框架目前采用基于共享数据库TenantId的方式实现,后期可无缝迁移转换到基于多库或者Schema模式。

  • 平台超管对租户进行增删改查操作,对各租户进行权限(菜单)的分配;
  • 租户管理员根据平台分配的权限再对本租户内用户进一步权限划分;
  • 针对新开发的业务功能,平台超管可以针对性分配给各租户(比如某租户购买后才有此功能菜单等)

分层说明

├─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           ->封装的框架核心层

快速安装

  1. 使用git下载源码
git clone https://gitee.com/zuohuaijun/Admin.NET.git

源代码结构如下图所示,backend文件夹为服务端程序源码,frontend文件夹为前端程序源码。

2.数据库初始化

项目默认是SqlLite数据库,使用其他数据库可通过基于EF Core的CodeFirst初始化,这里我们采用MySql5.7来进行初始化。

使用vs2022打开服务端源码,Admin.NET.EntityFramework.Core项目下修改dbsettings.Development.json配置文件下的DefaultConnection(业务数据库)和MultiTenantConnection(租户数据库)两项数据库连接字符串和账户密码。

修改DefaultDbContext.cs(业务数据库上下文)和MultiTenantDbContext.cs(租户数据库上下文)中的DbProvider为MySql,并使用nuget安装对应的包:Pomelo.EntityFrameworkCore.MySql。

设置项目启动项为Admin.NET.Web.Entry,默认项目为Admin.NET.Database.Migrations

手动创建两个空数据库并依次执行如下命令初始化数据库,等待初始化成功。

    Add-Migration Init -Context DefaultDbContext
    update-database Init -Context DefaultDbContext 
    Add-Migration Init -Context MultiTenantDbContext
    update-database Init -Context MultiTenantDbContext

3.服务端运行

编译Admin.NET.Web.Entry项目,成功后进入编译程序,执行命令运行服务端(前端默认连接的服务端端口为5566)。

dotnet Admin.NET.Web.Entry.dll --urls="http://*:5566"

4.前端编译运行

前端默认端口为81

npm install
npm run start

启动成功后访问http://localhost:81

  • 超级管理员:superAdmin
  • 系统管理员:admin
  • 普通用户:zuohuaijun
  • 以上默认密码:123456

系统通用的功能主要有

  1. 主控面板、控制台页面,可进行工作台,分析页,统计等功能的展示。
  2. 用户管理、对企业用户和系统管理员用户的维护,可绑定用户职务,机构,角色,数据权限等。
  3. 应用管理、通过应用来控制不同维度的菜单展示。
  4. 机构管理、公司组织架构维护,支持多层级结构的树形结构。
  5. 职位管理、用户职务管理,职务可作为用户的一个标签,职务目前没有和权限等其他功能挂钩。
  6. 菜单管理、菜单目录,菜单,和按钮的维护是权限控制的基本单位。
  7. 角色管理、角色绑定菜单后,可限制相关角色的人员登录系统的功能范围。角色也可以绑定数据授权范围。
  8. 字典管理、系统内各种类型的维护。
  9. 访问日志、用户的登录和退出日志的查看和管理。

10. 操作日志、用户操作业务的日志的查看和管理。

11. 服务监控、服务器的运行状态,CPU、内存、网络等信息数据的查看。

12. 在线用户、当前系统在线用户的查看。

13. 公告的管理、系统的公告的管理。

14. 文件管理、文件的上传下载查看等操作,文件可使用本地存储,阿里云oss,腾讯cos接入,支持拓展。

15. 定时任务、定时任务的维护,通过cron表达式控制任务的执行频率。

16. 系统配置、系统运行的参数的维护,参数的配置与系统运行机制息息相关。

17. 邮件发送功能。

18. 短信发送、短信发送功能,可使用阿里云sms,腾讯云sms,支持拓展。

Admin.NET 遵循 Apache-2.0 开源协议。

相关推荐

土豪农村建个别墅不新鲜 建个车库都用框架结构?

农村建房子过去都是没车库,也没有那么多豪车,一般直接停在路边或者院子里。现在很多人都会在建房子的时候留一个车库,通过车库可以直接进入客厅,省得雨雪天气折腾。农村土豪都是有钱任性,建房子跟我们普通人不一...

自建框架结构出现裂缝怎么回事?

三层自建房梁底与墙体连接处裂缝是结构问题吗?去前帮我姑画了一份三层自建房的图纸,前天他们全部装修好了。我姑丈突然打电话给我说他发现二层的梁底与墙分离了,有裂缝。也就是图纸中前面8.3米那跨梁与墙体衔接...

钢结构三维图集-框架结构(钢柱对接)

1、实腹式钢柱对接说明1:1.上节钢柱的安装吊点设置在钢柱的上部,利用四个吊点进行吊装;2.吊装前,下节钢柱顶面和本节钢柱底面的渣土和浮锈要清除干净,保证上下节钢柱对接面接触顶紧;3.钢柱吊装到位后...

三层框架结构主体自建房设计案例!布局13*12米占地面积156平米!

绘创意设计乡村好房子设计小编今日头条带来分享一款:三层框架结构主体自建房设计案例!布局13*12米占地面积156平米!本案例设计亮点:这是一款三层新中式框架结构自建房,占地13×12米,户型占地面积...

Casemaker机箱框架结构3D图纸 STEP格式

农村自建房新宠!半框架结构凭啥这么火?内行人揭开3个扎心真相

回老家闲逛,竟发现个有意思的现象:村里盖新房,十家有八家都选了"半框架结构"。隔壁王叔家那栋刚封顶的二层小楼,外墙红砖还露着糙面没勾缝,里头的水泥柱子倒先支棱得笔直,这到底是啥讲究?蹲...

砖混结构与框架结构!究竟有何区别?千万别被坑!

农村自建房选结构,砖混省钱但出事真能保命吗?7月建材价格波动期,多地建房户因安全焦虑陷入选择困境——框架结构虽贵30%,却是地震区保命的关键。框架柱和梁组成的承重体系,受力分散得像一张网。砖混靠墙硬扛...

砖混结构与框架结构,究竟有何区别?千万别被坑!

农村建房选砖混结构还是框架结构?这个问题算是近期留言板里问得最多的问题了。今天咱们说说二者的区别,帮您选个合适的。01成本区别假如盖一栋砖混结构的房子需要30万,那么换成框架结构,一般要多掏30%的费...

6个小众却逆天的App神器,个个都是黑科技的代表

你的手机上有哪些好用的软件?今天我就给大家分享6个小众却逆天的App神器,个个都是黑科技的代表!01*Via浏览器推荐理由:体积极小的浏览器,没有任何广告。使用感受:它的体量真的很小,只有702KB,...

合肥App开发做一个app需要多少钱?制作周期有多久?

在移动互联网时代,开发一款APP已成为企业数字化转型与个人创业的重要途径。然而,APP的开发成本与制作周期受功能复杂度、技术架构、团队类型等多重因素影响,差异极大。好牛软件将从这两个维度展开分析,帮助...

详解应对App臃肿化的五大法则

编者注:本文转自腾讯ISUX。先来看一张图:图上看到,所有平台上用户花费时间都在减少,除了移动端。观察身边也是如此,回家不开电脑的小伙伴越来越多。手机平板加电视,下班场景全搞定。连那些以前电脑苦手的...

实战!如何从零搭建10万级 QPS 大流量、高并发优惠券系统

需求背景春节活动中,多个业务方都有发放优惠券的需求,且对发券的QPS量级有明确的需求。所有的优惠券发放、核销、查询都需要一个新系统来承载。因此,我们需要设计、开发一个能够支持十万级QPS的券系...

8种移动APP导航设计模式大对比

当我们确定了移动APP的设计需求和APP产品设计流程之后,开始着手设计APP界面UI或是APP原型图啦。这个时候我们都要面临的第一个问题就是如何将信息以最优的方式组合起来?也许我们对比和了解了其他一些...

数字资产支付 App 的技术框架

开发一款功能强大、安全可靠的数字资产支付App需要一个整合了区块链技术、后端服务、前端应用以及第三方集成的全栈技术框架。这个框架的核心在于保障数字资产的安全流通,并将其高效地桥接到传统的法币支付场...

从MyBatis到App架构:设计模式全景应用指南

从MyBatis到App架构:设计模式全景应用指南引言在企业级应用和服务端开发领域,MyBatis凭借其灵活、简洁、强大的ORM映射能力被广泛应用。而它之所以能拥有如此优秀的可扩展性和工程可维护性,正...

取消回复欢迎 发表评论: