.NET 8 + Vue/UniApp 高性能前后端分离框架
前言
作为一名开发者,我们知道能够简化开发流程、提升工作效率的工具是至关重要的。
推荐一款前后端分离框架 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、在线体验
- web 端体验:http://demo.izhaorui.cn/vue3
- Uniapp 版本体验(vue2):http://demo.izhaorui.cn/h5
- Uniapp 版本体验(vue3):http://demo.izhaorui.cn/uplus
- 账号密码:admin/123456 普通用户 user/123456
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技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!
.NET 8 + Vue/UniApp 高性能前后端分离框架的更多相关文章
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
List多个字段标识过滤 class Program{ public static void Main(string[] args) { List<T> list = new List& ...
- Vue+Spring Boot 前后端分离的商城项目开源啦!
新蜂商城 Vue 移动端版本开源啦! 去年开源新蜂商城项目后,就一直在计划这个项目 Vue 版本的改造,2020 年开始开发并且自己私下一直在测试,之前也有文章介绍过测试过程和存在的问题,修改完成后, ...
- Thinkphp5.0+Vue2.0前后端分离框架Vuethink
VueThink是一套基于Vue全家桶(Vue2.x + Vue-router2.x + Vuex)+ Thinkphp的前后端分离框架. 脚手架构建也可以通过vue官方的vue-cli脚手架工具构建 ...
- [原创]基于VueJs的前后端分离框架搭建之完全攻略
首先请原谅本文标题取的有点大,但并非为了哗众取宠.本文取这个标题主要有3个原因,这也是写作本文的初衷: (1)目前国内几乎搜索不到全面讲解如何搭建前后端分离框架的文章,讲前后端分离框架思想的就更少了, ...
- 前后端分离框架前端react,后端springboot跨域问题分析
前后端分离框架前端react,后端springboot跨域问题分析 为啥跨域了 前端react的设置 springboot后端设置 为啥跨域了 由于前后端不在一个端口上,也是属于跨域问题的一种,所以必 ...
- ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目
一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自 ...
- vue项目实践-前后端分离关于权限的思路
前后端分离后权限的思路 最近看到许多关于权限的思路,但好像都是使用动态加载路由的方式,现在也分享下我在项目中使用的解决方案. 前后端分离关于权限的处理每个人都不一样,根据项目选择制定合适的方案就好 我 ...
- Vue .Net 前后端分离框架搭建
[参考]IntellIJ IDEA 配置 Vue 支持 打开Vue项目 一.前端开发环境搭建 1.零基础 Vue 开发环境搭建 打开运行Vue项目 2.nodejs http-proxy-middle ...
- vue+node+mongodb前后端分离博客系统
感悟 历时两个多月,终于利用工作之余完成了这个项目的1.0版本,为什么要写这个项目?其实基于vuejs+nodejs构建的开源博客系统有很多,但是大多数不支持服务端渲染,也不支持动态标题,只是做到了前 ...
- Springboot + Vue + shiro 实现前后端分离、权限控制
本文总结自实习中对项目对重构.原先项目采用Springboot+freemarker模版,开发过程中觉得前端逻辑写的实在恶心,后端Controller层还必须返回Freemarker模版的ModelA ...
随机推荐
- C# 泛型单例工厂
核心代码,线程安全 class SingletonFactory<T> where T : new() { private static T uniqueInstance; private ...
- 张高兴的 MicroPython 入门指南:(三)使用串口通信
目录 什么是串口 使用方法 使用板载串口相互通信 硬件需求 电路 代码 使用板载的 USB 串口 参考 什么是串口 串口是串行接口的简称,这是一个非常大的概念,在嵌入式中串口通常指 UART(Univ ...
- Jmeter函数助手39-isPropDefined
isPropDefined函数用于判断属性是否存在. 变量的名称:填入属性名.如果属性名存在返回true,如果不存在返回false 1.jmeter的属性查看路径:测试计划右键"添加&quo ...
- 很好用的python游戏环境(续2):强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个python语言的迷宫游戏环境
相关前文: 很好用的python游戏环境(续):强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个python语言的迷宫游戏环境 项目的GitHub地址: https://gith ...
- 【转载】 ubuntu18.04/22.04 cmake版本 更新方法
版权声明:本文为CSDN博主「问题生产商」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/github_3958 ...
- python3.13是否移除了GIL的限制
近日看到新闻: https://baijiahao.baidu.com/s?id=1773013936355276204&wfr=spider&for=pc https://www.t ...
- VSCODE远程调试中如何开启X11转发实现APP屏幕转发
本文所要做的事情不做过多解释,本文前提是使用本地window10上的VScode远程调试Ubuntu上的代码,在该过程中我们需要查看可视化显示,为此我们使用VSCODE插件来实现X11转发. VSco ...
- Ubuntu22.04系统安装DeepMind Lab
相关资料: DeepMind Lab的一些python例子-----(Ubuntu22.04系统安装DeepMind Lab)后续 ================================== ...
- 零基础学习人工智能—Python—Pytorch学习(三)
前言 这篇文章主要两个内容. 一,把上一篇关于requires_grad的内容补充一下. 二,介绍一下线性回归. 关闭张量计算 关闭张量计算.这个相对简单,阅读下面代码即可. print(" ...
- abc366-cnblog
[E](E - Manhattan Multifocal Ellipse (atcoder.jp)) 解题思路 这题求的是满足\(\sum^n_{i=1}(|x-x_i|+|y-y_i|)\leq D ...