# kaka-localstorage **Repository Path**: zach2019/kaka-localstorage ## Basic Information - **Project Name**: kaka-localstorage - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-18 - **Last Updated**: 2024-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LocalStorageHelper `LocalStorageHelper` 是一个轻量级的封装库,用于简化对浏览器 `localStorage` 的操作,支持设置过期时间、更新、删除、以及判断键值对的存在性。 ## 安装 通过 npm 安装: ```bash npm install kaka-localstorage ``` 或通过 yarn 安装: ```bash yarn add kaka-localstorage ``` ## 使用方法 ### 引入 在你的项目中引入 `LocalStorageHelper`: ```javascript import LocalStorageHelper from 'kaka-localstorage' ``` ### 方法 #### `setItem(key, value, ttl = null)` 设置一个键值对,同时可以设置过期时间(单位:秒)。 **参数**: - `key` (`string`): 存储的键名。 - `value` (`any`): 需要存储的值。 - `ttl` (`number | null`, 可选): 存储项的生存时间,单位为秒。如果不设置或为 `null`,则不会过期。 **示例**: ```javascript LocalStorageHelper.setItem('username', 'JohnDoe', 3600) // 设置 1 小时的过期时间 LocalStorageHelper.setItem('isLoggedIn', true) // 永不过期 ``` #### `getItem(key)` 获取某个键值对,如果已过期,则返回 `null`。 **参数**: - `key` (`string`): 要获取的键名。 **返回**: - `value` (`any | null`): 存储的值或 `null`(如果已过期或不存在)。 **示例**: ```javascript const username = LocalStorageHelper.getItem('username') ``` #### `removeItem(key)` 删除某个键值对。 **参数**: - `key` (`string`): 要删除的键名。 **示例**: ```javascript LocalStorageHelper.removeItem('username') ``` #### `clearAll()` 清空所有的 `localStorage` 项。 **示例**: ```javascript LocalStorageHelper.clearAll() ``` #### `updateItem(key, newValue, ttl = null)` 更新某个键值对的值和过期时间。 **参数**: - `key` (`string`): 要更新的键名。 - `newValue` (`any`): 新的值。 - `ttl` (`number | null`, 可选): 新的过期时间,单位为秒。 **示例**: ```javascript LocalStorageHelper.updateItem('username', 'JaneDoe', 7200) // 更新为 2 小时 ``` #### `hasItem(key)` 判断某个键是否存在(且未过期)。 **参数**: - `key` (`string`): 要检查的键名。 **返回**: - `boolean`: `true` 如果键存在且未过期,否则为 `false`。 **示例**: ```javascript const exists = LocalStorageHelper.hasItem('username') ``` ## 许可证 本项目使用 MIT 许可证,详情请查看 [LICENSE](./LICENSE) 文件。