程序员诚哥
开源项目ruoyi-wms、ruoyi-mall、ruoyi-fast-service作者
展开
-
若依ruoyi-vue前端页签缓存设置
在路由配置中,为需要缓存的路由设置。原创 2024-04-24 10:00:00 · 4237 阅读 · 0 评论 -
ruoyi-vue若依前端是如何防止接口重复请求
防止接口重复请求是为了避免用户在短时间内多次点击同一个按钮,导致后端接口被多次调用,引发数据异常或性能问题。之前的文章介绍过后端如何防止接口重复请求,这篇文章介绍一下前端如何防止接口重复提交。原创 2024-09-20 11:41:04 · 1227 阅读 · 0 评论 -
若依vue根据字典Dict的value获取Label,类似于通过key获得value
项目需求需要根据字典的value来获取label进行展示,若依提供了selectDictLabel, selectDictLabels两个方法通过value获取label。原创 2022-09-27 16:19:35 · 7843 阅读 · 1 评论 -
若依ruoyi-vue中图标使用介绍
该组件是在src\assets\icons\index.js文件中被注册为全局组件的,可以在项目任意地方使用。所有的图标都在src\assets\icons\svg目录下。可自行添加或者删除图标,所有图标都会被自动导入,无需手动操作。如果你是从 iconfont 下载的图标,记得使用如 Sketch 等工具规范一下图标的大小问题,不然可能会造成项目中的图标大小尺寸不统一的问题。本项目中使用的图标都是 128*128 大小规格的。你可以改变父级的color或者直接改变fill的颜色即可。原创 2024-04-24 08:43:53 · 1696 阅读 · 0 评论 -
以element ui为例分析前端各种弹窗和对话框的使用场景与区别
本文研究分析element ui 中的各种弹窗和对话框,包括了:Dialog 对话框,Drawer 抽屉,MessageBox 弹框,Popconfirm 气泡确认框,Message 消息提示,Notification 通知。同时说明了Dialog 对话框与Drawer 抽屉的区别、MessageBox和Dialog的区别以及Message消息提示与Notification通知的区别。原创 2023-01-18 10:45:27 · 7228 阅读 · 0 评论 -
vue判断页面是否刷新的方法1:vuex
最近项目有个需求,当页面刷新时更新vuex。看了若依vue里面的操作,在router.beforeEach方法里判断store.getters.roles长度是否为0,如果是0,则代表刷新,如果不是则代表路由跳转。原创 2022-09-21 11:55:07 · 2199 阅读 · 0 评论 -
若依如何去掉“正在加载系统资源,请耐心等待”
最近有网友反馈这个加载动画很丑,问我如何去掉:原创 2024-04-23 18:18:29 · 1849 阅读 · 0 评论 -
若依ruoyi-vue前端异常处理
文件是基于 axios 的封装,用于统一处理请求参数、请求头、错误提示信息等。这些功能的封装使得在 Ruoyi Vue 中进行 HTTP 请求时可以更加方便和统一,同时也提高了代码的可维护性和可扩展性。原创 2024-05-07 15:49:17 · 1138 阅读 · 0 评论 -
实现vue3版本uniapp hbuilder 转 vue-cli
有个开源项目是用hbuilder编译的,现在想通过vue cli实现。本文记录过程中的采坑。原创 2023-03-21 14:36:36 · 1352 阅读 · 0 评论 -
记录一次:封装el-cascader组件后默认值一旦被改变无法回显的问题
Vue 最独特的特性之一,是其非侵入性的响应式系统。数据模型仅仅是普通的 JavaScript 对象。而当你修改它们时,视图会进行更新。但是Vue 不能检测以下数组的变动。原创 2022-10-20 17:43:25 · 794 阅读 · 0 评论 -
若依顶部导航栏Navbar一些个性化设置
代码所在位置原创 2024-04-18 15:13:21 · 1587 阅读 · 0 评论 -
若依ruoyi-vue前端组件的使用指南
自定义组件允许开发人员根据项目需求创建新的组件,以实现特定的功能或样式。在Ruoyi Vue中,可以通过Vue的component方法来创建自定义组件。// 定义一个自定义组件原创 2024-04-23 15:51:39 · 1578 阅读 · 0 评论 -
若依ruoyi-vue部署在域名的子目录下应该如何配置
本文相关视频教程:https://www.bilibili.com/video/BV1Fi4y1q74p?修改utils/request.js中的location.href。添加一行base属性。原创 2024-04-25 14:29:50 · 1505 阅读 · 0 评论 -
Module not found: Error: Can‘t resolve ‘core-js/modules/es.error.cause.js‘
在自己笔记本上运行好好的,没什么问题,在jenkins编译的电脑上就出现了Can't resolve 'core-js/modules/es.error.cause.js'我用的core-js@3.19.1版本有点老了,不再维护了。我的jenkins服务器上面的node版本比笔记本的高,高版本的node对低版本的core-js支持不行。原创 2023-01-06 16:27:37 · 3218 阅读 · 0 评论 -
ruoyi-vue前端的一些自定义插件介绍
可以查看src/plugins 文件夹index.js文件// 页签操作// 认证对象// 缓存对象// 模态框对象// 下载文件。原创 2024-04-18 17:25:32 · 1427 阅读 · 0 评论 -
若依vue ruoyi-vue ant design版本使用
若依vue默认是使用element ui的,但是现在大部分项目都用ant design,ant design的组件也比element多,所以最近有想更改成ant design。网上搜了一下,已经有现成的了。原创 2022-11-22 15:55:58 · 5741 阅读 · 0 评论 -
若依vue中关于字典的使用
当需要根据字典的value来获取label进行展示,若依提供了selectDictLabel, selectDictLabels两个方法通过value获取label。main.js里已挂载了这两个方法.原创 2024-04-12 19:32:07 · 2906 阅读 · 0 评论 -
若依vue中字典Dict插件的研究
比较关键的步骤:this.dict.init(this.$options.dicts) 将vue页面上定义的dicts数组传进去,组装数据,请求后端,获取对应字典数据。原创 2022-09-09 16:40:19 · 9058 阅读 · 1 评论 -
若依vue中的静态路由和动态路由
在使用若依Vue(Ruoyi Vue)时,了解静态路由和动态路由的概念和用法是至关重要的。本文将介绍这两种路由的基本概念、特点以及它们在若依Vue中的应用。静态路由适用于路由规则不经常变化的场景,如主要菜单导航等。动态路由适用于需要根据用户权限或其他条件动态生成路由规则的场景,如权限管理系统。原创 2024-04-23 14:28:51 · 5987 阅读 · 0 评论 -
定制底部footer bug:切换tab时position fixed会抖动
当元素祖先的 transform、perspective、filter 或 backdrop-filter 属性非 none 时,容器由视口改为该祖先。fixed的元素的父级元素有任意一个的 transform、perspective、filter 或 backdrop-filter不为空,则会基于这个容器而定位,而不是浏览器窗口了。element-admin在切换tab的时候,会有一个动画效果,是基于transform来实现的。原创 2023-05-27 23:05:45 · 1203 阅读 · 0 评论 -
在若依ruoyi-vue中集成watermark实现页面添加水印
本文将介绍如何在若依Ruoyi-Vue中集成Watermark实现页面添加水印,以保护页面内容版权并增强页面视觉效果。原创 2024-04-25 14:28:57 · 1974 阅读 · 0 评论 -
如何自学springboot+vue做一个小项目?然后参与开源项目!
如何自学springboot+vue做一个小项目?然后参与开源项目!最近在和几位小伙伴做基于springboot+vue开源商城和库存管理系统,今天分享一下我们自学前后端开发然后参与开源的一些经验。希望大家都能通过编程来编写美好前程。不建议买一本书去学,书本的文字描述无法做到直观的表达,还是视频更容易接受一点。B站上有很多视频,从入门到项目实践,全部都有,找播放量和点赞量大的。一般视频底部的评论区还会有一条置顶的评论,关于前端或者后端学习的路线图,这个非常重要,可以按照这个来学,但是这里面的东西对于做一个前原创 2023-07-30 11:31:29 · 1004 阅读 · 0 评论 -
使用queryWrapper查询语句报:Cannot invoke “Object.hashCode()“ because “key“ is null
在使用QueryWrapper查询语句时报错:“Cannot invoke “Object.hashCode()” because “key” is null”据说,这个问题出现在JDK 17与MyBatis-Plus 3.3.x时会出现。遇到一个奇怪的问题,使用Spring Boot和MyBatis-Plus。我们使用的是MyBatis-Plus的3.3.2版本和JDK 19。将MyBatis-Plus升级到3.5.1版本后,问题得到了解决。原创 2024-03-28 13:20:24 · 1214 阅读 · 0 评论 -
小项目建议用redis替换mq
简单任务分发:如后台任务处理、日志收集等。实时数据处理:如实时流数据处理、监控报警、实时推送等。广播消息:如系统通知、状态更新等。轻量级系统:对运维要求较高,系统对消息丢失不敏感,且对路由和持久化无严格要求。原创 2024-09-11 10:49:53 · 845 阅读 · 0 评论 -
在若依Ruoyi-Vue中集成mybatisplus实现mybatis增强
MyBatisPlus是基于MyBatis的一款优秀持久层框架增强工具,它在MyBatis的基础上提供了丰富而强大的CRUD操作、条件构造器、全局通用操作、代码生成器等特性,极大地简化了开发过程,提升了开发效率。MyBatisPlus通过无侵入式的设计理念,使得在享受其带来的便利同时,无需对现有MyBatis项目进行大规模改造。原创 2024-04-25 14:28:08 · 4398 阅读 · 3 评论 -
在若依Ruoyi-Vue中集成Knife4j实现Swagger文档增强
Knife4j,原名Springfox-Swagger-UI,是为Swagger接口文档提供增强UI展示效果的工具,它在原生Swagger-UI基础上进行了大量功能扩展与优化。Knife4j凭借其友好的界面、丰富的交互功能、强大的个性化定制能力,成为众多开发者首选的API文档管理工具。集成Knife4j后,即可在若依-Ruoyi-Vue项目中体验到Swagger文档的诸多增强特性,提升API文档的实用性和易用性。和swagger一样,使用或注解启用Swagger,并通过Docket。原创 2024-04-25 14:26:37 · 3811 阅读 · 1 评论 -
若依ruoyi-vue实现excel导入导出
有时候我们希望导出表格包含标题信息,我们可以这样做。有时候我们希望数据展现为一个特殊的格式,或者需要对数据进行其它处理。Excel注解提供了自定义数据处理器以满足各种业务场景。1、在实体类用Excel注解handler属性指定自定义的数据处理器@Excel(name = "用户名称",handler = MyDataHandler.class)2、编写数据处理器MyDataHandler继承ExcelHandlerAdapter,返回值为处理后的值。@Override。原创 2024-03-25 19:51:18 · 10360 阅读 · 3 评论 -
规避mybaties全表更新风险
MyBatis Plus 提供了 BlockAttackInnerInterceptor (阻断攻击Sql解析器) 插件,该插件可以阻止全表更新和删除操作。在一定程度上,保证了数据库数据的安全。标签中做了if判断,id如果为null,if语句自动去掉,相当于使用了不带条件的更新语句。版本要求:MyBatis Plus 3.4.0 版本以上。标签中使用了不带条件的更新语句。原创 2024-03-22 09:00:49 · 341 阅读 · 2 评论 -
若依ruoyi-vue中的文件上传和下载
前端main.js已经引入了FileUpload组件,所以在其他页面直接使用就行。在自动生成的代码里面没有文件下载,是通过若依自己集成的download插件来实现的。若依现成的功能里面没有文件上传,但是集成了文件上传的组件以及图片上传的组件。若依自带的代码相对简单,利用FileUploadUtils将文件上传到本地。在代码自动生成的时候可以对字段设置为文件上传或图片上传图片类型。文件上传会调用服务器的/common/upload接口上传文件。后端实现相对简单,也是通过FileUtils类来实现的。原创 2024-03-20 17:26:00 · 10889 阅读 · 0 评论 -
若依ruoyi-vue中的参数验证
创建注解:首先创建一个注解类,用于标记需要进行校验的字段或方法。注解类通常使用@Target和@Retention注解指定其作用目标和生命周期。创建校验器:创建一个校验器类,实现ConstraintValidator接口,并在该类中编写校验逻辑。校验器类通常需要指定两个泛型参数,第一个参数是自定义注解的类型,第二个参数是要校验的字段或方法的类型。应用校验器:在需要校验的字段或方法上使用自定义注解,并指定校验器类。处理校验结果。原创 2024-03-19 17:47:04 · 1066 阅读 · 0 评论 -
若依ruoyi-vue中的的DTO、VO、BO、PO、DO、POJO
POJO的定义是无规则简单的对象,在日常的代码分层中pojo会被分为VO、BO、 PO、 DTO。原创 2024-03-18 17:21:09 · 1345 阅读 · 0 评论 -
若依logback日志配置采坑
推荐改成ThresholdFilter,ThresholdFilter也是基于日志事件的日志级别进行过滤的,但它只允许你指定一个阈值级别。只有达到或超过这个阈值级别的日志事件才会被允许通过过滤器。例如,如果你将阈值级别设置为WARN,那么只有WARN、ERROR和FATAL级别的日志事件才会被允许通过。若依使用的appender过滤器是level,如下述代码,这种过滤器只能导出级别为INFO的日志,warn和error都导出不出来。原创 2024-02-23 14:02:57 · 2838 阅读 · 0 评论 -
若依如何修改超级管理员登录密码
数据库找到sys_user表,复制System.out.println(result)打印出来的值,将admin的password改掉。进行密码加密是Spring Security推荐的安全做法,可以保证密码在存储和验证过程中的安全性。方法来修改超级管理员的密码。1.随便在哪个地方写个main 方法。通过以上步骤,你可以使用。原创 2023-05-30 18:35:39 · 10313 阅读 · 0 评论 -
若依源码解析:代码生成ruoyi-generator
若依的代码生成器模块(ruoyi-generator)可以根据数据库表的设计信息和配置的模板,自动生成相应的Java代码文件。代码生成器使用Velocity作为模板引擎,根据模板文件中的占位符和变量替换规则,将元数据信息嵌入到生成的代码中,生成具体的代码文件。通过导入表结构和生成代码两个后端接口,实现了快速导入数据库表结构和生成代码的功能。原创 2023-05-29 09:49:25 · 10995 阅读 · 0 评论 -
Springboot中拦截器和过滤器的区别
虽然拦截器和过滤器的功能有些重叠,但它们的应用场景不同。拦截器用于拦截请求并执行某些任务,而过滤器用于过滤和修改请求或响应。原创 2023-05-30 09:28:30 · 1060 阅读 · 0 评论 -
若依源码解析:图片验证码生成
若依通过合理的验证码生成流程和相应的代码实现,为应用程序提供了生成图片验证码和基于数学运算的验证码文本的功能,以增加系统的安全性和防护能力。本文讨论了若依(Ruoyi)生成图片验证码的过程以及相关代码。首先,我们了解了生成图片验证码的基本步骤,包括生成随机字符串、创建图片对象、绘制背景和文本、添加干扰线等。接下来,我们分析了若依中的验证码生成控制器,它根据配置的验证码类型,在后台生成对应类型的验证码,并将验证码图片以Base64编码的形式返回给前端页面。原创 2023-05-28 11:20:03 · 3391 阅读 · 0 评论 -
解决MyBatis-Plus updateById方法更新不了空字符串或null
在用mybatis-plus封装的updateById方法来更新数据时,想把一个字段设置为null值,但是发现更新后数据没有为null还是原来的值,这是因为mybatis-plus在更新的时候做了null判断,默认不更新为null的传参。可以在配置文件中设置update-strategy为ignored来全局处理,也可以在字段上设置注解来单个处理:@TableField(updateStrategy = FieldStrategy.IGNORED)。原创 2022-09-16 20:38:04 · 6899 阅读 · 0 评论 -
springboot源码解析:用@RestControllerAdvice和@ExceptionHandler处理全局异常
本文讨论 Spring Boot 中的注解及其作用。注解用于定义全局异常处理器和全局数据绑定设置。它标记的类可以处理全局范围内的异常,并根据定义的处理方法执行自定义逻辑。我们还探讨了 Spring 底层是如何实现和处理的。Spring Boot 使用基于注解的配置方式,通过扫描和初始化标记了注解的类来创建全局异常处理器。该类中的方法使用注解来标记,用于处理特定类型的异常。通过 AOP 和事件机制,Spring 在关键的处理流程中拦截、处理异常和数据绑定,并使用。原创 2023-05-17 14:22:54 · 1258 阅读 · 0 评论 -
解析@ControllerAdvice、@ExceptionHandler和@RestControllerAdvice在Spring中的应用:如何优雅地处理Spring 全局异常
本文探讨Spring框架中的@ControllerAdvice、@ExceptionHandler和@RestControllerAdvice三个关键注解的应用,这些注解可以帮助开发人员高效地处理应用程序中的异常情况。我们将详细讲解这些注解的用法和示例,并介绍如何通过它们来处理全局异常和控制器层面的异常。阅读本文,你将了解如何优雅地处理异常,提高应用程序的健壮性和稳定性。原创 2023-02-20 18:08:20 · 1099 阅读 · 0 评论 -
若依源码解析:RuoYi-Vue权限系统设计
若依(RuoYi)是一款基于Spring Boot和Vue.js开发的快速开发平台,它的权限管理是通过RBAC(Role-based Access Control 基于角色的访问控制)模型来设计的。RBAC模型将权限控制分为角色管理和权限管理两个部分。在若依中,角色是指对系统的一类用户或操作者的定义,而权限是指对系统中某个资源或操作的访问控制。通过为每个角色分配相应的权限,可以实现对系统的全面管理和控制。原创 2023-05-11 16:04:23 · 6068 阅读 · 0 评论