首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

.NET 8 + Vue/UniApp 高性能前后端分离框架

编程知识
2024年09月24日 09:58

前言

作为一名开发者,我们知道能够简化开发流程、提升工作效率的工具是至关重要的。

推荐一款前后端分离框架 Admin.NET(ZRAdmin),它不仅可以满足项目开发的需求,还应用了一些新的特性,如RBAC权限管理、SqlSugar ORM、以及Vue3的动态国际化支持,代码简洁易用。

接下来,让我们一起深入了解和学习这个项目的主要特点和优势。

项目介绍

基于 .NET5/.NET7/.NET8 实现的通用权限管理平台(采用 RBAC 模式),后端使用 SqlSugar 作为 ORM;前端则利用 Vue2.x/Vue3.x 进行开发。通过整合最新技术,本框架支持高效的前后端分离模式,真正做到开箱即用。

该项目具有代码量少、依赖关系简单的特点,易于学习与理解。其强大的功能和优秀的可扩展性,加之轻量级的设计理念,使得 Web 开发变得更加迅速高效,可以帮助大家告别加班,专注于业务逻辑的开发,轻松应对 80% 的重复工作,开启高效开发节奏。

项目特征

  • 轻量级设计,代码简洁明了,依赖项极少,仅需少量配置即可启动运行;

  • 完全响应式布局,无缝适应包括电脑、平板、手机在内的各种主流设备;

  • 高效开发模式,配置好表格信息后即可一键生成前后端数据库相关代码(包括控制器、模型、视图、菜单、Vue 组件、API 等),并支持自动生成国际化翻译文件;

  • 支持多数据源及自动分表,简易配置即可完成数据源的切换;

  • 提供细致入微的权限管理,涵盖页面级、按钮级乃至具体操作权限及数据权限;

  • 配备完善的日志记录体系,通过简单的注解即可轻松实现;

  • 内置多语言支持,包括简体中文、繁体中文及英文,扩展其他语言十分便捷;

  • 支持多个数据库库,并可通过 CodeFirst 方便地创建数据库表及执行迁移操作。

项目技术

1、后端技术

  • 核心框架:采用 .Net5.0/.Net7.0/.Net8.0 结合 Web API、SqlSugar、Swagger、SignalR、IpRateLimit、Quartz.net 和 Redis 技术。
  • 定时计划任务:使用 Quartz.Net 组件支持执行程序集或 HTTP 请求。
  • 安全支持:提供数据权限过滤、SQL 注入防护和 CSRF 保护。
  • 日志管理:集成 NLog,支持登录、操作及定时任务的日志记录。
  • 工具类:包含验证码生成及其他丰富的公共功能。
  • 接口限流:支持接口访问速率限制,防止恶意请求影响服务稳定性。
  • 代码生成:提供一键生成前后端代码的功能,提升开发效率。
  • 数据字典:支持数据字典管理,便于维护状态信息。
  • 分库分表:借助 SqlSugar ORM 轻松实现分库分表,优化性能。
  • 多租户支持:内置多租户功能,适应不同业务场景。
  • 缓存数据:支持内存缓存及 Redis 缓存方案。

2、前端技术

  • Vue 版前端技术栈基于 Vue2.x/Vue3.x,集成 Vuex、Vue-Router、Vue-CLI、Axios、Element-UI、Echarts、i18n,并支持 Vite 和 Webpack 国际化配置。前端开发采用 Visual Studio Code(VSCode)工具进行。

项目功能

1、用户管理:管理系统的操作员账户,包括用户的配置与权限设置。

2、部门管理:构建和维护系统的组织结构(如公司、部门、小组),以树形结构展示。

3、岗位管理:定义和配置用户的职位信息。

4、菜单管理:配置系统菜单及其相关的操作权限和按钮权限标识。

5、角色管理:分配角色并设置角色的菜单权限。

6、字典管理:维护系统中常用的固定数据,支持 SQL 字典、字典翻译和字典样式定制。

7、操作日志:记录并查询系统正常操作及异常信息的日志。

8、登录日志:记录并查询系统登录活动,包括登录失败的情况。

9、系统接口:使用 Swagger 自动生成 API 文档。

10、服务监控:监控系统的 CPU、内存、磁盘、堆栈等关键指标。

11、在线构建器:通过拖拽表单元素生成对应的 Vue 代码。

12、任务系统:基于 Quartz.NET 实现的任务调度,支持在线管理任务(如添加、修改、删除、手动执行)及查看执行结果日志。

13、文章管理:支持撰写和管理文章记录。

14、代码生成:一键生成前后端代码(包括 .cs、.vue、.js、SQL、UniApp 等),内置三种模板(单表、树表、主子表),并允许自定义前端展示组件。

15、参数管理:动态配置系统常用的参数。

16、邮件管理:支持给多个用户发送邮件、查询邮件状态及选择邮件模板。

17、文件管理:提供文件上传管理功能,支持本地存储及阿里云存储。

18、通知管理:发布系统通知公告,并使用 SignalR 实现实时通知。

19、账号注册:支持账号注册与登录,包括扫码登录及手机号登录(开发中)。

20、多语言管理:支持静态及动态后端配置国际化,目前提供中文、英文及繁体中文支持。

21、在线用户:查看当前在线用户,并可执行踢出或发送私信等操作。

22、DB 审计日志:记录数据库审计信息。

23、第三方登录:提供第三方登录的实现逻辑。

24、导入导出:支持中文表头导入、字典数据转换成文本导出。

25、数据大屏:更直观的展示数据。

项目展示

1、在线体验

2、PC端效果

  • 控制台

  • 系统管理

  • 系统工具

  • 系统监控

  • 数据大屏

3、H5/微信小程序

  • 菜单功能

  • 功能演示

4、移动端

项目源码

通过项目地址下载源码进行学习,可以深入了解其设计原理和实现细节。

不仅可以提升我们的编程技能,还能为我们提供一个参考案例。

项目结构具体如下:

 

  • ZR.Service[你的业务服务层类库]:提供自己业务数据Api接口调用;
  • ZR.ServiceCore [系统服务层类库]:提供系统Api接口;
  • ZR.Repository[仓库层类库]:方便提供有执行存储过程的操作; ZR.Model[实体层类库]:自己业务库表、数据传输对象;
  • ZR.Admin.WebApi[webapi接口]:为Vue版或其他三方系统提供接口服务。
  • ZR.Tasks[定时任务类库]:提供项目定时任务实现功能;
  • ZR.CodeGenerator[代码生成功能]:包含代码生成的模板、方法、代码生成的下载。
  • ZR.Vue[前端UI]:vue2.0版本UI层(已经不再更新推荐使用vue3)。
  • document[文档]:数据库脚本(弃用)

项目优势

  • 前端简化:无需编写登录、授权、认证模块,仅需专注于业务模块的开发。
  • 后端即用:后台系统无需额外的二次开发,部署后即可直接使用。
  • 前后端分离:前端与后端完全分离,支持独立的域名配置。
  • 统一异常处理:实现全局异常的集中管理与处理。
  • 代码生成:提供自定义的代码生成功能,提升开发效率。
  • 轻量级依赖:系统依赖极少,仅需数据库支持即可运行,易于上手。
  • 详尽文档:提供全面的文档支持,助力快速开发与部署。

项目地址

Github:https://github.com/izhaorui/Zr.Admin.NET

Gitee:https://gitee.com/izory/ZrAdminNetCore

文档地址:https://www.izhaorui.cn/doc/

最后

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

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

From:https://www.cnblogs.com/1312mn/p/18418452
本文地址: http://www.shuzixingkong.net/article/2259
0评论
提交 加载更多评论
其他文章 redisson内存泄漏问题排查
问题描述 最近生产有个服务突然出现频繁告警,接口P99响应时间变长,运维同学观察到相应的pod cpu飙升,内存占用很高。 cpu升高问题排查是老生常谈的话题了,一般可以使用top -p pid -H查看是哪个线程占用cpu高,再结合jstack找到对应的java线程代码。 不过经验告诉我们,cpu
redisson内存泄漏问题排查 redisson内存泄漏问题排查 redisson内存泄漏问题排查
MoNA:复用跨模态预训练模型,少样本模态的福音 | ICML'24
跨模态转移旨在利用大型预训练模型来完成可能不属于预训练数据模态的任务。现有的研究在将经典微调扩展到跨模态场景方面取得了一定的成功,但仍然缺乏对模态差距对转移的影响的理解。在这项工作中,进行了一系列关于转移过程中源表示质量的实验,揭示了更大的模态差距与较少知识重用之间的联系,这意味着转移效果不佳。然后
MoNA:复用跨模态预训练模型,少样本模态的福音 | ICML'24 MoNA:复用跨模态预训练模型,少样本模态的福音 | ICML'24 MoNA:复用跨模态预训练模型,少样本模态的福音 | ICML'24
Java 动态编译工具 Janino 和 Liquor 差别
如果你只要 Java7 及以下的语法支持,建议 Janino。如果要你想更全的 Java8、Java11、Java17、Java21 等语法,可以选 Liquor。
让人眼前一亮的开源项目「GitHub 热点速览」
时隔两周,我又带着让人眼前一亮的开源项目回来了! 告别数据线、蓝牙、WiFi 和网络,只需用手机的摄像头扫描一张动图条形码(需安装应用),就能在设备间传输文件的 libcimbar,一款无需联网和蓝牙的文件传输工具,仅用摄像头传输数据。用 Rust 编写的 PostgreSQL 数据库命令行管理工具
让人眼前一亮的开源项目「GitHub 热点速览」 让人眼前一亮的开源项目「GitHub 热点速览」 让人眼前一亮的开源项目「GitHub 热点速览」
除了递归算法,要如何优化实现文件搜索功能
大家好,我是 V 哥,今天的文章来聊一聊 Java实现文件搜索功能,并且比较递归算法、迭代方式和Memoization技术的优缺点。 以下是一个使用 Java 实现的文件搜索功能,它会在指定目录及其子目录中搜索包含特定关键字的文件。此实现使用递归方式遍历目录,并可以使用文件名或内容搜索文件。 使用递
关于异或哈希
Re:疑惑异或哈希 异或哈希是个很神奇的算法,利用了异或操作的特殊性和哈希降低冲突的原理,可以用于快速找到一个组合是否出现、序列中的数是否出现了 \(k\) 次 算法如其名,异或+哈希。 想起某首歌叫PPAP? I have a \(\oplus\),I have an \(hash\). (Uhh
关于异或哈希 关于异或哈希
python3 numpy的一些小知识点
简介 一个用python实现的科学计算,包括: 1、一个强大的N维数组对象Array; 2、比较成熟的(广播)函数库; 3、用于整合C/C++和Fortran代码的工具包; 4、实用的线性代数、傅里叶变换和随机数生成函数。 numpy和稀疏矩阵运算包scipy配合使用更加方便。NumPy(Numer
flink 大批量任务提交 yarn 失败问题
问题现象 用户迁移到新集群后,反馈他们开发平台大量 flink 任务提交失败了,当时集群的 yarn 资源是足够的 排查过程 用户是在他们的开发平台上提交的,查看他们失败的任务,发现是他们提交端主动 Kill 的,接着沟通发现他们提交平台有个逻辑就是提交到 yarn 的 flink 任务,如果在 2
flink 大批量任务提交  yarn 失败问题 flink 大批量任务提交  yarn 失败问题