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