# CacheBorderLoader **Repository Path**: wacky-idea/cache-border-loader ## Basic Information - **Project Name**: CacheBorderLoader - **Description**: 缓存结界 前端 文件缓存 加载器 - **Primary Language**: Unknown - **License**: ISC - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-08-20 - **Last Updated**: 2024-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## CacheBorderLoader (缓存结界) 浏览器 文件缓存 ### 功能 - 设置过期时间 - 自动统计当前进度 - 异步加载 - 友好的 ts 声明文件 ## events | name | Parameters | Description | | :------- | :--------: | :----------: | | progress | 单元格 | 总处理进度 | | success | 单元格 | 单个文件完成 | | error | 单元格 | 单个文件错误 | ## methods | name | Description | | :---------------------------------------------------------------------- | :---------: | | getInstance() | 获取单例 | | sha256(val:string) | sha256 计算 | | loaders(arg: [ModelInfo](#ModelInfo)[]) | 批量加载 | | loader(arg: [ModelInfo](#ModelInfo)) | 单个加载 | | delCache(id: string): number | 清理缓存 | | clearCache() | 清理所有 | | on(eventName: [EventName](#EventName), listener: (data: [EventCallBack](#EventCallBack)) => any): void; | 时间监听 | ## model ## ModelInfo ``` ts interface ModelInfo { /** * 资源路径 * * @type {string} * @memberof ModelInfo */ url: string /** * 资源 mime * * @type {string} * @memberof ModelInfo */ mime?: string /** * 资源过期时间 * * @type {number} * @memberof ModelInfo */ expire?: number } ``` ## EventName ``` ts type EventName = 'progress' | 'success' | 'error' ``` ## EventCallBack ``` ts interface EventCallBack { /** * 资源实体 * * @type {RequestEntity} * @memberof EventCallBack */ entity: RequestEntity /** * 当前实体下标 * * @type {number} * @memberof EventCallBack */ entityIndex: number /** * 总个数 * * @type {number} * @memberof EventCallBack */ totalSize: number /** * 总进度 * * @type {number} * @memberof EventCallBack */ totalProgress: number /** * 完成数量 * * @type {number} * @memberof EventCallBack */ completedNumber: number } ``` ## example ```js import { CacheBorderLoader } from '../src/CacheBorderLoader' // 获取单例 or new var cache = CacheBorderLoader.getInstance() // cache.on('*', (data) => { // }) cache.loader({ url:'./logo.png'}) 更多请查阅 example 文件夹 ```