- 博客(247)
- 问答 (1)
- 收藏
- 关注
原创 基于DeepSeek API的Telegram机器人
本文介绍了一个基于DeepSeek API的Telegram机器人实现方案。该机器人具备以下功能特点:1) 通过异步方式调用DeepSeek API获取智能回复;2) 自动记录用户对话并保存为日志文件;3) 支持长消息分段发送;4) 包含完善的错误处理机制。代码展示了如何配置API密钥、处理用户消息、保存对话记录以及实现基本的交互逻辑。机器人会以18岁女孩的拟人化风格进行回复,并特别设置了回复长度限制。项目结构清晰,包含详细的日志记录功能,适合作为学习Telegram机器人开发的参考案例。
2026-01-06 18:19:08
360
原创 面试官:vue3有哪些宏?都有什么作用?我:啊?
Vue3常用的宏主要包括:defineProps(声明props)、defineEmits(声明事件)、defineExpose(暴露方法)、defineSlots(声明插槽类型)和withDefaults(设置props默认值)。Vue 3.3+新增了defineModel简化双向绑定。若使用Vue Macros插件还会扩展更多增强宏,如defineOptions等。这些宏都是编译阶段的语法糖,不会在运行时存在,主要用于提升开发效率和类型安全。
2025-11-28 11:06:21
566
原创 springboot问题记录-解决下载resources/static下的xlsx文件输出流错误问题
摘要 SpringBoot项目中下载resources/static下的xlsx文件出现损坏问题,原因是Maven资源过滤配置不当。原配置对所有资源文件进行了过滤转换,导致二进制文件被破坏。解决方法是在pom.xml中区分处理:对文本文件启用过滤,同时排除.xlsx/.docx等二进制文件;另设一个资源块专门处理这些二进制文件,设置filtering=false以避免转换。修改后文件下载正常,大小恢复原样。关键点在于正确配置Maven资源过滤规则,保护二进制文件不被处理。
2025-11-27 09:19:56
188
原创 Vue3 组件通信方式的完整版 + Demo 示例代码(保姆级,不完整我倒立喝水)
Vue3组件通信方式完整指南:提供父子、祖孙、跨组件等8种通信方案。核心包括props/emit父子通信、provide/inject祖孙传值、mitt/Pinia跨组件通信、ref/expose父调子方法等。企业级架构分层设计:业务层(组件间通信)、全局状态层(Pinia)、事件总线层(mitt)、浏览器层(多标签页通信)和服务端层(WebSocket)。每种方式配有代码示例,如v-model双向绑定、插槽内容分发等,满足不同场景需求。
2025-11-25 17:09:07
1049
原创 vue3组件二次封装-继承子组件的继承所有 props、所有事件、插槽
本文介绍了如何在Vue3中完美实现组件的二次封装,以el-input为例演示了如何继承所有props、事件和插槽。通过使用useAttrs和useSlots,实现了属性、事件和插槽的自动透传,无需逐个定义。同时支持v-model双向绑定和TS类型推导,确保组件功能完整且类型安全。封装后的组件保持了原始组件的所有特性,没有任何魔改,使用方式与原组件完全一致,只需简单替换组件名即可。这种封装方式既保持了灵活性,又提高了代码复用性。
2025-11-25 16:34:46
427
原创 [特殊字符]面向 ArcGIS for JavaScript(4.x)开发者的「坐标系统(CRS / 投影)」全面解读
本文全面解析ArcGIS for JavaScript(4.x)中的坐标系统(CRS/投影)问题。主要内容包括:地理坐标系(4326)与投影坐标系(3857)的区别与使用场景;ArcGIS JS API关键概念(SpatialReference、projection模块、geometryEngine);中国地区特有的GCJ-02/BD-09偏移问题;工程实践中常见问题排查清单(要素错位、测距不准等)和规范化建议。特别强调测量时应使用geodesic方法,在中国业务需遵循合规要求,建议将投影/转换逻辑封装为工
2025-11-21 15:08:42
968
原创 JavaScript 数字与日期的本地化格式化方法详解
JavaScript提供了强大的数字和日期本地化格式化工具:toLocaleString()方法可根据不同地区自动转换数字格式(如1,234,567.89或1.234.567,89),支持货币($1,234,567.89)和百分比(85.3%)格式化;Intl.NumberFormat类提供更灵活的配置选项。这些工具能轻松实现数字的国际化显示,适应不同语言和地区的要求。
2025-11-06 09:10:15
277
原创 jenkins构建maven项目如何设置强制更新快照
摘要: 在Jenkins中强制更新Maven快照依赖,可在构建步骤的"Goals and options"字段添加-U参数(如clean install -U)。该参数会强制检查远程仓库的最新快照版本。对比IntelliJ IDEA中,快照更新开关位于Maven设置面板。文中配图展示了Jenkins参数配置位置及IDEA的设置界面。
2025-10-10 15:50:10
198
原创 idea没法识别springboot项目的一个原因解决及办法
摘要:IDEA无法识别Spring Boot项目可能是由于Lombok依赖未正确解析所致。原pom.xml中未指定Lombok版本号,导致依赖下载失败。修改方法是为Lombok添加明确版本号(如1.18.30),使IDEA能正常加载注解处理器,从而正确识别项目结构。该问题源于Maven依赖解析机制与IDEA对Lombok插件支持间的兼容性问题。(98字)
2025-09-12 15:04:31
955
原创 游览器缩放后对页面进行反向缩放,确保界面比例不改变
这段代码提供了一个JavaScript方法,用于在Windows系统下根据设备像素比(dpi)自动调整页面缩放比例,确保界面显示比例不变。方法通过检测用户代理判断是否为Windows系统,然后计算并设置body元素的zoom属性为设备像素比的倒数。开发者只需在页面改变时调用resetZoomByDevicePixelRatio()方法即可实现自适应缩放效果,保持页面元素比例一致。
2025-09-09 16:08:34
234
原创 vue2 + ts 实现透视卡片 + 瀑布上下移动效果
本文介绍了一个基于Vue2和TypeScript实现的透视卡片组件,具有鼠标跟随透视和瀑布流上下移动效果。组件特性包括:1) 鼠标移入时卡片产生3D透视效果;2) 卡片自动上下浮动,形成瀑布流效果;3) 支持delayIndex参数实现卡片错位移动;4) 鼠标移入暂停浮动,移出继续。组件通过requestAnimationFrame实现流畅动画,使用CSS3的transform实现3D透视效果,并提供插槽自定义卡片内容。代码结构清晰,包含鼠标事件处理、浮动动画控制等模块,适用于需要展示动态卡片效果的场景。
2025-09-03 15:08:58
299
原创 css3元素倒影效果属性:box-reflect
CSS3的box-reflect属性可为元素添加倒影效果。该属性目前需要-webkit-前缀,兼容性有限。示例代码展示了在元素下方1px处添加渐变透明倒影的效果,适用于单个元素或div容器。这种倒影效果简单实用,能快速提升页面视觉表现力,但需注意浏览器兼容性问题。
2025-09-02 15:29:52
310
原创 选择图片转base64格式组件简单封装-Base64ImageInpu
本文介绍了一个Vue+TS封装的Base64图片上传输入框组件Base64ImageInput。该组件不会真正上传图片,而是将图片转为base64格式并显示预览。主要功能包括:支持多种图片格式、鼠标悬停预览、文件选择触发等。通过FileReader实现图片转base64,使用v-model双向绑定数据。组件支持数组或字符串形式指定accept属性,自动转换为标准的MIME类型格式。使用方式简单,只需通过v-model绑定数据即可实现图片预览和base64转换功能。
2025-09-01 14:04:28
217
原创 springboot中使用geotools光滑shp矢量图形【拉普拉斯(Laplacian)光滑算法】
摘要 本文介绍了在SpringBoot中使用GeoTools实现SHP矢量图形平滑处理的方法,重点采用拉普拉斯(Laplacian)光滑算法消除锯齿并优化折线。通过调整迭代次数(iterations)和移动系数(lambda),可适应不同场景需求(如普通道路平滑、保形处理或强力去锯齿)。核心代码展示了如何批量处理SHP文件中的几何要素,包括线状与面状要素的平滑实现,其中线状要素通过坐标序列迭代调整,面状要素则分别处理外环和内环。文中还提供了参数配置建议和异常处理机制,最终输出处理耗时统计,适用于地理信息系统
2025-07-09 15:02:37
339
原创 vue3使用inspira-ui教程【附带源码】
本文介绍了如何在Vue3项目中使用Inspira UI组件库的完整教程。需要先搭建Vue3项目并引入TailwindCSS,然后安装Inspira UI相关依赖。文章提供了完整的项目配置示例,包括package.json、vite.config.js、tailwind.config.js等关键配置文件,并展示了最终UI效果。源码已上传至Gitee和GitHub平台,包含组件整合、样式配置和功能实现,帮助开发者快速集成Inspira UI到Vue3项目中。项目采用Pinia状态管理和Vue Router,支持
2025-07-08 16:03:08
723
原创 springboot中使用geotools简化shp矢量图形
本文介绍了在SpringBoot中使用GeoTools简化SHP矢量图形的方法。通过设置0-1之间的简化阈值参数,可以保留图形关键拐点实现不同程度的简化。核心代码展示了如何读取SHP文件、简化几何要素并批量更新处理结果的技术实现,包括异常处理、事务管理和性能优化等关键环节。其中ShpFileStoreUtil.safeSimplify方法提供了安全的几何简化功能,当简化阈值无效或几何要素点数较少时会返回原始图形。该方法支持批量处理大量要素,并提供了详细的进度日志记录,确保处理过程的可靠性和可追溯性。
2025-07-08 13:43:07
241
原创 将 Shapefile 转换为 GeoJSON,并确保坐标正确投影到 WGS84
摘要:本文介绍了使用JTS库将Shapefile转换为GeoJSON格式的方法,并确保坐标正确投影到WGS84坐标系(EPSG:4326)。代码通过读取Shapefile数据源,获取源坐标系信息,创建坐标转换对象,构建新的要素类型,遍历要素进行几何重投影,最后使用FeatureJSON输出GeoJSON格式数据。该方法实现了坐标系统的准确转换,生成符合WGS84标准的GeoJSON数据。
2025-07-08 13:34:04
242
原创 uni-app公众号项目打包H5自定义微信分享好友、朋友圈
本文介绍了如何在uni-app中实现H5页面的自定义微信分享功能。首先,需要在微信公众号后台配置JS接口安全域名。接着,通过引入weixin-js-sdk库,使用wx.config方法配置微信JS-SDK,并设置分享内容。前端代码负责获取当前URL并请求后端生成分享签名,后端通过getShareSignature方法生成签名并返回给前端。后端代码包括获取jsapi_ticket、生成签名等步骤,确保分享功能正常使用。整个过程涉及前后端协作,最终实现自定义微信分享好友和朋友圈的功能。
2025-05-23 00:16:35
573
原创 JavaScript Proxy 的隐藏魔法:自动补全对象属性
JavaScript 的 Proxy 特性可以用于创建对象的代理,拦截并自定义对象的基本操作。通过 Proxy,可以实现自动补全对象属性的功能。当访问一个不存在的属性时,Proxy 会查找最接近的属性名,并给出警告提示。如果开启了建议模式,还会列出相似的属性。这种机制可以帮助开发者更灵活地处理对象属性访问,减少拼写错误带来的问题。例如,访问 obj.username 时,Proxy 会提示是否想访问 userName,并返回相应的值。这种自动补全功能在开发中非常实用。
2025-05-13 11:35:40
290
原创 JavaScript原型链污染:从“西门庆“到“武大郎“的奇妙转变 代码解析
这段JavaScript代码展示了原型链污染的机制,通过修改Object.prototype,成功访问并修改了闭包中的私有对象。代码首先创建了一个闭包,内部包含一个私有对象obj,然后通过Object.defineProperty在Object.prototype上定义了一个访问器属性proObj,其getter返回当前对象。当调用o.get('proObj')时,由于obj本身没有proObj属性,JavaScript会沿着原型链查找,最终触发getter,返回obj本身,从而允许外部代码直接修改闭包内的
2025-05-13 11:19:29
665
原创 springboot生成二维码到海报模板上
本文介绍了如何使用Spring Boot生成二维码并将其嵌入到海报模板中。通过QRCodeController和QRCodeGenerator两个类,实现了二维码的生成与海报的合成。QRCodeController负责接收请求并生成二维码,QRCodeGenerator则负责具体的二维码生成和与背景图片的合成。二维码生成后,会被放置在背景图片的左下角,并添加红色边框。最终,合成的图片以PNG格式返回给客户端。该功能适用于推广海报等场景,能够动态生成包含二维码的海报图片。
2025-05-10 11:59:54
416
原创 使用 Hutool工具包 中的 AES 类实现的 字符串加密解密工具类,主要功能是对字符串进行 AES对称加密 和 解密
使用 Hutool工具包 中的 AES 类实现的 字符串加密解密工具类,主要功能是对字符串进行 AES对称加密 和 解密,使用 CBC + PKCS7Padding 模式。代码简洁,无需手动实现AES,Hutool封装了底层细节,避免直接操作 JCE(Java Cryptography Extension),如果需要更高安全性,可以改用 RSA(非对称加密) 或 国密算法(SM4)。
2025-04-08 14:02:31
926
原创 vue2自定义指令实现滚动动画-使用IntersectionObserver观察器
使用IntersectionObserver观察器效果(滑动后触发动画):ScrollAnimation.vue代码:margin : 0;
2025-03-27 18:04:42
935
原创 Spring Boot定时任务设置与实现
在Spring Boot中,可以使用@Scheduled注解来创建定时任务。以下是一个简单的示例,展示了如何在项目启动后每5秒调用一次指定的方法。
2025-03-21 13:49:29
779
原创 openlayers加载矢量数据,图标缩放的问题
如果缩放的级别不是整数,矢量图会延用相近缩放级别的图,就会造成图像模糊(被缩小或者放大),解决办法,关闭无级缩放,详见下边代码。
2025-03-11 09:37:52
366
原创 springboot使用Easy Excel导出列表数据为Excel
主要记录一下引入时候的pom,直接引入会依赖冲突。目前是测试导出,数据还没格式化。
2025-01-09 14:17:25
500
原创 springboot中使用gdal将表中的空间数据转shapefile文件
【代码】springboot中使用gdal将表中的空间数据转shapefile文件。
2024-12-23 18:44:26
699
原创 openlayer 将 GeoJSON 格式的 geometry 转换为 feature
openlayer 将 GeoJSON 格式的 geometry 转换为 feature,转化完了就直接直接加载到地图啦!
2024-11-21 16:37:04
491
原创 geoserver通过请求服务获取某个图层的详细属性等数据
在GeoServer中,您可以通过请求服务来获取某个图层的详细数据,包括其 features 和属性。通常,您可以使用 WFS(Web Feature Service) 请求来获取这些信息。通过该请求,您会得到一个包含图层 features 的 JSON 响应。该响应通常包括几何形状(如点、线、多边形)及其对应的属性信息。您还可以通过添加 CQL_FILTER 参数来过滤请求,以获取特定特征。这样可以筛选出 attribute_name 等于 value 的特征。
2024-11-08 17:06:05
1500
2
javascript执行过程中作用域的问题求解答
2021-11-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅