- 博客(197)
- 收藏
- 关注
原创 【11】深入解析 Three.js 中的 GPGPU水面模拟示例代码(webgl_gpgpu_water.html)
本文深入解析了Three.js官方GPGPU水面模拟示例,将其拆解为五个核心模块:基础环境搭建、GPGPU水面计算、水面渲染、鼠标交互和小黄鸭漂浮效果。文章采用零基础友好视角,将复杂概念简化为易懂的比喻(如"电子水池"、"超级计算器"等),并提供可直接复制使用的精简代码。特别强调:1)GPGPU计算通过高度图记录水面高度变化;2)水面材质通过修改顶点着色器实现波浪效果;3)鼠标交互采用射线检测技术;4)物体漂浮通过实时获取水面高度实现。最后提供开箱即用的集成方案,开发
2025-12-03 16:40:09
1039
原创 Canvas智能消除黑点:三种涂抹消除方法详解
本文介绍了三种基于Canvas的内容感知修复算法,用于智能消除图像中的黑点和瑕疵。第一种算法通过采样周边像素颜色并加权混合实现自然过渡;第二种利用Canvas复合操作和裁剪技术填充目标区域;第三种(未展示)可能采用更高级的机器学习方法。这些算法各有特点:方法一修复效果最自然但计算量大,方法二实现简单但可能对复杂纹理效果有限。文章提供了完整的代码实现,帮助开发者根据实际需求选择合适的图像修复方案。
2025-11-20 11:31:06
555
原创 uni-app自定义角标数字键盘弹窗实现方案
本文介绍了一个UniApp自定义角标数字键盘组件的实现方案。该组件支持上标数字¹²³⁴⁵⁶⁷⁸⁹⁰⁻输入,采用底部弹窗形式,适配多端运行(H5/小程序/App)。组件提供open/close方法控制弹窗,通过handleInput回调返回输入字符,支持自定义高度和区分多个输入场景。代码采用Vue3组合式API编写,使用网格布局实现6列按钮排列,并包含样式优化建议和功能扩展方向(如下标数字支持)。开发者可直接集成到项目中用于化学公式、数学表达式等场景的角标输入需求。
2025-11-19 10:28:10
522
原创 Cesium动态扩散环实现教程:创建、更新与销毁全流程
本文详细介绍了在Cesium中实现动态扩散环效果的方法。通过组合几何载体和自定义材质动画,利用EllipseGeometry创建圆形基础载体,并编写GLSL着色器实现动态扩散效果。文章包含完整的实现步骤,包括初始化Cesium Viewer、创建扩散环函数、颜色与扩散速度的更新方法,以及扩散环的移除功能。开发者可直接集成这些代码到项目中,实现位置标记、范围提示等可视化需求,提升用户交互体验。
2025-11-18 16:47:55
649
原创 heatmap.js创建h337热力图空白?8大核心原因+排查指南
热力图渲染空白的8大常见原因及解决方案:1. 坐标超出画布范围(需校验数据点坐标边界)2. 浮点数坐标问题(强制转换为整数)3. 容器未挂载到DOM树(确保元素已添加)4. 容器无宽高设置(检查CSS样式)5. 数据点value异常(确保有有效热力值)6. 初始化参数错误(检查container、radius等配置)7. 数据格式不符(确保包含points数组和max值)8. 版本兼容问题(升级至最新稳定版本)。建议按F12检查DOM、打印数据点、验证参数三步走快速定位问题。
2025-11-17 14:26:08
634
原创 10 个 “小众但炸裂” 的 CSS 属性 + Web API,解决棘手问题 + 优化性能✨
本文介绍了10个Web开发中实用但小众的CSS属性和Web API,包括pointer-events事件穿透、will-change性能优化、clip-path不规则裁剪、IntersectionObserver懒加载等。这些工具能解决样式交互、性能优化等痛点场景,相比传统方案具有原生支持、性能优异、代码简洁等优势。合理使用这些工具可以提升开发效率和用户体验,为复杂问题提供更优雅的解决方案。
2025-11-12 09:47:26
948
原创 一文读懂 Vue Vapor:原理与双向绑定的‘进化史’
Vue Vapor是Vue生态中的高性能方案,采用全新"指令直达"模式替代传统的Virtual DOM。其核心原理是将编译时优化最大化,生成精简操作指令直接操作DOM,无需虚拟DOM中间层和diff算法对比。在双向绑定方面,Vapor通过effect函数和原生事件监听实现数据与视图的直接同步,比传统方式更高效。相比传统Vue,Vapor具有运行时更小、更新更快、内存消耗更少等优势,特别适合对性能和包体积要求高的场景。这种"编译时智能+运行时精简"的设计理念,代表了Vu
2025-11-10 11:49:51
1027
原创 解决Vue项目中0.js过大导致首屏加载慢的问题
Vue项目首屏加载优化:解决0.js过大问题 摘要:在Vue项目开发中,0.js文件过大导致首屏加载缓慢是常见性能问题。通过分析发现,项目中引用的jspdf和html2canvas等大体积第三方库被默认打包到0.js中。解决方案是采用异步按需加载方式,将非首屏必需的功能(如PDF导出)改为点击时动态加载相关资源。优化后0.js体积显著减小,首屏加载时间缩短约20%。这提示我们合理利用webpack的异步加载功能对优化项目性能至关重要。(150字)
2025-11-10 09:28:28
355
原创 Vue2项目文件夹结构全解析(续):完善src目录及其他关键部分
本文系统介绍了Vue2项目文件夹结构,重点解析了src目录下的api、filters和directives三个关键子目录。api目录用于集中管理接口请求,提升代码复用性和维护性;filters目录存放格式化数据的过滤函数;directives目录则封装DOM操作的自定义指令。此外还介绍了dist打包输出目录和node_modules依赖目录的特点及注意事项。这些结构化设计能够有效提升项目的可维护性和开发效率,是Vue2项目最佳实践的重要组成部分。
2025-11-07 10:19:20
595
原创 Vue2项目文件夹结构全解析:每个文件到底有什么用?
本文详细解析了Vue2项目的核心文件结构。根目录下的关键文件包括:index.html(项目入口HTML)、package.json(依赖管理)、webpack配置文件(构建打包)等。src目录存放核心源码,其中main.js是JS入口文件,App.vue作为根组件包含Vue单文件组件的三部分结构(template、script、style)。文中还介绍了.babelrc(语法转换)、.eslintrc(代码规范)等配置文件的用途。通过系统梳理项目文件结构,帮助开发者快速理解Vue2项目组织方式,提高开发效
2025-11-07 10:12:07
937
1
原创 Vue2 首屏加载慢打包优化的详细记录
本文分享了Vue2项目首屏加载速度优化的实践经验。通过排查发现主要问题源自4个大体积JS文件的全局加载:jsmap.js、vendor.js、app.js和modules.js。针对性地采取了将非必要JS改为按需引入、开启路由懒加载、拆分大依赖包以及清理废弃依赖等措施。优化后,首屏加载时间从十几秒缩短至3-4秒,文件体积显著减小,用户体验得到明显提升。文章强调应善用工具定位问题,合理配置webpack,保持项目依赖的整洁,并建议继续探索Gzip压缩、CDN等优化手段。
2025-11-06 10:04:23
1432
原创 首页加载慢至 10 + 秒?从 Map 功能引入到路由优化的全方位解决方案
本文针对项目首页加载缓慢问题提出了优化方案。通过分析发现,主要原因在于Map功能JS文件不当引入和路由全量加载导致资源过大。采取两项核心措施:1)将地图JS改为按需加载,仅在使用时动态引入;2)实现路由懒加载,按需请求组件资源。此外还建议通过资源压缩、图片优化、缓存策略等手段进一步提升性能。优化后首页加载时间从10+秒降至1-2秒,资源体积减少60%,显著提升用户体验。文章强调性能优化需要综合分析,对症下药。
2025-10-30 16:25:37
801
原创 Vue3 深度探索:不止于 ref,这些“冷门”API 让你功力大增
本文深入探讨了Vue3中一些较少使用但功能强大的API,将其分为四大类:响应式系统深度控制、组合式函数元能力、生命周期与组件调试、实用工具函数。重点介绍了shallowRef/triggerRef、readonly、computed的getter/setter、toRefs/toRef等API的特点和使用场景,并分享了onRenderTriggered等调试工具的应用。这些API在性能优化、复杂状态管理、高级组件开发等方面具有重要作用,掌握它们可以提升Vue开发的专业性和效率。文章通过实际代码示例展示了这些
2025-10-29 16:00:32
751
1
原创 【成长纪实】HarmonyOS NEXT 数据缓存与提取全解析:从基础到实战
本文介绍了HarmonyOSNEXT应用开发中的两种核心缓存方案:Preferences和DataStore。Preferences适用于轻量级键值对存储(如用户登录状态),可实现权限配置、工具类封装和状态管理等功能;DataStore则适合结构化数据存储(如商品列表),支持批量操作和条件查询。文章通过用户登录状态保存和商品列表离线缓存两个实战案例,详细说明了两种方案的具体实现步骤,并提供了权限配置、数据持久化、性能优化等避坑指南和最佳实践建议,帮助开发者高效实现数据缓存功能。
2025-10-29 09:44:41
564
1
原创 我的第一个开源项目:vue3-pc-template 从构思到落地
本文介绍了作者开发的Vue3 PC端开源项目"vue3-pc-template"的创作历程。该项目旨在解决前端开发中重复基础配置的痛点,提供开箱即用的开发模板。项目采用Vue3+Vite4技术栈,整合了Pinia、VueRouter4、Axios等主流工具,内置权限控制、请求封装、代码规范等功能模块,并进行了性能优化。文章详细说明了项目特点、使用方法和未来规划,展现了作者从使用者到贡献者的成长历程,体现了开源协作的技术精神。
2025-10-28 17:12:10
1128
原创 解决uni-app通用上传与后端接口不匹配问题:原生上传文件方法封装 ✨
本文介绍了针对 uni-app 开发中文件上传需求的原生封装方法,解决了标准uni.uploadFile无法满足后端特殊要求的问题。该方法基于XMLHttpRequest和FormData实现,支持将业务参数转为Blob格式的JSON、自定义请求头(如加密RequestId)和实时上传进度显示。文章详细解析了方法的核心逻辑、适用场景及使用步骤,包括文件数据转换、业务参数准备和调用流程。该方案特别适用于需要特殊参数格式、自定义请求头和大文件上传进度的场景,能有效提升开发效率和用户体验。
2025-10-28 16:02:20
1424
原创 大龄女前端的絮絮叨叨:在失业焦虑里挣扎的那些日子
摘要: 一位大龄前端程序员分享了职业困境:从最初的创作热情到如今的迷茫断更,工作内容重复化消磨了动力。尽管前端工作比过往职业更适配内向性格,但“前端已死”论调和求职遇冷加剧了年龄焦虑。试图通过Three.js、低代码等转型却浅尝辄止,暴露出缺乏底层原理钻研的短板——习惯“代码搬运”而难获真正成就感。文章以共鸣式提问结尾,寻求同类困境者的应对经验。(149字)
2025-10-24 14:47:02
661
原创 uni-app 编译微信小程序:萤石摄像头视频播放完整教程(基于 ezplayer 插件)
【摘要】 萤石云ezplayer微信小程序插件为UniApp开发者提供便捷的视频监控集成方案,支持RTMP协议直播/回放,免除视听许可证申请。企业认证小程序通过配置plugins参数即可实现多场景功能(云台控制、语音对讲等)。集成步骤包括:微信插件申请、UniApp项目配置(manifest.json声明插件、pages.json注册组件)、页面组件调用(需设备序列号、访问令牌等参数)。开发时需注意:仅支持企业主体、播放地址需严格遵循萤石格式、真机调试必要性及令牌有效期管理。该方案显著降低安防类小程序的开发
2025-10-23 14:42:46
1563
1
原创 微信小程序app.js里居然可以写自定义方法?用起来简直不要太方便
【摘要】小程序开发者常忽略App.js的强大功能,它不仅能定义生命周期和全局数据,还可挂载自定义方法实现全局调用。通过在App实例上添加工具函数(如时间格式化、防抖)、业务方法(如登录检查、统一请求封装),可避免代码冗余,提升维护性。在页面/组件中通过getApp()调用这些方法,实现一次定义、全局复用。但需注意避免过度使用,确保this指向正确和执行时机。这一技巧可显著提升开发效率和项目可维护性。
2025-09-12 16:36:38
738
原创 【避坑指南】C盘红了?微信开发者工具各种诡异故障的元凶:磁盘空间不足!
微信小程序开发者在C盘空间不足时会遇到调试基础库下载失败、工具更新失败、安装报错等问题。主要原因是微信开发者工具的缓存、用户数据和安装文件都存储在C盘,当空间不足时无法正常读写。解决方案包括:1)深度清理C盘,删除微信开发者工具缓存;2)使用磁盘工具扩容C盘;3)建议将软件安装到其他分区,并保持C盘至少100GB空间。定期清理和加装大容量SSD可从根本上解决问题。
2025-09-05 15:35:08
1248
原创 基于heatmap.js源码修改使热力图重合部分颜色不叠加的方法
本文针对热力图重叠区域颜色叠加失真问题,提出通过修改heatmap.js源码的解决方案。在报警等级展示场景中,传统RGB叠加会导致两个相同等级区域的显示值异常升高。通过分析源码,重点修改了_drawAlpha和_organiseData方法,将颜色累加逻辑改为取最大值计算,确保重叠区域正确显示最高报警等级而非叠加值。修改后效果符合业务需求,同时保持了良好性能。该方法适用于其他需要取最大值的热力图应用场景。
2025-09-03 11:30:45
473
原创 uniApp App 端日志本地存储方案:实现可靠的日志记录功能
本文介绍了在UniApp中实现本地日志存储的方案。该方案提供了完整的日志工具类,支持多级别日志记录(DEBUG/INFO/WARN/ERROR)、按日期分割日志文件、自动清理过期日志等功能。通过封装UniApp文件系统API,实现了日志的写入、追加、读取和清理操作,确保日志在App重启后不会丢失。开发者只需导入该工具类,即可方便地进行日志记录和管理,为App的调试和问题排查提供有力支持。
2025-08-15 14:27:22
835
原创 JavaScript 解析 Modbus 响应数据的实现方法
本文介绍了JavaScript中解析Modbus协议数据的常用方法。Modbus协议采用大端模式存储多字节数据,文章提供了5种核心解析函数:16/32位无符号整数、字符串、16位有符号整数和32位浮点数。其中32位浮点数解析借助DataView实现,字符串解析支持遇到0x00终止。使用时需注意边界检查、大端模式及设备特定的数据转换要求。这些函数适用于处理WebSocket或串口转TCP/IP获取的Modbus数据。
2025-08-15 09:52:12
440
原创 uniapp Vue2 获取电量的独家方法:绕过官方插件限制
Uniapp中使用Vue2开发时,官方uni.getBatteryInfo方法存在局限。本文介绍了通过plus调用Android原生API获取电量的替代方案:导入android.content.Context和android.os.BatteryManager类,获取应用上下文后调用getSystemService获取电池服务,最后通过getIntProperty取得电量百分比。该方法仅适用于Android平台,需要添加BATTERY_STATS权限,并要注意不同Android版本的兼容性差异。相较于官方方
2025-06-06 14:36:08
1287
原创 uniapp 安卓 APP 后台持续运行(保活)的尝试办法
摘要: 本文针对Uniapp开发的安卓APP后台保活需求,以小米手机为例,从系统设置和代码优化两方面提供解决方案。系统设置包括调整电量策略为"无限制"、开启自启动、配置权限和通知管理等。应用优化建议通过原生代码开启前台服务或使用DCloud保活插件,以提升后台存活率。不同机型需针对性适配,开发者可结合系统设置与代码优化实现最佳效果。 (字数:148)
2025-06-06 10:19:12
3985
原创 uniapp 安卓端 app 保活辅助设置的代码实现
在安卓系统中,为了确保uniapp应用在后台持续运行,避免被系统关闭,需要进行一系列设置。首先,通过代码检查并引导用户设置电池免优化,避免系统过度限制应用后台活动。其次,引导用户将应用从自动管理改为手动管理,并开启后台运行权限。此外,确保应用的通知权限已开启,以提高后台活跃度。这些设置可以通过引入安卓相关类和使用Intent打开系统设置页面来实现。在实际应用中,可以在启动时进行相关检查和引导,确保用户完成必要设置
2025-05-20 09:57:07
1935
1
原创 Vue3 中用 canvas 封装抽奖转盘组件:设定中奖概率及奖项图标和名称
在 Vue3 中,利用 canvas 封装抽奖转盘组件能实现灵活的抽奖功能。下面先阐述其实现原理和步骤,再附上完整代码,助你快速掌握该组件的开发。
2025-05-06 19:54:52
1155
原创 uniapp app 端获取陀螺仪数据的实现攻略
在 uniapp 开发中,在 app 端并不被支持,这给需要获取陀螺仪数据的开发者带来了挑战。不过,借助 Native.js,我们能调用安卓原生代码实现这一需求。接下来,就为大家详细介绍实现步骤,并附上完整代码示例。
2025-05-06 15:49:54
1185
原创 uniapp 实现低功耗蓝牙连接并读写数据实战指南
在物联网应用场景中,低功耗蓝牙(BLE)凭借其低能耗、连接便捷的特点,成为设备间数据交互的重要方式。Uniapp 作为一款跨平台开发框架,提供了丰富的 API 支持,使得在多个端实现低功耗蓝牙功能变得轻松高效。本文将结合示例代码,详细讲解如何在 Uniapp 中实现低功耗蓝牙的连接、数据读取与写入操作。
2025-04-30 10:00:47
3724
1
原创 3D旋转+霓虹光效!这个登录页面代码我看了十遍
这种3D交互方案特别适合科技类后台系统,给用户带来强烈的视觉冲击。建议在PC端使用,移动端需要做响应式适配。
2025-03-27 15:56:15
344
原创 Vue3 实战:基于 mxGraph 与 WebSocket 的动态流程图构建
本文通过完整的代码示例展示了 Vue3 + mxGraph + WebSocket 的组合应用,实现了动态流程图的实时更新功能。mxGraph 的 Vue3 集成方法WebSocket 的状态管理与重连机制数据驱动的画布更新逻辑通过这种技术组合,我们可以构建出具有实时交互能力的可视化应用,适用于流程监控、在线协作等场景。后续可以进一步扩展节点样式、布局算法和交互事件等功能。
2025-03-24 11:10:45
1094
原创 Vue 3 中使用 vue - pdf - embed + vue3 - pdfjs 在线预览 PDF
在许多 Web 应用程序中,需要实现 PDF 文件的在线预览功能。Vue 3 作为流行的前端框架,配合 vue - pdf - embed 和 vue3 - pdfjs 库,可以轻松实现这一需求。本文将详细介绍如何在 Vue 3 项目中使用这两个库进行 PDF 在线预览。
2025-03-19 16:01:10
3775
原创 Vue 项目配置文件独立部署方案:无需重新打包的动态配置管理
配置修改即时生效多环境差异化部署降低发布风险简化运维流程该方案特别适合需要频繁调整配置的中台系统、数据看板等应用场景。实际使用中可结合服务端配置中心进一步提升管理效率。
2025-03-13 14:21:40
982
3
原创 Vue 3 中搭建菜单权限配置界面的详细指南
在现代 Web 应用开发中,菜单权限配置是一个至关重要的功能,它确保不同角色的用户能够访问特定的功能模块。Vue 3 作为一款流行的 JavaScript 框架,为我们提供了高效且灵活的方式来构建这样的界面。本文将通过实际代码示例,详细讲解如何在 Vue 3 中搭建一个菜单权限配置界面。
2025-03-11 14:56:55
1403
2
原创 在Uniapp中实现特殊字符弹出框并插入输入框
功能描述:在父组件中放置一个键盘图标,点击后弹出特殊字符集,用户点击字符后,字符将被插入到输入框中。技术栈:Uniapp + Vue3 + uni-popup组件。通过封装组件,我们实现了在Uniapp中点击键盘图标弹出特殊字符集,并将选中的字符插入到输入框中的功能。这种方式不仅提升了用户体验,还使得代码结构更加清晰,便于维护。希望本文对你有所帮助,欢迎在评论区留言讨论!
2025-03-07 14:46:27
1228
原创 深度剖析与解决 el - radio 点击页面闪动问题
el - radio点击页面闪动问题主要源于transform和transition相关的样式设置与浏览器渲染机制之间的矛盾。通过仔细分析具体代码,针对性地调整transform属性,合理使用transition相关属性,并考虑浏览器兼容性,能够有效解决这一问题,提升页面的稳定性和用户体验。
2025-03-06 17:30:35
580
原创 vue3-pc-template后台管理之角色管理与功能权限配置实践
通过上述步骤,我们在Vue3项目中实现了基本的功能权限配置。这种权限控制方式不仅提高了系统的安全性,还使得代码更加模块化和易于维护。在实际应用中,可以根据具体需求进一步完善和扩展权限管理系统。欢迎 Star 和 Fork 项目,一起构建更完善的权限管理体系!
2025-03-06 14:15:09
662
原创 Vue 3 + Vite 项目配置访问地址到服务器某个文件夹的解决方案
在开发 Vue 3 + Vite 项目时,我们经常需要将项目部署到服务器的某个特定文件夹下。例如,将项目部署到目录下,而不是服务器的根目录。这时,我们需要对 Vite 和 Vue Router 进行一些配置,以确保项目能够正确访问资源和处理路由。本文将详细介绍如何配置 Vite 的base选项以及 Vue Router 的路由模式,解决部署到服务器子文件夹时可能遇到的问题。通过以上配置,我们可以轻松地将 Vue 3 + Vite 项目部署到服务器的某个文件夹下。Vite 配置:通过base。
2025-02-27 15:23:30
2009
原创 手把手教你封装一个uniapp vue3组合式API手写签名组件
在移动端开发中,手写签名功能是一个非常常见的需求。本文将手把手教你如何在uniapp中使用vue3的组合式API封装一个手写签名弹出框组件。通过封装,我们可以在项目中轻松复用该组件,提高开发效率。
2025-02-20 16:43:54
864
全方位工控组态图库大合集-打造高效工控设计的利器
2025-01-06
《openCV基础PDF教程》-轻松入门计算机视觉与图像处理
2024-12-12
《TurboPi智能视觉小车-AI视觉基础教程》-探索智能驾驶,开启AI视觉编程新篇章
2024-12-12
《树莓派4B开发入门手册》-开启您的嵌入式计算之旅
2024-12-12
PID控制器的工作原理及其三个关键环节的应用解析
2024-12-12
【高效学习伴侣】-软件设计师专属课后习题集,附完整答案版!巩固知识,提升技能,一网打尽!
2024-12-03
软件设计师2023年、2022年全套真题
2024-12-03
精准押题-软件设计师考试必备!独家押题10套及答案详解,助你一臂之力!
2024-12-03
视频直播和屏幕录制软件OBS Studio(Open Broadcaster Software
2024-09-18
乡镇街道级边界JSON文件
2024-09-05
原子化css-常用css整理-快速css样式
2024-09-06
微软雅黑字体包(包含完整版和精简版)
2024-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅