.NET 8.0 前后分离快速开发框架

news/2024/9/22 4:52:43/文章来源:https://www.cnblogs.com/1312mn/p/18387692

前言

大家好,推荐一个.NET 8.0 为核心,结合前端 Vue 框架,实现了前后端完全分离的设计理念。它不仅提供了强大的基础功能支持,如权限管理、代码生成器等,还通过采用主流技术和最佳实践,显著降低了开发难度,加快了项目交付速度。

如果你需要一个高效的开发解决方案,本框架能帮助大家轻松应对挑战,实现业务目标。

项目介绍

YuebonCore 是一款基于 .NET 8.0 的现代化权限管理及快速开发框架,专为前后端分离设计。它集成了组织机构管理、角色用户管理、权限分配、多系统和多应用支持、定时任务调度、业务单据编码规则以及代码生成器等核心模块,为开发者提供了一站式的开发体验。

该框架充分利用了最新的技术栈,包括 ASP.NET Core MVC、SqlSugar ORM、WebAPI、Swagger 文档自动生成工具以及 Vue.js 前端框架,确保了开发过程中的高效与便捷。

YuebonCore 架构简洁、易用性强,非常适合中小规模项目的快速启动与迭代。

功能特点

  • 开源许可:采用 MIT 许可协议,完全开源。
  • 主流框架:基于流行技术栈,易于学习和使用。

  • 二次开发:支持灵活的定制化开发,满足大多数项目需求。

  • 代码生成器:减少 70% 的重复编码工作,提高开发效率。

  • 精细权限控制:导航菜单与功能按钮级权限管理。

  • 数据权限管理:精确控制数据访问范围,如部门、组或公司级别。

  • 常用类封装:日志、缓存、验证等功能模块。

适用范围

适用范围广泛,可用于开发包括 OA、ERP、BPM、CRM、WMS、TMS、MIS、BI、电商平台后台、物流管理系统、快递管理系统以及教务管理系统在内的各类管理软件。

内置功能

1、系统设置:对系统动态配置常用参数。

2、用户管理:用户是系统操作者,该功能主要完成系统用户配置。

3、组织机构:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。

4、角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。

5、字典管理:对系统中经常使用的一些较为固定的数据进行维护。

6、功能模块:配置系统菜单,操作权限,按钮权限标识等。

7、定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。

8、代码生成:前后端代码的生成(.cs、.vue、.js)代码。

9、日志管理:系统正常操作日志、登录日志记录和查询;系统异常信息日志记录和查询。

10、多应用管理:支持应用调用 api 授权控制。

11、多系统管理:实现各子系统的统一管理和授权。

13、业务单据编码规则:可以按常量、日期、计数、时间等自定义业务单据编码规则。

14、短信和邮件:集成腾讯云短信通知和 EMail 发送通知

15、支持租户模式

16、支持用户定义主题风格

17、支持一主多从数据库读写分离

项目技术

前端目前采用 Vue 独立前端和 ASP.NET Core MVC 模式,使用的技术栈有些区别,后期将侧重于 Vue 端的优化运维。

1、前端技术

基于 Vue3、Vite、Vuex、Vue-router 、Vue-cli 、axios 和 element-plus

前端采用 VS Code 工具开发

2、传送门

element-plus 官网

https://element-plus.org/#/zh-CN

vue-element-admin

https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/

3、后端技术

  • 核心框架:.NET 8.0 +SqlSugar + AutoMapper + WebAPI + swagger
  • 定时计划任务:Quartz.Net 组件
  • 安全支持:过滤器、Sql 注入、请求伪造
  • 服务端验证:实体模型验证、自己封装 Validator
  • 缓存框架:微软自带 Cache、Redis
  • 日志管理:Log4net、登录日志、操作日志
  • 工具类:NPOI、MiniProfiler 性能分析、验证码、丰富公共功能

项目结构

Yuebon.NetCore 解决方案包含

  • Yuebon.Commons[基础类库]:包框架的核心组件,包含一系列快速开发中经常用到的 Utility 辅助工具功能,框架各个组件的核心接口定义,部分核心功能的实现;

  • Yuebon.Security.Core[权限管理类库]:以 Security 为基础实现以角色-功能、用户-功能的功能权限实现,以角色-数据,用户-数据的数据权限的封装

  • Yuebon.AspNetCore[AspNetCore 类库],提供 AspNetCore 的服务端功能的封装,支持 webapi 和 webmvc 模式,同时支持插件式开发;

  • Yuebon.WebApp[管理后台]:基于 aspnet core mvc 实现了权限管理和 CMS 部分管理后台。

  • Yuebon.Cms.Core[CMS 基础类库],包含文章管理、广告管理等内容,以此做案例给大家开发参考

  • Yuebon.WebApi[webapi 接口]:为 Vue 版或其他三方系统提供接口服务。

DataBase 是最新数据库备份文件,目前支持 MS SQL Server 和 MySql。

项目效果

1、管理平台体验地址:http://default.ts.yuebon.com 有租户管理模块

2、测试租户体验地址:http://tenant1.ts.yuebon.com 无租户管理模块

体验账号密码均为:admin/admin888

登录页面

系统模块和功能管理

角色管理

代码生成器 支持一键生成服务端代码和前端代码,复制粘贴简单快速高效实现功能

项目地址

Gitee:https://gitee.com/yuebon/YuebonNetCore

WebAPI:http://netcoreapi.ts.yuebon.com

官方文档:http://docs.v.yuebon.com/

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/790924.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一维卡尺边缘对

一、代码部分* 一维卡尺 边缘对read_image (Image, printer_chip/printer_chip_01)*打开助手操作生成代码* Measure 02: Code generated by Measure 02 * Measure 02: Prepare measurement AmplitudeThreshold := 40 RoiWidthLen2 := 5 set_system (int_zooming, true) * Measu…

mongodb 集合的导入导出

在新版本的mongodb中已经不默认安装这些工具,需要到mongodb网站单独下载 https://www.mongodb.com/try/download/database-tools 下载完成后使用scp D:\mongodb-tools.tgz root@8.143.49.192:/home/mongodb_tools.tgz命令将文件复制到linux服务器用 tar -zxvf demo.tar.gz -C …

nginx 版本升级 转载

Nginx 的版本最开始使用的是 Nginx-1.18.0 , 由于服务升级,需要将 Nginx 的版本升级到 Nginx-1.19.7 ,要求 Nginx 不能中断提供服务。 为了应对上述的需求,提供两种解决方案: 方案1: make upgrade 完成升级方案2: 服务信号 完成升级nginx 版本升级环境说明当前是 CentOS…

如何从 AWS CodeCommit 迁移到极狐GitLab?

本文将分享如何从 AWS CodeCommit 服务无缝迁移到极狐GitLab,并且使用极狐GitLab 的一体化 DevSecOps 平台功能来进行软件研发。2024 年 7 月 25 日,AWS 官方发布了一则重要通知:旗下的代码托管服务 AWS CodeCommit 服务将不再接受新用户的注册,老用户可以继续使用,但是该…

【验证码逆向专栏】某某邮政滑块逆向分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术…

PyTorch从入门到放弃之张量模块

目录张量的数据类型torch.rand()函数torch.randn()函数torch.normal()函数torch.linspace()函数torch.manual_seed()函数torch.ones()、torch.zeros()、torch.eye()张量的基本操作增加和删除维度交换维度拼接和分割堆叠和分解索引和切片基本数学运算元素求和按索引求和元素乘积…

Windows + macOS n合一 安装U盘制作

还不会制作MacOS多合一+Windows系统U盘?分享一个制作macOS和Windows双系统U盘的方法,macOS系统以macOS10.15.7和11.5.2为例(12和13制作方法一样,只是制作的命令不一样,Window PE系统以微PE为例子,准备工作如下: 1、第一步准备好一个32GU盘; 2、准备一台Windows电脑; …

推荐分享一个好用的api测试工具

Packer-Fuzzer 随着WEB前端打包工具的流行,在日常渗透测试、安全服务中是否遇到越来越多以Webpack打包器为代表的网站?这类打包器会将整站的API和API参数打包在一起供Web集中调用,这也便于我们快速发现网站的功能和API清单,但往往这些打包器所生成的JS文件数量异常之多并且…

电商API接口对接:打造高效、稳定、安全的数字商业链

https://img2024.cnblogs.com/blog/3506472/202409/3506472-20240902100747324-1465861685.png在数字化浪潮的推动下,电商API接口已成为连接电商平台与商家后台系统的重要桥梁。然而,随着数据量的激增和业务需求的多样化,如何在对接过程中确保高效性、稳定性和安全性,成为了…

k8s CSI 插件注册原理

目录一、CSI Driver 如何注册到 kubelet 的1、启动 CSI Node Server2、启动 Node Driver Registrar3、Node Driver Registrar 获取 CSI Plugin 信息4、Kubelet 发现 Node Driver Registrar5、Kubelet 获取 Node Server 信息6、更新 Node 和 CSINode 对象7、通知注册状态 一、CS…