纯前端实现去图片水印方案总结

核心思路:纯前端、本地AI模型推理,图片不上传服务器。 目前实现效果如下: 体验地址 WoDeTool 。 一、方案概览 核心思路:纯前端、本地推理,图片不上传服务器,保护用户隐私。 通过用画笔标记水印区域(mark),浏览器在本地加载 LaMa inpainting 模型,通过 ONNX Runtime Web 完成修复,最后输出结果。 ……

实现LRU缓存算法

LRU缓存算法 LRU 的全称是Least Recently Used, 即最久未使用的,属于典型的内存管理算法。 实现思路 因缓存空间是有限的,最近使用的放在最前,最久未使用的放在最后。当缓存空间已满时,新增一条数据时,需删除最后一条。每次取用缓存数据时,都需要更新一次排序。 示例代码 class LRUCache { #map; #length; ……

小程序滚动加载优化方案

微信小程序滚动加载拓展组件,对官方方案进行了以下优化: 减少重复去写分页加载函数和分页逻辑 支持长列表虚拟渲染 优化删除子项无刷新交互 使用 安装组件 npm i mini-scrolling-loading --save 在页面的 json 配置文件中添加 mini-scrolling-loading 自定义组件的配置 { "usingComponents": { "mini-scrol……

Rollup 3.x 版本 打包报错: Original error: Cannot use import statement outside a module

平台:window 11 Node: v14.18.3 rollup: ^3.14.0 打包时出现下面错误: `(node:6152) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. (Use 'node --trace-warnings ...' to show where the warning was created) [!] RollupError: Node tried to load your confi……

Rush.js 多项目管理工具

rush.js微软出品,专门为monorepo打造的项目管理工具。 rush是为大型团队准备的,它可以给你提供一个仓库下维护多个项目的构建和发布方案。 一、先了解下Monorepo Monorepo概念 一种项目管理方式:一个git仓库下管理多个项目,适用于大型团队,框架开发,库开发等。 优点 统一技术栈 - 降低团队成员之间的backup成本 2.……

谈谈上滑数据删除与加载的问题

当前遇到的问题 当前数据量很大,需分页请求加载,其中涉及到局部数据删除,删除后不是刷新当前页面,那么如何使数据删除后无缝衔接呢? 思路: 若请求数据总数total小于页码pageSize时,可以略过,不做处理。 若请求数据总数total大于页面pageSize时,如果删除的数据为最后一个page的数据,则不处理,反之则需特殊处理……

微信小程序插件开发

微信小程序插件的发布方便了代码公用和数据交互,可以保证业务功能公用的同时保证代码的安全性。 微信插件的定义如下:插件是对一组 js 接口、自定义组件或页面的封装,用于嵌入到小程序中使用。插件不能独立运行,必须嵌入在其他小程序中才能被用户使用;而第三方小程序在使用插件时,也无法看到插件的代码。因此,插件……