- 博客(198)
- 资源 (1)
- 收藏
- 关注
原创 【WebSocket】WebSocket架构重构:从分散管理到统一连接的实战经验
实时聊天实时通知前端:Vue 3 + Vuetify + Pinia后端:Spring Boot + WebSocket + STOMP实时通信:WebSocket + SockJS单一职责:每个store只负责自己的业务逻辑依赖倒置:高层模块不依赖低层模块的实现细节开闭原则:对扩展开放,对修改封闭这次WebSocket架构重构解决了一个看似简单但影响用户体验的关键问题。通过统一连接管理、智能重连策略和清晰的职责分离,我们不仅修复了通知功能,还为系统的后续扩展奠定了坚实的基础。
2025-06-12 12:08:06
401
原创 【WebSocket】WebSocket 多功能集成冲突问题解决方案
资源管理:WebSocket作为全局资源,必须统一管理时序控制:按用户需求而非应用启动来初始化连接架构设计:单一职责 + 统一入口 + 智能路由向下兼容:在不破坏原有功能的基础上扩展新功能。
2025-06-11 20:07:48
638
原创 【JavaScript】记录一个奇怪的问题,前端一次提交注册,后端收到两次接口调用,网络只显示一个register请求
【代码】【JavaScript】记录一个奇怪的问题,前端一次提交注册,后端收到两次接口调用,网络只显示一个register请求。
2025-03-22 11:28:59
336
原创 【阿里云服务器部署nacos】有用的官方文档转载
https://nacos.io/blog/faq/nacos-user-question-history14990/
2025-03-13 20:47:12
163
原创 【Spring Boot 】前端请求发生 CORS问题,但是 postman 测试是通过的???
开发环境中的最佳实践使用Vite代理功能来处理API请求配置相对路径而不是完整URL避免直接处理CORS问题为什么使用代理更好简化开发环境配置避免浏览器的同源策略限制不需要后端额外的CORS配置更接近生产环境的部署方式(通常使用nginx代理)注意事项代理配置只在开发环境中生效生产环境需要proper的CORS配置或代理设置WebSocket连接可能需要单独的CORS配置。
2025-03-13 11:45:10
527
原创 【vue】关于异步函数使用不当导致的template内容完全无法渲染的问题
如果直接在 script setup 中调用 await fetchProduct(),Vue 会尝试立即渲染组件,但此时 fetchProduct 还没有完成,product、carouselItems 和 isLoading 等数据可能仍然是初始值(空对象或 undefined),导致组件渲染为空白或显示错误信息。将异步数据加载操作放在生命周期钩子函数中(如 onMounted、onBeforeMount 等)是 Vue 的最佳实践,它可以确保数据加载的时机正确,并避免潜在的渲染问题。
2024-11-22 16:03:10
576
原创 【JavaScript】为 setInterval()定义变量,存储ID
setInterval 函数本身就是一个定时器,它会在设置的时间间隔后自动执行指定的函数。你只需要设置好时间间隔和要执行的函数,setInterval 就会在后台自动运行,无需你再次调用它。autoSlideInterval 变量只是存储了 setInterval 函数返回的 ID,你可以用这个 ID 来停止定时器(使用 clearInterval(autoSlideInterval))。但是,定时器本身的执行并不依赖于这个变量的调用。
2024-11-15 11:30:01
358
原创 【无标题】某元素鼠标悬浮的时候改变另一个元素背景颜色,应该怎么办
如果 .category-card 和 .category-content 有父子关系。
2024-11-08 10:26:43
251
原创 【脚本注入标签页,注意权限】chrome.scripting.executeScript
看代码,注入了一个sendMsg函数,这个时候sendMsg函数是没法调用它外面的函数的,所以如果有调用到外部的函数,需要将其作为sendMsg函数的内部方法。
2024-10-19 18:23:05
718
原创 【JavaScript fetch API】简介和使用
fetch API 提供了一种强大且灵活的方式来进行网络请求。它基于 Promise,易于使用,并且提供了丰富的功能来处理各种类型的响应。然而,你需要注意错误处理和 CORS 问题。对于更复杂的场景,你可能需要使用 Request 对象来更精细地控制请求。
2024-10-19 10:09:51
686
原创 【开源论坛】论通过事件对象分派,模拟用户输入文本的行为(花了300大洋学到了本应该学到的知识点)
这段代码通过创建一个InputEvent对象并将其分派到输入元素,模拟了用户输入文本的行为。这在需要以编程方式更新输入框值并触发相关事件处理程序的场景中非常有用,例如自动化测试或构建自定义 UI 组件。需要注意的是,keypress事件与input事件不同,keypress事件在按键按下时触发,而input事件在输入框的值发生变化时触发。使用input事件可以更准确地模拟用户输入行为。
2024-10-19 03:09:21
582
原创 【chrome 扩展】关于popup.js和 popup.html
在m3版本中,popup.js 只需要在 popup.html 中用 script标签引入即可,但别忘了,呜呜呜。
2024-10-17 18:28:47
511
原创 【Meta】App之WABA
非常重要:一个 WhatsApp Business Account (WABA) 只能对应一个 Meta 应用。 你不能将同一个 WABA 与多个 Meta 应用关联。 每个 WABA 都需要一个唯一的 Meta 应用来进行身份验证和管理。什么是WABA:由Meta app 创建的,用一个全新号码创建的,whatsapp business 商业账号,创建之后会自动加入 业务资产组合中的whatsapp 账户中
2024-10-10 19:57:34
284
原创 【vue-media-upload 升级玩法】一个页面用两个Uploader,一个上传图片,一个上传视频(分开传,容易分开设置和展示图片和视频)
所以说,尽量别动别人的代码,真的牵一发而动全身要改,也得采用方法循序渐进的改,不然会很懵逼。
2024-09-24 04:29:33
611
原创 【Nginx-Location-Root】最终访问的路径是 root/$uri
alias指令会将请求路径中的/image部分完全替换为,从而直接访问目录。root指令则会将请求路径中的/image部分追加到根目录后面,导致访问目录。
2024-09-23 15:20:48
317
原创 【运维nohup,ps,netstat】好用的线上项目运维命令
nohup命令是一个非常有用的工具,可以帮助您在后台运行命令,即使您退出终端或注销,命令也能继续执行。它对于运行长时间运行的进程非常有用。
2024-09-16 14:09:40
561
原创 【退役之再次线上部署】Spring Boot + VUE + Nginx + MySQL
使用 linux 系统进行开发,这样就不需要再部署的时候,修改路径了。编写代码时,要注意对文件路径和请求路径解耦可以考虑使用docker来解决部署上线的问题,因为这样部署太麻烦了,需要很多次修改。
2024-09-16 05:04:31
1371
2
原创 【vue-media-upload】一个好用的上传图片的组件,注意事项
media 的saved 数组中的图片使用的是location + 相对路径,但是我的业务需要直接根据图片链接展示图片,而且用的也不是location相关源代码
2024-09-14 13:51:40
500
原创 【MySQL】MySQL存放数组
MySQL 用 varchar 存放数组好烦呀,每次都要写额外的代码转换一下MySQL 用 json 存放数组,mybatis-plus 又一个劲的报错叹气
2024-09-13 15:07:36
311
原创 【vite and vue-cli】在vue组件中使用 .evn 中的变量
【代码】【vite and vue-cli】在vue组件中使用 .evn 中的变量。
2024-09-12 23:45:05
977
原创 【nginx】Nginx 缓存的工作原理
Nginx 的缓存功能是提高网站性能和用户体验的重要手段,可以有效地减少服务器负载,加快网页加载速度。在使用 Nginx 缓存时,需要根据实际情况选择合适的配置参数,并注意缓存失效、缓存空间占用和缓存一致性等问题。Nginx 的缓存功能可以显著提高网站的性能和用户体验,它通过缓存静态资源(如图片、CSS、JavaScript 等)来减少服务器的负载,并加快网页的加载速度。Nginx 的缓存功能可以通过。
2024-09-12 15:53:30
786
原创 【Mybatis-plus】关于字段类型处理器JacksonTypeHandler,无法使用的问题,一直提示我handler为null
花了一天时间都没解决,留个记录在这里,以后有时间研究一下。
2024-09-11 11:31:51
451
原创 【vite-plugin-vue-layouts】关于 vue-layouts 布局插件的使用和注意事项
环境:vue3 + vuetify3 + unplugin-vue-router是怎么创建这个项目的:选择它推荐的设置(Recommend)
2024-09-06 13:44:14
1805
原创 【unplugin-vue-router】超级实用的自动路由,具体使用教程!
经过以上步骤,我们已经掌握unplugin- 自动路由的使用了。使用 vite 创建 vue 项目的时候,选择 auto import,vite会为你安装并且配置好 unplugin-vue-routerunplugin-vue-router 根据 src/pages 下的目录结构生成对应的路由,需要怎么设置目录以及怎么命名,请自行查看vite官网中 unplugin-vue-router 的说明router-link 标签设置对应的路由。
2024-09-05 13:29:35
1418
原创 【vite-plugin-vuetify】自动导入 vuetify 组件和指令
具体说明见链接:https://vuetifyjs.com/en/features/treeshaking/
2024-09-04 23:20:44
519
原创 【vuetify】v-app-bar-title 在 d-flex 布局中,宽度会根据第一个 v-app-bar-title 的内容来调整,导致后面的标题被截断。
/</</</如上所示,在 d-flex 布局中,会采用第一个子元素的宽度设置为所有子元素的宽度,导致后面的元素可能无法显示全部内容。
2024-09-04 17:54:10
232
原创 【Gemini API】model.start_chat() 之后,如何关系此chat session?
【代码】【Gemini API】model.start_chat() 之后,如何关系此chat session?
2024-08-17 09:41:37
344
原创 【Gemini API + Python 经验分享】只会在浏览器设置temprature和safe-settings?来看看gemini api 怎么在代码里设置!
其实也可以在 genai.GenerativeModel 里面设置。
2024-08-16 18:28:10
607
原创 【Docker】讲一下最近的悲惨遭遇吧,总结一下惨痛经验
吐槽:Redmi G Pro 的 BIOS 是什么鬼!简直是开发人员的噩梦!解决方案不行的话,加上官方解决方案(附加药水),就肯定行!解决方案:重装系统,先进行系统更新,再进行安装,就好啦。问题:wsl 无法安装或者无法更新。
2024-07-21 09:18:45
658
原创 【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开
还是执行都没有明显效果那么,我最后是怎么解决得呢?一、打开控制面板(任务栏搜索kzmb)
2024-07-20 23:28:54
4937
1
原创 【ubuntu】代理设置总结,最近在代理这里踩了很多坑,大致理解了linux的代理机制
1. 代理软件需要使用系统代理2. 系统代理可以在界面设置(但是socks类型无法使用socks5)3. 所以推荐使用 配置文件的方式4. sudo vim /etc/environment5. 设置为以下内容:all_proxy=“socks5://127.0.0.1:7890”6. 就不用一个一个设置http,https等类型的代理了7. 此外,.bashrc 也可以设置代理(当前用户生效)export all_proxy=“socks5://127.0.0.1:7890”8. 也可以在终
2024-07-16 20:25:11
2731
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人