自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 Redis 主从节点

replicaof 172.18.0.2 6379 # 使当前节点成为从节点。在此期间客户端仍向旧节点(已降级为从节点)写入 token。Redis 主节点故障后,从节点被提升为新主节点需要时间。建议:设计双写策略或异步写队列,保证核心登录流程可用性。主节点与哨兵(Sentinel)失去联系。导致数据不一致,主节点恢复后覆盖新数据。故障直接影响新用户登录和老用户会话刷新。哨兵集群误判主节点下线,触发故障转移。多数系统未设计本地token缓存。# 危险配置(允许从节点写入)连接池未刷新拓扑信息。

2025-05-29 15:17:24 424

原创 Vue选项式 API 与组合式 API

选项式 API 在性能上与组合式 API 并没有本质的区别,因为它们最终都会被编译成相同的渲染函数。不过,由于选项式 API 可能会导致代码冗余,在某些情况下可能会增加一些不必要的开销。而且,组合式 API 可以更好地组织代码,减少不必要的逻辑重复,在某些情况下可能会提高性能。组合式 API 是 Vue 3 引入的新特性,它允许开发者使用函数来组织组件逻辑,提高了逻辑复用性和代码的可维护性。TypeScript 是 JavaScript 的超集,它在 JavaScript 的基础上引入了静态类型系统。

2025-04-25 16:03:25 977

原创 Vue2升级到Vue3

第一步记录一下最近把项目从vue2升级到vue3的坑~!操作过程参考uniapp中的官网的文件进行操作,现在已经升级完成主要问题还是兼容性的修改上,首先vue3虽然推荐使用set up去写组合式的代码,但是vue2中使用的选项式可以直接copy过来使用,不会有影响。但是,我们平时用的组件库都是分成vue2和vue3版本的,模板部分的代码和CSS部分大部分不兼容!!!必须进行全部替换,但像是uniapp自带的组件库可以同时兼容vue2和vue3无需进行修改。第一步。

2025-04-25 15:13:55 993

原创 Android 证书 是什么

Android 证书是基于公钥基础设施(PKI)的数字证书,通常包含证书所有者的信息、公钥、证书颁发机构的签名等内容。它使用加密技术来保证应用的安全性和完整性,是 Android 应用生态系统中不可或缺的一部分。Android证书是用于对Android应用程序进行签名的数字证书。

2025-04-18 08:56:45 344

原创 Java创建Android自用证书

在 Android 开发中,如果需要创建一个自用的证书,可以使用 Java 开发工具包(JDK)自带的。

2025-04-10 10:04:07 310

原创 如何修改element ui的样式

global.cssmain.jsstylestylestylescopedscopedstyle/deep/>>>::v - deep>>>stylescriptselfstylestyle此外,如果想要动态修改 Element UI 的主题颜色,可以通过修改 SCSS 变量来实现,但这需要在代码运行前进行配置4。如果项目使用了 CDN 引入 Element UI 的 CSS 文件,也可以通过重新请求不同主题的 CSS 文件并替换来实现动态换肤。

2025-04-10 09:57:53 827

原创 不同Docker容器中的Nginx和后端服务如何内部通信

例如,将后端服务容器的名称作为代理目标,或者使用 Docker 网络中的服务发现。如果后端服务在容器内部监听的是某个端口,比如 8080,那么在 Docker 运行时,可能需要将该端口映射到主机或者其他容器可以访问的网络中。比如,创建一个 bridge 网络,然后将 Nginx 和后端服务容器都加入这个网络,这样 Nginx 的配置中就可以使用后端服务的容器名称作为主机名,而不是。接下来,Nginx 和后端服务都是 Docker 部署的,可能的情况有两种:同容器和不同容器。此外,之前的配置中使用的是。

2025-04-03 14:45:57 1172

原创 Nginx接收https并内部转发成http

那么需要把之前服务器的ip进行域名解析并配置ssl证书。然后前后端都需要做对应的升级,现在想偷懒一点,只升级前端部分,后端不做改动,牺牲一部分服务器中的性能。在前端使用Nginx部署时,对Nginx加上转发规则,把https转发成http,例如。系统部署到公网时,为了方便外部访问和传输数据的安全性,通常会把http升级成https。

2025-04-03 14:37:52 994 1

原创 MySql递归查询某分类下所有关联分类的产品

假设目前有一个产品表product和一个产品分类表product_category。这个产品分类表product_category中主要由id和parent_id组成的树形结构数据,产品表product中有一个category_id关联着分类表。那么我在前端想要点击一个产品分类,然后把这个产品分类和这个产品分类的子分类,或子子分类相关产品全部查出来。再使用原始的查询方法显示不能满足这种条件。我们需要递归地查询表,以获取指定categoryId及其所有子分类的 ID。然后,我们可以使用这些 ID 来查询。

2025-03-12 13:30:39 214

原创 仿uni-segmented-control添加左右滑动效果

官网的选项卡没有左右滑动的效果,本身的样式也不太好看,所以封装了个简易的组件达到相同的效果,可自行修改css部分修改样式~封装组件效果如下。

2025-02-21 15:49:16 234

原创 vue.js中动态路由addRoutes失效

因为我们知道Vue是单页面应用,后台的一个具体页面在渲染的时候,实际上已经对整个页面的侧边栏,顶部导航栏进行了渲染,而。例如要实现权限管理,那么在拿到用户权限之后,跳转后台时,我们在渲染左侧菜单栏的组件中去执行路由处理的方法,这样在左侧菜单栏渲染完成之后同时完成对路由表的处理。而不是在具体页面完成时去实现路由表的处理。所以我们想要实现addRoutes方法,应该在导航栏等功能组件里面去执行addRoutes方法,而不是在一个具体的页面中去实现~,这样就可以保证在路由表逻辑处理完成之前进行路由表的操作。

2025-02-06 16:21:42 340

原创 MES中质量管理的业务流程

MES(制造执行系统)中的质量管理业务流程贯穿于产品生产的全过程,从原材料采购到产品交付,旨在确保产品质量符合规定标准。

2025-01-20 11:22:40 1003

原创 MES中工艺路线管理的业务流程

MES(制造执行系统)中的工艺路线管理是对产品生产过程进行详细规划和控制的关键环节,它直接影响产品质量、生产效率和成本。

2025-01-20 11:20:41 1236

原创 MES中BOM管理的业务流程

MES中的BOM管理流程

2025-01-20 11:18:43 1035

原创 MES(制造执行系统)中物料管理的业务流程

MES(制造执行系统)中物料管理的业务流程,围绕物料从采购到投入生产及剩余物料处理的全生命周期展开,旨在保障生产的物料供应,同时优化库存、降低成本。

2025-01-20 11:15:57 1002

原创 MES(制造执行系统)工单业务流程

MES(制造执行系统)中从工单开始到结束的生产管理业务流程,通常涵盖工单创建与下达、生产准备、生产执行、生产监控与调度、质量检验、物料管理、设备管理、工单完工与结算等关键环节。

2025-01-20 11:14:13 2059

原创 日常开发中常用的SQL语句小记

在Spring Boot项目的日常开发中,我们通常使用Mybatis plus中一些简单的数据层处理,但是其功能相对简单,对于复杂的多表连接和一些特定的业务逻辑可能不够灵活。当涉及到多表的复杂连接,如多个表之间的左连接、右连接、全连接,且连接条件和筛选条件比较复杂时,MyBatis-Plus 的内置方法可能无法满足需求。监控原材料库存,当某种产品的原材料库存低于安全库存时,需要找出该产品以及需要补充的原材料数量。需要找出生产周期最长的产品订单,并查看该订单所涉及的生产工序,以便优化生产流程。

2025-01-16 13:29:08 483

原创 Spring Boot中使用AOP实现权限管理

权限管理的实现方法有很多种,也有很多集成不错的框架。现在用AOP和自定义注解实现一个简单易理解的权限管理~ 默认已经有做好了RBAC(role based access control),基于角色的访问控制。就是数据库中已经有了用户表,角色表,权限表,用户角色表,角色权限表。我们判断权限是取一个用户所有角色拥有权限的并集。目录权限判断注解 AOP 实现获取用户权限服务层使用权限注解解释总结优化PermissionCheck.java AOP 实现解释:解释:解释

2025-01-16 11:02:11 1039

原创 前后端登录流程带验证码

通过上述流程和代码示例,可以实现一个基本的登录验证码功能。前端和后端配合,先获取验证码,然后在登录时验证验证码,确保登录过程的安全性和可靠性。在实际应用中,可以根据需要对验证码的生成、存储和验证进行优化和扩展。

2025-01-16 10:32:07 757

原创 Spring Boot中并发问题的简单处理

根据具体的业务需求和部署架构,选择合适的方法可以有效地解决并发问题,避免生成相同的编号。在高并发环境下,分布式锁和数据库的唯一约束通常是更可靠的解决方案,但需要考虑性能和系统复杂度。对于多实例部署,使用分布式锁可以保证多个实例之间的并发控制。可以使用 Redis 或 ZooKeeper 实现分布式锁。解决多个用户同时访问一个接口可能产生并发问题,下面用一个生成编号的接口做示例。并发情况下可能生成相同编号。可以利用数据库的唯一约束来保证编号的唯一性。关键字来保证代码块的同步执行。如果是单实例部署,可以使用。

2025-01-16 10:22:09 1462

原创 Spring Boot使用WebSocket

在实际应用中,可能需要考虑更多的业务需求,如消息的协议格式、安全验证、消息队列、负载均衡等。跟其他http的控制层类似,我们需要实现一个基本的 WebSocket 服务器端点。对于高并发场景,可以考虑使用更高级的线程同步机制或分布式存储来存储。对于异常处理,可以根据具体需求添加更完善的错误处理逻辑,如重试、告警等。

2025-01-16 10:06:31 579

原创 Vue 和 uniApp 中 CSS 样式差别

Vue 2 项目和 UniApp 在 CSS 基本语法和样式特性上有很多相似之处,都支持 CSS 预处理器、动态样式绑定等。但 UniApp 针对移动端开发,有独特的布局单位。

2025-01-16 09:57:00 1620

原创 uniapp使用扫码完成业务

通过以上流程和示例,可以在 uniapp 中使用扫码功能实现各种业务流程,例如库存管理(扫描产品编码入库)、票务系统(扫描票务二维码验证)、设备巡检(扫描设备二维码查看设备信息)等。根据具体业务需求,可以对代码进行扩展和优化,例如添加错误处理、加载动画等。使用 uniapp 中的扫码功能处理业务流程的解释和简单示例。

2025-01-16 09:41:17 1510

原创 springboot中处理树形数据

平时开发中会经常碰到树形数据,而我们存储的数据往往是扁平的数据,需要在前端或者后端对数据进行进一步处理成前端组件需要的树形数据。下面Java中处理树形数据的方法,包括构建树和解析树。假设我们有一个实体类。

2025-01-16 09:32:33 391

原创 js中处理树形数据

平时开发中会经常碰到树形数据,而我们存储的数据往往是扁平的数据,需要在前端或者后端对数据进行进一步处理成前端组件需要的树形数据。在操作完树形数据后再转换成扁平数据发给后端。下面JavaScript 中处理树形数据的方法,包括构建树和解析树。假设我们有一个树形结构的数据,我们要将其解析为一个扁平的数组。假设我们有一个扁平的数组数据,每个元素包含。等属性,我们可以将其构建为树形结构。

2025-01-16 09:25:03 468

原创 springboot中创建自定义注解和AOP

通过这种方式,我们可以方便地对系统中的方法进行一些通用的处理,如日志记录、性能监控、事务管理等,而无需在每个方法中重复编写相同的代码,大大提高了代码的可维护性和可扩展性。在 Java 中,自定义注解使用 @interface。使用 Spring AOP 来实现对带有。例如,我们创建一个名为。注解的方法进行切面编程。在这个例子中,当访问。执行前后执行,记录其执行时间。然后,创建一个切面类,例如。

2025-01-16 09:13:10 401

原创 将内部部署系统的端口暴露给外部访问,并且仅允许指定 IP 的服务器访问该端口

通过上述的一种或多种方法,可以在确保安全性的前提下将内部系统的端口暴露给外部的指定 IP 服务器。可以根据系统的具体环境和需求,选择合适的方法和工具进行配置。

2025-01-15 16:50:49 1885

原创 uni-app无限级树形组件简单实现

因为项目一些数据需要树形展示,但是官网组件没有。现在简单封装一个组件在app中使用,可以无线嵌套,展开,收缩,获取子节点数据等。简单效果。

2025-01-09 16:02:29 1074

原创 uni-app持久化登录简单实现

想要实现持久化登录,原理就是在每次进入应用的时候获取上一次用户登录的信息。那么就好办了,我们在每次登录成功后把用户的账号密码存储到本地,然后在进入应用的时候读取本地文件获取账号密码重新执行登录流程,在退出登录的时候删除存储的用户登录本地文件。

2025-01-09 09:16:55 652

原创 uni-ui样式修改

因为之前官网uni-ui有些组件的样式不好看,所以要做一些调整,做个记录。首先找到我们的static文件夹,里面一般存着项目的全局样式文件,没有的话自己创一个。在全局scss文件index.scss中引入uniui.scss。在App.vue入口文件中引入样式。

2024-12-30 13:26:31 464

原创 uniApp打包H5发布到服务器(docker)

使用docker部署uniApp打包后的H5项目记录,好像和VUE项目打包没什么区别...

2024-12-24 16:54:11 729

原创 uniApp上传文件踩坑日记

想着直接用PC端的前后端API去做文件上传,但是uniapp的底层把请求拆成了普通请求和文件上传请求,所以不能用一个axios去做所有请求的处理,拆成uni.request和uni.uploadFile去分别处理两种情况。在我们签完名后,一般会拿到签名的base64编码,现在要根据接口的需求,创建一个临时URL放到请求中,所以第一步先调用base64ToBlob转成Blob后,再创建临时地址。文件的后缀是通过前端传过来的类型去保存的,按照之前PC端动态获取文件后缀的方式会失败,导致。

2024-12-20 10:40:10 1004

原创 uniApp顶部导航栏右侧添加按钮

记录一下从阿里图库里面下载图标到项目中遇到的问题。原先图标引入后在浏览器可以正常显示,但是真机显示不了图标。最后去修改路由文件pages,加上app-plus,然后要修改text为css中更改的编码,然后填路径。在uniapp项目文件中引入,我这里是/static/iconfont/去修改css文件中的unicode编码,加上u。先下载到本地,然后解压后再要两个文件。然后重点,因为官方文件中。

2024-12-13 11:41:35 1162

原创 前后端中Json数据的简单处理

很多时候因为数据库中不想创建中间表去存一些数据,所以在一个实体表中用一个json字段去存储并处理这些数据。本人倾向在前端js部分直接处理json数据,后端只做存储,不做处理。如果实在想在后端处理,写个json工具类去处理。前端在获取表单的时候解析。前端在提交表单的时候转换。

2024-11-27 10:00:25 669

原创 在springboot如何防止请求重复提交

可以创建一个自定义注解和一个切面(Aspect)来处理重复提交的逻辑。以上是几种在Spring Boot中防止请求重复提交的方法。可以根据具体的业务需求选择合适的方案,通常结合使用后端的Token机制和前端的防抖动效果会更有效。

2024-11-25 10:35:21 431

原创 Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to

然后去修改了springboot中的配置文件yml,把redis配置的ssl:true注释掉,然后又可以连接上了。(发送到后端的请求是nginx代理转发的,所以前端发送的https到后端还是http)今天遇到一个奇怪的问题,之前在服务器上springboot一直可以连上的redis客户端,今天一直连接失败。但是用navicat等可视化软件又可以连接上。redis的密码也没有修改。

2024-11-13 10:16:46 400

原创 ERROR: Encountered errors while bringing up the project.

这个错误信息表明在启动 Docker 服务 service 时遇到了问题,具体是与 iptables 相关的错误。以下是对这个错误的详细分析和可能的解决方案: 错误分析。如果端口 8080 已被其他服务占用,可以尝试更改 docker-compose.yml 文件中的端口映射,使用其他未被占用的端口。可能的原因: Docker 网络问题:Docker 的网络配置可能出现了问题,导致无法正确设置 iptables 规则。权限问题:Docker 可能没有足够的权限来修改 iptables 规则。

2024-11-13 09:21:42 617

原创 vue2使用 <component> 标签动态渲染不同的表单组件

在后台管理系统中,涉及到大量表单信息的修改和新增。现在想对模板中代码做一些简单的优化。

2024-11-11 09:00:48 1442

原创 基于websocket简易封装一个全局消息通知组件

期望是,在用户登录后台后。新的任务到来时能够及时通知到并且去处理。创建一个定时器做测试。

2024-10-22 15:43:06 496

原创 el-upload中判断上传文件类型

file: 这是一个 File 对象,通常是通过文件上传控件(如 <input type="file"> 或 <el-upload> 组件)获取的。file.type: 这是 File 对象的一个属性,返回文件的 MIME 类型。例如,JPEG 图片的 MIME 类型是 image/jpeg,PNG 图片的 MIME 类型是 image/png。startsWith('image/'): 这是一个字符串方法,用于检查字符串是否以指定的子字符串开头。同理如果是其他docx,pdf,excel这些类型的文件。

2024-10-22 15:31:19 988

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除