
后台按钮级权限管理系统-全栈实战保姆级教程
文章平均质量分 82
该系统使用Vue 3、Vite、TS、Spring Boot 3、Spring Cloud 2023、Spring Cloud Alibaba 2023、Spring Security、Vagrant、Docker、MySql、Redis等技术。旨在记录一个按钮级权限控制后台管理系统全栈开发过程。
^yumi^
这个作者很懒,什么都没留下…
展开
-
第十一章 【前端】Axios
官网:https://axios-http.com/zh/docs/intro。模块, 而在客户端 (浏览端) 则使用。的(即同一套代码可以运行在浏览器和。原创 2024-09-30 23:27:16 · 454 阅读 · 0 评论 -
第十一章 【前端】调用接口(11.1)——Vite 环境变量
Vite。原创 2024-09-29 22:06:17 · 296 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务(10.12)——Gateway
网关核心功能是路由转发,还可以做统一的熔断、限流、认证、日志监控等,我们主要用来做路由转发。单体应用拆分成多个服务后,对外需要一个统一入口,解耦客户端与内部服务。注册服务名转发,实现微服务集群负载均衡。和负载均衡均转发成功。配置 pom.xml。,配置为以服务名访问。原创 2024-09-28 17:46:58 · 495 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务(10.11)——Nacos 配置中心
在分布式微服务架构中,由于微服务数量多 ,且每个微服务都有自己的配置文件,每个微服务又要准备开发环境、测试环境、正式环境。假设某系统有10个微服务,每个微服务配置三个环境(这么多配置文件管理起来相当麻烦,稍有不慎就可能出现改错了、不生效等问题。所以一套集中式的、动态的配置管理功能是必不可少的,在。文件内容到配置内容框中,删除微服务应用名称、注册中心相关内容,点击发布。中集成了分布式配置中心组件来解决这个问题。点击 配置管理 > 配置列表 > 创建配置。仅保留与注册、配置相关的内容。原创 2024-09-27 21:50:03 · 410 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务(10.10)——Nacos 注册中心
根据 https://github.com/alibaba/spring-cloud-alibaba/blob/2023.x/pom.xml ,选用合适的。服务列表中显示商品微服务注册上来的服务信息。点击右上角【加载 Maven 变化】按钮导包。原创 2024-09-26 21:50:06 · 276 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务(10.9)——商品分类增删改查接口
删除分类(DELETE)新增分类(POST)原创 2024-09-25 23:20:58 · 238 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务 > 分类列表查询接口(10.8.3)——MyBatis-Plus 逻辑删除
参考:https://baomidou.com/pages/6b03c5/按11.5节重新创建数据表或直接修改数据表结构。原创 2024-09-24 07:30:36 · 541 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务 > 分类列表查询接口(10.8.2)——MyBatis-Plus 自动填充
参考:https://baomidou.com/pages/4c6bcf/拦截,对实体对象属性值进行填充,实体对象的属性值优先于填充值(方式二:给对象赋默认值,更新时自动填充(本案)视作无值,将属性想象为一个水桶易于理解)。方式一:插入更新均自动填充。原创 2024-09-23 17:51:38 · 1166 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务 > 分类列表查询接口(10.8.1)——接口实现
的自动转换,又可以实现前端。修改"开发环境"前置。原创 2024-09-22 08:28:03 · 1294 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务(10.7)——公共模块
很多查询接口都有分页功能,而分页查询都需要至少接收请求两个参数:当前页码。为了减少代码的重复,所以当前创建一个请求参数基础类。对数据库操作,而它提供了对应的分页功能,要将。,通过这两个请求参数可以获取到每页查询的记录。接收实体类,对应的对哪个表进行分页。对象中,它就能够自动实现分页。和每页显示多少条记录。用于存放公共服务类。原创 2024-09-21 07:36:22 · 438 阅读 · 0 评论 -
第十章 【后端】商品分类管理微服务(10.6)——创建商品分类数据库
类型(参考:https://baomidou.com/pages/779a6e/);为了提高插入效率,除了要设置自动增长的主键外,其余字段均不设置默认值,交由程序控制。逻辑字段(如状态位、删除位)要设置成。双击主键,设置主键自增。原创 2024-09-20 08:56:01 · 444 阅读 · 0 评论 -
第十一章 【后端】商品分类管理微服务(11.5)——增强响应
这样,理论上已经实现了我们所想要的统一后端响应格式了,但是我们每写一个接口都要调用。结构,造成不一致,因此我们需要将响应格式统一起来,定义一个统一的标准响应格式。在前后端分离的开发模式下,我们一般会统一后端的响应格式,比如自定义。来包装返回结果,还是很繁琐。接下来我们就来增强它。注解,在类或方法上标注这个注解,则原始结果响应。结构,但每个开发者可能会封装各自的。系统默认增强结果响应。要想优化上节提到的问题,需要借助。则是对返回的数据进行处理。方法用来判断是否支持。原创 2024-09-19 14:53:44 · 594 阅读 · 0 评论 -
第十一章 【后端】商品分类管理微服务(11.4)——spring-boot-devtools
相关issues:https://github.com/spring-projects/spring-boot/issues/25269、https://github.com/spring-projects/spring-boot/issues/12760。提供的一组易于使用的工具,旨在加速开发和测试过程。它通过提供一系列实用的功能,如自动重启、实时属性更新、依赖项的热替换等,极大地提高了开发者的开发效率。按照上述分析,添加类和删除类则不会出现两次重新启动,经测试确实如此。文件被删除,于是触发重新启动。原创 2024-09-18 08:51:12 · 565 阅读 · 0 评论 -
第十一章 【后端】商品分类管理微服务(11.3)——商品管理模块 yumi-etms-goods
点击右上角【加载 Maven 变化】按钮导包。包下,为了微服务之间调用。==注意:==启动类放在。原创 2024-09-17 12:36:10 · 458 阅读 · 0 评论 -
第十一章 【后端】商品分类管理微服务(11.2)——Lombok
代码的臃肿,编译时它会在字节码文件中自动生成这些通用的方法,简化开发人员的工作。方法,生成构造函数(如果存在显式构造函数,则不生成任何构造函数),生成。官网:https://projectlombok.org/工具提供一系列的注解,使用这些注解可以不用定义。生成具有必需参数的构造函数。方法忽略此前缀(遵守驼峰命名)。生成包含所有属性的构造方法。字段和具有约束的字段,例如。日志对象,方法中可直接使用。类型的参数,若设置,则。原创 2024-09-16 07:31:45 · 794 阅读 · 0 评论 -
第十一章 【后端】商品分类管理微服务(11.1)——创建父工程
例子:吃面时候,筷子、碗这样的东西都是必须的,不过这些一般是店家给顾客备好,不需要顾客自带。例子:吃面时候,酱油就是可选的,加不加都不会影响面的正常使用。具有此范围的依赖项将添加到用于编译和测试的类路径中,但不会添加到运行时类路径中。由于它们被替换,具有导入范围的依赖关系实际上并不参与限制依赖关系的传递性。在运行时和测试类路径中包含了一个具有此作用域的依赖项,但在编译类路径中没有。依赖范围用于限制依赖的传递性,并确定何时将依赖包含在类路径中。作为所有模块的父工程,管理项目的所有依赖版本。原创 2024-09-15 07:38:13 · 975 阅读 · 0 评论 -
第十章 【后端】环境准备(10.11)——IntelliJ IDEA
参考: https://www.jetbrains.com/help/idea/reference-keymap-win-default.html。==注意:==一定要选。另外打开一个终端窗口。一路“下一步”即可。原创 2024-09-14 08:40:33 · 439 阅读 · 0 评论 -
第十章 【后端】环境准备(10.10)——Nacos
参考:https://github.com/nacos-group/nacos-docker/blob/master/README_ZH.md。参考:https://docs.docker.com/compose/install/standalone/下载地址:https://nacos.io/download/nacos-server/启动(standalone代表着单机模式运行,非集群模式)安装方式是将数据持久化到数据库中的,这里的部署是单机模式。原创 2024-09-13 09:39:20 · 671 阅读 · 0 评论 -
第十章 【后端】环境准备(10.9)——Navicat
下载地址:https://www.navicat.com.cn/download/navicat-premium-lite。一路“下一步”即可。连接 `MySql’原创 2024-09-12 11:28:08 · 540 阅读 · 0 评论 -
第十章 【后端】环境准备(10.8)——PowerDesigner
官网:https://www.powerdesigner.biz/因 16.7 版本有诸多问题,我们安装 16.5 版本。原创 2024-09-11 07:59:38 · 365 阅读 · 0 评论 -
第十章 【后端】环境准备(10.7)——MySql
v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机。-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机。-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机。-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。下载地址:https://www.mysql.com/downloads/一路“下一步”即可。原创 2024-09-10 08:08:20 · 643 阅读 · 0 评论 -
第十章 【后端】环境准备(10.6)——Redis
Redis 尚未在 Windows 上得到正式支持,推荐。原创 2024-09-09 08:45:37 · 819 阅读 · 0 评论 -
第十章 【后端】环境准备(10.5)——Docker
Docker 安装文档:https://docs.docker.com/install/linux/docker-ce/centos/测试 docker 常用命令,注意切换到 root 用户下。配置 docker 镜像加速。安装 Docker-CE。原创 2024-09-08 07:19:39 · 1212 阅读 · 0 评论 -
第十章 【后端】环境准备(10.4)——Vagrant
目录下,若用户文件夹在C盘,下载的镜像文件会大量占用C盘空间。在本例列表没有找到该镜像,则从配置文件中指定的地址下载,否则直接启动虚拟机。国内访问速度太慢,我们要在命令后边加上国内镜像地址。会将镜像保存到环境变量指定的文件夹下。,512M内存,根据物理机配置适当扩容。默认将镜像保存在用户文件夹的。文件夹,在该文件夹下打开运行。释放第34行注释,指定虚拟系统。源为国内镜像,加快软件下载速度。下载镜像并启动虚拟机。原创 2024-09-07 08:23:46 · 1071 阅读 · 0 评论 -
第十章 【后端】环境准备(10.3)——VirtualBox
要开启 CPU 虚拟化。是一款开源虚拟机软件。公司出品的软件,使用。原创 2024-09-06 08:34:25 · 417 阅读 · 0 评论 -
第十章 【后端】环境准备(10.2)——Maven
仓库:https://mvnrepository.com/官网:https://maven.apache.org/版本,则表示安装设置成功。在非系统盘上创建仓库目录。原创 2024-09-05 07:36:39 · 357 阅读 · 0 评论 -
第十章 【后端】环境准备(10.1)——JDK
下载网址:https://www.oracle.com/cn/java/technologies/downloads/版本,则表示安装设置成功。根据自己需要设置安装路径。原创 2024-09-04 07:35:00 · 409 阅读 · 0 评论 -
第九章 【中端】 Apifox
参考网址:https://apifox.com/help/api-docs/api-designHTTP接口是指一种基于HTTP协议进行通信的应用程序接口。它是一种标准、通用的协议,用于传输各种类型的数据。它通常被用作Web应用程序、移动应用程序以及其他客户端程序与服务器之间进行数据交换的方式。通过HTTP接口,客户端程序可以与服务器进行通信,并请求或提交数据。服务器在接收到请求后,返回基于HTTP协议的响应数据。几乎所有Web应用程序和移动应用程序都需要通过HTTP接口与后端服务器进行数据交互。原创 2024-09-03 06:09:29 · 181 阅读 · 0 评论 -
第八章 【前端】Mock.js(8.3)——数据占位符定义规范 DPD
DPD是一个工具类,用于生成各种随机数据。类中的方法在数据模板中称为『占位符』,书写格式为@占位符(参数 [, 参数])。'属性名' : @占位符Type(类型)Method(占位符)Basicbooleannatural(自然数,大于等于 0 的整数),integerfloatcharacterstringrange(整型数组)。Datedate(年月日),time(时分秒),datetime(年月日时分秒)ImageColorcolorTextNameWebAddress。原创 2024-09-02 08:52:30 · 624 阅读 · 0 评论 -
第八章 【前端】Mock.js(8.2)——数据模板定义规范 DTD
DTD// '属性名|生成规则': 属性值 'name|rule' : value属性名和生成规则之间用竖线 | 分隔。生成规则是可选的,生成规则有7种格式:生成规则的含义需要依赖属性值的类型才能确定。属性值中可以含有@占位符。属性值指定了最终值的初始值和类型。原创 2024-09-01 08:16:52 · 552 阅读 · 0 评论 -
第八章 【前端】Mock.js(8.1)——安装测试
Mock.js。原创 2024-08-31 06:42:07 · 528 阅读 · 0 评论 -
第七章 项目布局实现(7.5.4)——404 未找到页面
【代码】第七章 项目布局实现(7.5.4)——404 未找到页面。原创 2024-08-30 06:34:26 · 73 阅读 · 0 评论 -
第七章 项目布局实现(7.5.3)——401 无权限页面
【代码】第七章 项目布局实现(7.5.3)——401 无权限页面。原创 2024-08-30 06:31:41 · 73 阅读 · 0 评论 -
第七章 项目布局实现(7.5.2)——外链跳转页面
【代码】第七章 项目布局实现(7.5.2)——外链跳转页面。原创 2024-08-30 06:30:03 · 199 阅读 · 0 评论 -
第七章 项目布局实现(7.5.1)——页面缓存
参考:https://router.vuejs.org/zh/guide/advanced/router-view-slot.html#KeepAlive-Transition。参考:https://cn.vuejs.org/api/sfc-script-setup.html#defineoptions。,则在来回切换路由时对应组件会被缓存。会根据文件名,自动推导出。但有时候我们需要手动指定。在路由渲染出口设置缓存页面。宏, 可以用来直接在。中声明组件选项,包括。原创 2024-08-29 08:26:18 · 203 阅读 · 0 评论 -
第七章 项目布局实现(7.4.7)——自定义主题
=强烈建议:==在模板中不要配置与颜色有关的样式,否则自定义主题不生效很难排错。明亮模式新建),修改添加按钮观察效果</</</</</若要对其他需要修改的主题颜色进行修改,可查询,按照上述方法对相应变量进行重写。暗黑模式新建),修改效果若要对其他需要修改的主题颜色进行修改,可查询,按照上述方法对相应变量进行重写。我们暂时使用默认主题,注释掉导入行。原创 2024-08-28 06:44:42 · 313 阅读 · 0 评论 -
第七章 项目布局实现(7.4.6)——暗黑模式切换功能
参考:https://cn.element-plus.org/zh-CN/guide/dark-mode.html。参考:https://vueuse.org/core/useDark/版本支持暗黑模式,导入暗黑样式文件,然后在。观看控制台,切换暗黑模式,浏览器会自动在。的类名即可切换为暗黑模式。原创 2024-08-27 14:22:37 · 446 阅读 · 0 评论 -
第七章 项目布局实现(7.4.5)——ElementPlus 自定义命名空间
参考:https://cn.element-plus.org/zh-CN/guide/namespace.html提供的默认命名空间为el。在特殊情况下,我们需要自定义命名空间。我们使用sass书写样式,必须同时设置和。设置原创 2024-08-26 09:14:31 · 1041 阅读 · 0 评论 -
第七章 项目布局实现(7.4.4)——全屏功能
参考:https://vueuse.org/core/useFullscreen/官网:https://vueuse.org/的实用工具集,功能非常丰富。原创 2024-08-25 08:13:08 · 775 阅读 · 0 评论 -
第七章 项目布局实现(7.4.3)——导航面包屑实现
/ 过滤出当前有 meta.tilte 且 isBreadcrumb 不为 false 的路由对象。,可获取当前路由的上N级路由对象,然后将数据渲染到面包屑处。// 获取当前路由的面包屑(meta.title)// 点击面包屑的某标题跳转。获取当前页面路由对象。// 面包屑渲染数据。// 路由更新前触发。原创 2024-08-23 09:23:13 · 125 阅读 · 0 评论