- 博客(454)
- 资源 (37)
- 问答 (2)
- 收藏
- 关注
原创 Taro React 系列文章 - 总目录
欢迎大家来到 Rattenking 的《Taro React 入门到实战系列》,开始前博主先列出 Taro React 入门到实战的大纲,同时包括遇到的一些常见报错。实战篇是实际开发中的组件的封装,部分比较有意思的效果,以及一些特殊实际问题的解决办法!入门篇介绍了从安装,开发中的配置问题,记录解决对应的问题。错误篇是在实际开发中遇到的一些错误的处理方法!问题篇是开发中遇到的一些问题的解决方法!...
2022-08-17 15:53:17
567
原创 GIT 命令学习总结导航
1. 实战问题解决和总结github page搭建自己的页面git常用命令GIT ---- GIT 同步远程库操作GIT ---- GIT命令行简写配置2. 学习GIT命令步骤GIT学习----第一节:提交文件到仓库GIT学习----第二节:查看工作区的状态GIT学习----第三节:版本回退GIT学习----第四节:工作区和暂存区GIT学习----第五节:管理修改GIT学习----第六节:撤销修改GIT学习----第七节:删除文件GIT学习----第八节:本地版本库命令总结
2021-11-04 10:52:18
365
3
原创 微信小程序实例系列
下载微信小程序实现部分高德地图功能的DEMO下载微信小程序实现MUI的部分效果的DEMO下载更多微信小程序实例GITGIT地址 https://github.com/Rattenking/WXTUI-DEMOGIT下载 git clone https://github.com/Rattenking/WXTUI-DEMO.git常见...
2018-02-08 11:11:12
56610
19
原创 前端笔记列表
基础知识神奇的position:sticky双飞翼布局的原理圣杯布局的原理Browser 对象(一、history)JS获取当前网址信息前端常见面试题前端自适应—-单位remnode.js 获取url中的各个参数nodejs之url模块nodejs之querystring模块如何写出优美的 JavaScript 代码?获取某个数内的质数github page搭建自己的...
2018-01-30 16:58:21
3261
原创 游戏系列文章 - 总目录
DEMO下载五子棋悔棋DEMO 五子棋AI篇DEMO文字列表五子棋微信小程序(游戏)—-五子棋(棋盘,重置,对弈篇) 微信小程序(游戏)—-五子棋(悔棋篇) 微信小程序(游戏)—-五子棋(AI篇) 微信小程序(游戏)—-五子棋(总结)拖拽拼图微信小程序(游戏)—-拼图游戏(设计思路) 微信小程序(游戏)—-拖拽拼图(图片分块和打乱顺序) 微信小程...
2018-01-11 16:22:54
4410
1
原创 【Python 实战】---- 读取 Excel 设备号,获取设备视频,进行视频封面截图、压缩,上传,保存
本文介绍了一个完整的Python视频处理流程,实现了从Excel读取设备信息到视频截图上传的全自动化操作。系统首先通过openpyxl读取Excel中的设备编码、名称和在线状态,筛选出在线的设备。然后获取设备视频URL并进行解密处理,使用OpenCV截取视频封面并压缩图片,最后将截图上传至服务器并保存结果到JavaScript文件。整个流程集成了Excel数据处理、HTTP请求、视频处理、加密解密和文件上传等功能,通过合理的异常处理和间隔控制确保系统稳定性。
2025-11-04 10:00:00
21
原创 【CSS】---- 图形函数详解
CSS图形函数详解:clip-path属性支持的5种图形函数,包括circle()圆形、ellipse()椭圆、inset()矩形、polygon()多边形和path()路径函数。这些函数可用于创建各种形状效果,如圆形头像、胶囊按钮、对话框气泡等。每种函数都有特定语法和参数,其中path()功能最强大,支持SVG路径语法。图形函数不影响元素占位空间,仅改变视觉呈现,为网页设计提供更多创意可能。典型应用场景包括特殊形状按钮、图片裁剪效果和进度指示器等。
2025-10-23 10:10:07
415
原创 《Flutter 学习笔记》解决打包 apk 报错 Exception in thread “main“ java.lang.RuntimeException: Timeout of 120000 r
摘要:Flutter打包安卓APK时出现Gradle下载超时错误,提示等待gradle-8.5-all.zip文件独占访问超时。解决方案包括清理Gradle缓存、检查代理设置、调整超时配置或使用本地Gradle版本。具体步骤为:清理Gradle和项目缓存,重新获取依赖;通过PowerShell的Invoke-WebRequest手动下载gradle-8.5-all.zip到临时目录;最后重新执行flutter build apk --release完成打包。该方法有效解决了因网络或缓存导致的Gradle下载
2025-10-23 10:05:17
379
原创 【uniapp】---- 在 uniapp 实现 app 的版本检查、下载最新版本、自动安装
本文介绍了基于uniapp开发的账单应用如何通过Gitee实现版本更新功能。主要内容包括:1) 检查版本更新,通过获取Gitee上APK文件夹中的版本文件,筛选并比对最新版本;2) 实现版本号比较逻辑,按主次版本号逐位对比;3) 更新提示与下载安装流程,包括弹窗确认、下载进度监控和APK自动安装。该方法无需自建服务器,利用Gitee托管APK文件,实现了轻量级的应用更新机制。
2025-10-22 14:28:35
1241
原创 【Python 实战】---- 使用 OpenCV 实现图片的批量压缩
本文介绍了使用Python和OpenCV实现图片批量压缩的方法。通过对比Pillow和ImageMagick等技术,选择OpenCV进行实现,主要利用cv2.imread()读取图片、cv2.resize()调整大小(保持宽高比)和cv2.imwrite()保存图片。代码可批量处理指定文件夹中的图片,设置宽度为600px后,压缩效果显著(总压缩比约15倍),有效解决了移动端图片展示问题,同时保证了显示质量。
2025-10-10 09:30:00
156
原创 【Python 实战】---- 使用 PIL 实现图片的批量格式转换
本文介绍了使用Python的PIL库实现批量图片格式转换的方法,将WebP格式转换为PNG格式。通过对比OpenCV、Wand和PIL三种图像处理库的优劣势,指出PIL库简单易用、文档完善,适合基础图像处理任务。文章详细解析了实现过程,包括文件遍历、格式转换和异常处理,并展示了执行效果。总结提出应根据具体需求选择合适的图像处理库,PIL是轻量级转换任务的理想选择。
2025-10-10 09:15:00
40
原创 08.TypeScript 类型推论、类型别名、泛型
本文介绍了TypeScript的三大核心特性:类型推论、类型别名和泛型。类型推论包括基础类型推论、联合类型推论和上下文类型推论,能够自动推断变量类型。类型别名通过type关键字创建,支持基本类型、联合类型、对象、函数和泛型等多种形式,提高代码可读性。泛型类型别名允许创建可重用的类型模板,如Container<T>和Pair<T,U>。这些特性共同增强了TypeScript的类型系统,使代码更简洁、灵活且类型安全。
2025-10-03 09:30:00
663
原创 09.TypeScript Class类
TypeScript类是一种面向对象编程的核心概念,提供了类定义、继承、访问控制等特性。文章介绍了如何定义类(包含属性、构造函数和方法)、使用extends实现继承、三种访问修饰符(public/private/protected)的区别、静态属性和方法(static关键字)、以及抽象类(abstract关键字)的用法。通过这些特性,开发者可以构建结构化的面向对象程序,实现封装、继承和多态等OOP原则。TypeScript的类语法与JavaScript类相似但增加了类型注解和访问控制等特性,增强了代码的可维
2025-10-03 09:30:00
418
原创 07.TypeScript never类型、symbol类型
本文介绍了TypeScript中的never类型和symbol类型。never类型表示永不存在的值,常用于抛出异常或无限循环的函数;它可以赋值给任何类型,但其他类型不能赋值给它。void类型表示无返回值,变量只能赋值为undefined/null。两者主要区别在于:never用于函数永不返回,void用于函数无返回值。symbol类型是ES6引入的唯一值标识符,常用于对象属性名,具有不可运算但可显式转为字符串的特性。文章通过代码示例展示了这些类型的定义、使用场景和转换规则。
2025-09-04 10:15:00
1478
原创 06.TypeScript 元组类型、枚举类型
本文介绍了TypeScript中的元组类型和枚举类型。元组类型允许定义固定数量、不同类型元素的数组,具有严格的类型检查和长度限制,不支持越界操作。枚举类型分为数字枚举(默认从0递增)、字符串枚举和异构枚举(混合类型),支持接口定义和常量枚举(编译时删除提升性能)。数字枚举具有反向映射特性,可通过值获取键名。文章通过代码示例和编译结果对比,详细说明了这些特性的使用方法和注意事项。
2025-09-04 10:00:00
908
原创 05.TypeScript 类型断言 、联合类型 、 交叉类型
本文介绍了TypeScript中的几种重要类型操作:1)类型断言通过"尖括号"或as语法手动指定值的类型;2)联合类型允许变量取值多种类型之一;3)交叉类型合并多个类型特性;4)类型守卫在运行时检查类型;5)类型别名为类型创建新名称。这些特性增强了类型系统的灵活性和安全性,帮助开发者编写更健壮的代码。文章通过实例展示了每种类型的语法和应用场景,并配有相应的代码示例和图示说明。
2025-09-03 10:30:00
451
原创 【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(五)打包成 exe 应用
本文介绍了如何将Python批量文件上传工具打包成exe应用。通过pyinstaller工具,配置spec文件实现打包过程,包括Analysis、PYZ和EXE三部分配置说明。最终生成hl_upload.exe可执行文件,并附带图标和数据文件。该方法简化了工具部署流程,便于不同项目的配置管理,提高了开发效率。文中详细说明了各配置参数的作用,并展示了打包成功的截图结果。
2025-09-03 10:00:00
42
原创 【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(四)配置管理界面和逻辑实现
本文介绍了基于Python实现的批量文件上传工具的配置管理界面开发。通过tkinter构建GUI界面,实现了配置列表展示、新建/编辑/删除配置等功能。核心功能包括:1)配置列表动态刷新,支持带标题的显示格式;2)选中配置时自动解析配置名称并加载对应数据;3)编辑配置时弹出独立窗口,修改后自动刷新列表。该工具解决了多项目图片上传参数差异化问题,将分散的工具整合为统一管理界面,提高了开发效率。目前已完成配置管理UI和核心逻辑实现,后续可扩展更多项目适配功能。
2025-09-02 10:30:00
470
原创 【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(三)上传类的实现
本文介绍了用Python实现的批量文件上传工具,重点讲解了上传类的核心功能实现。工具通过递归获取指定后缀文件、单文件上传和批量上传三个关键方法,支持根据不同项目需求进行配置化管理。实现细节包括:使用os.walk递归查找文件,requests发送带自定义头部的POST请求,实时日志记录和回调显示,以及结果写入JSON文件。该工具解决了多项目环境下参数差异导致的代码冗余问题,通过GUI配置实现统一管理,提升了开发效率和代码复用性。(150字)
2025-09-02 10:00:00
34
原创 【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(二)上传界面事件实现
【Python文件上传工具】实现GUI配置管理功能摘要 本文介绍了一个基于Python的文件批量上传工具开发过程,重点实现了GUI界面的配置管理和文件上传功能。该工具解决了不同项目上传参数不一致的问题,通过GUI界面实现配置管理、文件上传和结果导出等核心功能。 主要实现内容包括: 配置选择功能 - 通过下拉框选择上传配置,自动加载对应参数 文件上传功能 - 支持指定目录和文件类型,显示上传进度和结果统计 导出功能 - 将上传结果导出为icon.js文件 复制功能 - 将上传结果格式化后复制到剪贴板 工具采用
2025-09-01 09:13:08
289
原创 【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(一)上传界面 UI 实现
本文介绍了一个批量文件上传工具的Python实现方案。针对不同项目上传参数差异的问题,作者设计了一个可配置的GUI工具,包含上传界面、配置管理界面和编辑界面。核心功能通过五个模块实现:配置管理类(ConfigManager)负责增删改查配置文件,上传配置类(UploadConfig)读取和初始化配置,以及三个UI界面模块。该工具支持自定义请求URL、Headers等参数,并能保存多种项目配置,解决了重复开发上传工具的问题,提高了开发效率。
2025-09-01 09:10:41
182
原创 04.TypeScript 函数类型
本文介绍了TypeScript中函数类型的使用方法,包括:1)基本函数类型定义;2)函数接口定义;3)函数重载实现;4)泛型函数编写;5)可选参数和默认参数设置;6)剩余参数处理;7)this类型与箭头函数;8)类方法中的this类型重载。通过具体代码示例展示了各种函数类型的定义和使用方式,涵盖了参数类型、返回值类型、上下文绑定等关键特性,帮助开发者编写类型安全的TypeScript函数代码。
2025-08-25 09:08:26
604
原创 03.TypeScript 常见泛型工具详解
TypeScript 内置了多种实用的泛型工具类型,可以简化类型操作。Partial<T> 将属性变为可选,Required<T> 使属性必填,Readonly<T> 设置为只读。Record<K,T> 创建键值映射,Pick<T,K> 选择特定属性,Omit<T,K> 排除属性。Exclude<T,U> 移除类型,Extract<T,U> 提取类型,NonNullable<T> 排除 null/un
2025-08-25 09:06:11
472
原创 【taro react】 ---- 实现 RuiPaging 滚动到底部加载更多数据
RuiPaging组件是一个基于Taro框架开发的分页加载组件,封装了列表分页的通用逻辑。它通过泛型T支持多种数据类型,使用forwardRef暴露complete和reload方法供父组件调用。核心功能包括:自动加载(auto属性)、滚动到底部加载(onScrollToLower事件)、数据状态管理(page/isEnd/isLoading/list)和数据处理(complete/reload方法)。组件还提供了空数据提示、加载状态显示等UI反馈。该组件简化了分页列表开发,支持多端适配,满足基本的分页需求
2025-08-12 09:14:06
268
原创 【node 解决】---- UnhandledPromiseRejectionWarning: TypeError: Invalid host defined options
在Node.js文件批量上传开发中,打包后出现"Invalid host defined options"错误。分析发现是动态导入node-fetch模块导致的问题。解决方案包括:1) 将动态导入改为require方式;2) 将node-fetch从3.3.2降级到兼容CommonJS的2.6.7版本。修改后,打包文件运行正常,上传功能和文件生成均可正常工作。该问题主要涉及ES模块与CommonJS的兼容性问题,通过调整导入方式和版本解决。
2025-08-12 09:12:20
412
原创 【npm 解决】---- TypeError: crypto.hash is not a function
Vite项目启动时出现"crypto.hash is not a function"错误。经排查发现是Node.js版本不兼容导致,Vite7.0.6要求Node.js版本≥20.19.0或≥22.12.0,而本地使用的是18.17.0版本。通过nvm切换至兼容的高版本Node后,问题解决。该案例提醒开发者需注意依赖包的版本要求,及时升级运行环境。
2025-08-05 10:25:59
959
原创 【taro react】 ---- useModel 数据双向绑定 hook 实现
本文介绍了一个名为useModel的自定义React Hook的实现与应用。该Hook通过泛型定义Model<T>和ResultType<T>类型,使用useState管理状态,并提供了通用的模型生成函数model来处理对象或属性的更新。它支持简单变量和对象变量的使用,能自动监听输入变化进行值更新。虽然存在一定的学习成本和性能开销,但通过封装公共逻辑显著提高了代码复用性。文章还提出了类型安全优化、性能优化和使用immer库等改进建议,指出该Hook适用于简单状态管理场景,在复杂场景下
2025-08-05 10:24:38
227
原创 【前端】---- 使用正则替换字符串中 img 标签的宽为 100% 高为 auto
摘要:本文记录了重构uniapp微信小程序项目中富文本图片处理方案的过程。原代码通过6个正则表达式替换图片样式,存在效率低、重复代码等问题。经过分析,优化为两个正则:一个处理CSS样式中的宽高,另一个处理HTML属性中的宽高。进一步尝试合并为单个正则表达式,但权衡可读性后最终选择两个正则的方案。优化后代码更简洁高效,图片能按父元素宽度100%自适应显示。文章强调了在代码优化时需要平衡简化程度与可维护性。
2025-07-28 10:58:48
699
原创 【uniapp】---- 使用 uniapp 实现视频和图片上传且都可以预览展示
摘要 本文介绍了在uniapp开发的微信小程序中封装一个支持同时上传图片和视频的组件。通过改造uni-file-picker组件,实现了自定义文件预览功能,包括判断文件类型(图片/视频)、格式校验以及预览展示。核心功能包括: 使用isImageFile/isVideoFile函数判断文件类型 canUploadFile函数校验允许上传的格式 自定义预览插槽展示图片和视频 隐藏原生列表模式,采用栅格化预览布局 实现文件删除和上传进度提示功能 该封装解决了原生组件在grid模式下无法同时预览多种媒体类型的问题,
2025-07-28 09:32:13
1732
原创 【taro react】 ---- RuiVerifySlider 行为验证码之滑动拼图使用【天爱验证码 tianai-captcha 】实现
本文介绍了如何基于Taro React框架改造滑动验证码组件,使其适配天爱验证码(tianai-captcha)的人机检测功能。原组件采用终点坐标验证,现需增加对滑动时间、Y轴坐标等行为特征的检测。作者分析了天爱验证码的提交数据结构,包括ID、背景图尺寸、时间戳和轨迹点信息,并在原有组件基础上进行改造,新增了轨迹记录和时间检测功能。通过重构请求接口和数据收集逻辑,实现了符合天爱验证码要求的滑动验证方案,有效提升了反机器人能力。
2025-07-07 10:35:12
302
原创 【uniapp】---- 在 HBuilderX 中使用 tailwindcss
摘要 本文介绍了在uni-app微信小程序项目中配置TailwindCSS的方法。由于项目基于Vue2和Webpack4,需使用兼容版本@tailwindcss/postcss7-compat。关键步骤包括: 依赖安装:添加autoprefixer、postcss7、tailwindcss兼容版等依赖。 配置插件:在vue.config.js中注册weapp-tailwindcss-webpack-plugin以支持小程序。 路径处理:强调配置文件中所有路径必须为绝对路径,避免HBuilderX读取错误。
2025-07-07 10:34:09
1274
原创 使用 Trae 进行代码优化
本文探讨了利用AI优化代码性能的方法,以缓存工具优化为例展示了具体实现。首先分析了从缓存与变量获取数据的性能差异,指出大数据量场景下的优化必要性。然后通过WeakMap解决内存泄漏问题,并使用Map处理字符串key的映射关系,最终实现同时存储于内存和本地存储的高效缓存方案。文章还提到重复代码的提取优化,展现了AI在代码重构中的实用价值。这些优化方法既提升了性能,又增强了代码的可维护性。
2025-06-05 14:56:29
1103
原创 使用 Trae 的 chat 模式进行 python 的版本管理工具安装
本文介绍了使用 Trae 的 chat 模式进行 Python 版本管理工具安装的过程,以解决在使用 Trae 进行 LangChain 的 DeepSeek 开发时因 Python 版本不兼容而报错的问题。
2025-06-05 09:45:00
1259
原创 使用 Trae 的 Builder 模式实现【自动批量处理图片:添加地理位置和时间信息】脚本
本文介绍使用Trae Builder模式开发批量图片处理工具的全过程。通过读取Excel中的元数据,自动为图片添加地理位置(经度、纬度转换为度分秒格式)和时间信息(从图片EXIF提取或系统时间),并在图片底部绘制带阴影的文字说明。工具实现了自动调整字体大小适应图片宽度、智能计算行间距和边距等功能,最终生成效果接近完美。采用分步开发策略,将复杂任务拆解为读取数据、格式转换、文字绘制等模块,有效提高开发效率,整个过程仅需1小时即可完成原本需要1天的手工开发工作。
2025-06-04 10:15:00
254
原创 02.TypeScript 接口和对象类型
TypeScript接口(interface)是定义对象结构的重要方式,主要功能包括:定义对象属性和方法(如Person接口);支持重名接口自动合并;通过extends实现接口继承;使用readonly设置只读属性;可选属性(?操作符);索引类型和任意属性;以及定义函数类型。数组类型可通过number[]、Array<类型>、元组等方式定义,还支持多维数组。函数arguments可用IArguments接口处理,该接口包含length属性和数字索引。接口为TypeScript提供了强大的类型约束
2025-06-04 10:00:00
731
原创 01. TypeScript 的类型
由于之前学习 TypeScript 都是断断续续的,当然也完成了一些项目,但是都是很简单的定义类型,然后写代码,并没有深入的理解学习和使用,最近有时间,而且现在大多数框架基本都是使用 TypeScript 开发的,因此决定系统的重新在学习一遍,将细节的东西研究一下,然后输出成文章,这样有助于我的理解。基础类型:string、number、boolean、null、undefined、symbol、bigint!Object 是所有类的基类,所有类的实例都继承自 Object 类!字面量模式是不能修改值的!
2025-05-07 10:15:00
936
原创 《黑客帝国》的代码雨:用TypeScript重现经典特效
使用 canvas 绘制字符,并随机分布在画布上。字符的随机分布、字符的随机选择、字符的随机位置、字符的随机速度。其实就是学习 TypeScript 的一个练习,没有什么难度,主要是理顺其中的逻辑。
2025-05-07 10:00:00
343
原创 H5唤起App支付的三种方案:URL Scheme、Universal Links与Intent Scheme
在移动端支付场景中,H5页面唤起App支付是一个常见需求。本文将详细介绍三种主流技术方案:URL Scheme、Universal Links和Intent Scheme,并结合实际项目经验,分析它们的优缺点及适用场景。方案选择对于简单的跳转需求,优先使用URL Scheme。对于iOS平台的关键场景,建议结合Universal Links使用。兼容性处理针对不同浏览器和平台进行特殊处理。使用 document.hidden 判断跳转是否成功。用户体验。
2025-05-07 09:45:00
612
原创 【Python 实战】---- 使用Python批量将 .ncm 格式的音频文件转换为 .mp3 格式
要将 .ncm 格式的音频文件转换为 .mp3 格式,可以使用 ncmdump 工具。
2025-05-07 09:30:00
838
原创 JavaScript ---- 使用原生 JavaScript 实现俄罗斯方块
俄罗斯方块(俄语:Русская клеточная игра или Русская клеточная игра в квадрате)是一款经典的益智类游戏,其规则简单,操作简单,具有很高的趣味性。俄罗斯方块是一款2D的益智游戏,玩家控制一个方块在一个方格内自由移动,通过控制方块的旋转、下落、以及移动,来消除周围的方块,并在此过程中获得分数。方块由四个小方块组成,每个小方块都有四个角落,四条边,以及一个中心点。方块可以旋转,但不能翻转。方块只能在空白的格子上移动。
2025-04-03 10:12:23
374
原生js ---- ueditor富文本编辑器实例
2017-10-17
原生js ---- 二维码解析器和移动端长按识别二位码demo
2017-09-19
原生js ---- HTML5中canvas制作的在线取色器
2017-09-11
原生js ---- 二维码生成器demo
2017-09-19
微信小程序 ---- 导航栏随滚动透明渐变
2017-11-08
mui ---- 搜索列表自定义
2017-11-03
原生js ---- showdown制作的Markdown在线编辑器
2017-11-15
使用 uniapp 实现的《扫雷》游戏
2024-10-23
uniapp 基于 vue3 开发的【验证码输入框】
2024-04-11
批量修改文件名和将txt转excel
2022-06-08
python 批量将xlxs文件中的base64转成png图片
2022-05-07
原生js ---- 九宫格和转盘抽奖插件
2018-12-05
python ---- 批量图片压缩工具
2021-02-24
微信小程序----高德地图API实现的DEMO
2018-02-07
通过sql筛选excel数据
2022-11-15
jquery的滚动监听事件
2017-06-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅