<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_65142821的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_65142821</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_65142821]]></copyright><item><title><![CDATA[Java 使用 OkHttp 调用外部接口]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/165617149</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/165617149</guid><author>qq_65142821</author><pubDate>Wed, 16 Sep 2026 15:42:54 +0800</pubDate><description><![CDATA[本文以Java 8为例，详解使用OkHttp 3.14.9与Fastjson 1.2.83调用外部接口的实践。涵盖GET/POST请求、URL参数（Query Params）、请求头（Headers）及JSON请求体的配置方法，演示如何通过HttpUrl处理编码、设置超时、添加认证信息，并强调敏感数据不应硬编码，建议使用配置中心管理。代码完整可运行，适用于对接OA、ERP等第三方系统。]]></description><category></category></item><item><title><![CDATA[MySQL 条件唯一索引实战：用 delete_time 实现活跃记录唯一]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/154839929</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/154839929</guid><author>qq_65142821</author><pubDate>Fri, 14 Nov 2025 16:15:16 +0800</pubDate><description><![CDATA[摘要：MySQL 8.x提供生成列+唯一索引方案，优雅解决&quot;活跃记录唯一、删除记录可重复&quot;的需求。通过创建虚拟列admin_goods_unique_active（活跃为1，删除为NULL），配合组合字段建立唯一索引，既保证数据完整性又避免应用层判断的性能损耗。该方案安全可靠，适用于各类条件唯一场景，且无需存储空间或触发器支持，1062错误码可直接用于前端友好提示。（149字）]]></description><category></category></item><item><title><![CDATA[MySQL 批量处理图片 URL：统一去掉域名前缀]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/154647389</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/154647389</guid><author>qq_65142821</author><pubDate>Mon, 10 Nov 2025 13:50:17 +0800</pubDate><description><![CDATA[本文介绍了使用MySQL8.x的REGEXP_REPLACE函数批量处理图片URL的方法，可将混合存储的完整URL和相对路径统一转换为相对路径格式。该方法通过正则表达式匹配并替换URL中的域名部分，仅保留/uploads/...路径，支持单张或多张图片（逗号分隔）的情况，且不会影响已存储的相对路径。操作包含匹配http(s)://前缀、捕获路径、保留相对路径等步骤，建议操作前备份数据。这种方法能有效解决前端拼接CDN域名导致的路径重复问题，确保数据库存储统一规范。]]></description><category></category></item><item><title><![CDATA[Java 调用 DeepSeek 大模型接口实现智能对话]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/149635940</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/149635940</guid><author>qq_65142821</author><pubDate>Fri, 25 Jul 2025 13:30:03 +0800</pubDate><description><![CDATA[本文介绍了如何实现一个基于DeepSeek AI的聊天助手系统。首先需要在DeepSeek官网购买测试API密钥，然后通过前端HTML页面构建聊天界面，包含消息展示区和输入框。后端使用SpringBoot框架，通过Hutool工具包的AI模块调用DeepSeek API，处理用户提问并返回AI回复。文章详细展示了前端页面样式、后端控制层代码及API调用实现，最终实现一个完整的对话交互系统，用户输入问题后能获取AI的智能回复。]]></description><category></category></item><item><title><![CDATA[Spring Boot + Redisson 实现分布式锁]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/149528683</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/149528683</guid><author>qq_65142821</author><pubDate>Tue, 22 Jul 2025 10:31:33 +0800</pubDate><description><![CDATA[Redisson分布式锁通过Redis的SETNX机制实现分布式互斥，解决了高并发场景下的线程安全问题。核心优势包括自动续期、高性能、多种锁类型和易集成性，适用于秒杀、订单防重等场景。测试对比显示：无锁情况下count++操作存在线程覆盖风险，导致数据丢失；而使用Redisson锁能确保同一时间只有一个线程操作共享变量，保证结果准确。其底层通过Redis实现互斥锁，有效防止并发修改造成的数据不一致问题。]]></description><category></category></item><item><title><![CDATA[ Vue 动态类名实战讲解]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/149278108</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/149278108</guid><author>qq_65142821</author><pubDate>Fri, 11 Jul 2025 16:59:02 +0800</pubDate><description><![CDATA[动态类名是前端开发中根据数据状态切换样式的关键技术。本文以Vue为例，介绍了三种实现方式：1）三元表达式，适合简单true/false切换；2）对象语法，便于多状态控制；3）数组语法，用于组合固定与条件类名。通过设备开关状态切换背景颜色的案例，演示了实际应用。文章还提醒注意CSS样式定义、类名冲突和scoped样式穿透等问题。掌握这些方法能显著提升组件交互效果，三种写法可根据需求灵活选用。]]></description><category></category></item><item><title><![CDATA[Vue 中的 ::v-deep 穿透样式详解：彻底搞懂组件库样式修改技巧]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/149272680</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/149272680</guid><author>qq_65142821</author><pubDate>Fri, 11 Jul 2025 13:49:54 +0800</pubDate><description><![CDATA[《深入解析Vue样式穿透工具::v-deep》摘要：本文全面讲解Vue的::v-deep语法，它是解决scoped样式隔离问题的关键工具。文章从定义出发，说明::v-deep是Vue单文件组件中用于穿透子组件样式的特殊选择器。详细介绍了标准写法(::v-deep)、已废弃写法(&gt;&gt;&gt;和/deep/)及适用场景，并给出修改uView等组件库样式的实战案例（如调整搜索框样式和标签栏激活色）。通过解析data-v属性机制，阐明其穿透原理。最后提供常见问题排查方法和使用建议，强调在Vue3中应统一]]></description><category></category></item><item><title><![CDATA[【小程序开发】web-view 标签详解]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/148606067</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/148606067</guid><author>qq_65142821</author><pubDate>Thu, 12 Jun 2025 11:18:38 +0800</pubDate><description><![CDATA[本文介绍了小程序开发中web-view组件的使用方法和注意事项。web-view类似于iframe，用于嵌入网页内容，常用于展示协议、活动页等。微信小程序要求嵌入网页必须使用HTTPS协议并配置业务域名，需通过后台验证。uni-app中使用web-view时需要采用页面组件方式。文章详细说明了业务域名的配置流程，并提示公众号文章链接不能直接嵌入。掌握这些要点能帮助开发者合理利用web-view组件，实现小程序与网页内容的集成。]]></description><category></category></item><item><title><![CDATA[JS 问号（？）运算符避免中间报错]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/147796746</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/147796746</guid><author>qq_65142821</author><pubDate>Thu, 08 May 2025 16:43:36 +0800</pubDate><description><![CDATA[在前端开发过程中，有一些情况比如某些属性可能由于渲染数据的时机不同，一开始是null 或者undifine, 这样访问下面的属性的时候就会报错，我们可以给每个层级后面加个?就可以避免这个错误。比如在vue 中 我就算加了 || 运算符，如果一开始：member_level 为null,，那么就会直接抛出错误，从而整个div 都不会显示，如果加了问号就可以很好的避免这种情况的发生。]]></description><category></category></item><item><title><![CDATA[CentOS 服务器使用命令对图片进行压缩]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/147627187</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/147627187</guid><author>qq_65142821</author><pubDate>Wed, 30 Apr 2025 10:49:48 +0800</pubDate><description><![CDATA[在uploads 文件夹里面使用终端命令即可对jpg 和 png 的照片进行压缩体积。]]></description><category></category></item><item><title><![CDATA[一招教你生成二维码]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/146412794</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/146412794</guid><author>qq_65142821</author><pubDate>Fri, 21 Mar 2025 09:52:35 +0800</pubDate><description><![CDATA[在开发过程种，生成二维码的需求还是比较常见的，二维码的本质是一个url。今天用qr-code库生成二维码。]]></description><category></category></item><item><title><![CDATA[FastAdmin 框架分类如何展示树状结构]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/146147813</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/146147813</guid><author>qq_65142821</author><pubDate>Mon, 10 Mar 2025 11:06:04 +0800</pubDate><description><![CDATA[我们只需要在对应的html 页面里添加一个参数  ： data-params='{"isTree":1}'    即可实现树状分类展示。一、当我们有多级分裂概念的时候，我们希望下拉框展示数据的时候以树状形式展示。测试的父级分类是“军事新闻”目前是平铺展示。]]></description><category></category></item><item><title><![CDATA[uniapp 自定义地图组件（根据经纬度展示地图地理位置）]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/146087604</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/146087604</guid><author>qq_65142821</author><pubDate>Fri, 07 Mar 2025 10:12:59 +0800</pubDate><description><![CDATA[template></view><script>},height() {},},},},methods: {// 点击事件});]]></description><category></category></item><item><title><![CDATA[Spring Boot操作MaxComputer（保姆级教程）]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/145895858</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/145895858</guid><author>qq_65142821</author><pubDate>Thu, 27 Feb 2025 10:10:18 +0800</pubDate><description><![CDATA[MaxComputer本质上是管理dataworks 中的表，我们如何用Java框架来操作MaxComputer中的表数据呢，有几种方法，今天我推荐的是MaxComputer结合Spring Boot；MyBatis 的操作方式。其中用户名和密码就是 accessKeyId和 accessKeySecret。首先要在阿里云后台创建一张表，下面我用user 表测试。]]></description><category></category></item><item><title><![CDATA[thinkphp 框架 如何让某个接口不需要登录权限]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/145775032</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/145775032</guid><author>qq_65142821</author><pubDate>Fri, 21 Feb 2025 13:22:08 +0800</pubDate><description><![CDATA[需要让某个接口不需要登录权限。]]></description><category></category></item><item><title><![CDATA[不同按钮显示不同Echarts图表 ]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/145746556</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/145746556</guid><author>qq_65142821</author><pubDate>Thu, 20 Feb 2025 10:17:14 +0800</pubDate><description><![CDATA[写三个按钮，页面加载默认显示第一个按钮对应的图表，切换按钮显示不同图表。]]></description><category></category></item><item><title><![CDATA[selectpage 组件的data-source字段必须是id和name吗？]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/145605035</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/145605035</guid><author>qq_65142821</author><pubDate>Thu, 13 Feb 2025 09:42:55 +0800</pubDate><description><![CDATA[当我们使用 selectpage 组件的时候 下拉展示默认是 展示name 字段 如果你这个表里面没有name 字段改如何去做？比如表的主键叫 region_id 只有 title 字段 没有name 字段。]]></description><category></category></item><item><title><![CDATA[thinkphp 5.0 结合redis 做延迟队列，队列无法被消费]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/145107703</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/145107703</guid><author>qq_65142821</author><pubDate>Mon, 13 Jan 2025 10:11:40 +0800</pubDate><description><![CDATA[项目部署在Linux 环境下，首先找到项目的部署路径，接着输入命令,这个命令是以守护进程方式进行监听你的队列，只要redis 不关闭 就可以一直监听这个队列。就会展示 所有被监听的队列列表，看到有我们的队列名的列，表明可以正确监听。为队列名，要换成自己的队列名字，这时候不要直接关闭命令行，使用。]]></description><category></category></item><item><title><![CDATA[Windows如何安装Php 7.4]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/144421375</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/144421375</guid><author>qq_65142821</author><pubDate>Thu, 12 Dec 2024 14:02:00 +0800</pubDate><description><![CDATA[将解压后的php 路径在系统环境变量中配置一下。cmd 后输入 php-v。]]></description><category></category></item><item><title><![CDATA[Js如和返回数组中的指定列]]></title><link>https://blog.youkuaiyun.com/qq_65142821/article/details/144403387</link><guid>https://blog.youkuaiyun.com/qq_65142821/article/details/144403387</guid><author>qq_65142821</author><pubDate>Wed, 11 Dec 2024 16:11:22 +0800</pubDate><description><![CDATA[日常工作中需要返回数组中的指定列，例如Echarts 和 下拉框 选择 id，value 类似这种都需要在数组中提取指定列元素。]]></description><category></category></item></channel></rss>