pnpm add @lhvision/helpers
IMPORTANT: 从 2.0 开始移除了 CJS 产物只支持 ESM
默认导出为 browser.js
shared.js
所有函数
import { } from '@lhvision/helpers'
import { } from '@lhvision/helpers/browser'
import { } from '@lhvision/helpers/shared'
import { } from '@lhvision/helpers/upload'
工具函数集合,用于浏览器环境。
exitFullScreen
- 退出全屏getFullScreenElement
- 获取全屏元素isFullScreen
- 判断是否全屏requestFullScreen
- 请求全屏toggleFullScreen
- 切换全屏状态onFullScreenChange
- 监听全屏变化offFullScreenChange
- 移除全屏监听
copyText
- 复制文本readText
- 读取剪贴板文本pasteImage
- 粘贴图片
downloadBlob
- 下载 Blob 数据downloadUrl
- 下载 URLstreamDownload
- 流式下载
watchVisibility
- 监听页面可见性TabCommunication
- 使用 BroadcastChannel 跨标签页通信getTokenPayload
- 获取 Token 载荷isTokenExpiringSoon
- 检查 Token 是否即将过期hexToRgb
- 十六进制转 RGBrgbToHsl
- RGB 转 HSLrgbToHsv
- RGB 转 HSVAudioVisualizer
- 音频可视化工具CenterTextRenderer
- 居中文本渲染器getEyeDropperColor
- 获取屏幕取色器颜色canvasToImage
- 将 Canvas 转换为高清图片setTheme
- 设置主题 dark 或 lightinitThemeListener
- 初始化主题监听器,设置 dark 或 light 主题startViewTransition
- document.startViewTransition apisaveFileInBrowser
- 保存文件到磁盘openFileInBrowser
- 从磁盘读取文件
通用工具函数。
requestManager
- 单例请求管理器request
- 请求函数
processBinaryStream
- 二进制流处理processByte
- 字节处理processTextStream
- 文本流处理
debounce
- 防抖throttle
- 节流pLimit
- 并发限制
getTimeRemaining
- 计算两个时间点之间的时间差formatCountdown
- 格式化时间差显示getDayOfYear
- 某一个日期在当年的第几天getMonthCalendar
- 获取月历网格数据
AsyncLRUCache
- 异步 LRU 缓存LRUCache
- LRU 缓存eventBus
- 单例事件总线,可以实现在响应拦截器中路由跳转等功能singleton
- 使用 Proxy 代理模式实现单例模式
文件上传相关功能,哈希计算功能基于 hash-wasm 实现。
initHashWASM
- 初始化 WASMcalculateMD5
- 计算 MD5calculateStreamMD5
- 流式计算大文件 MD5calculateMD5WithWorker
- Worker 方式计算 MD5calculateLargeFileMD5
- 智能选择方式计算大文件 MD5
calculateChunksMD5
- 计算文件分片 MD5calculateChunksMD5WithWorkers
- Worker 并行计算分片 MD5
createFileHashStream
- 创建文件哈希计算流hashStreamToUploadStream
- 哈希流转上传流uploadFileInChunks
- 通用分片上传流程