{"id":18965604,"url":"https://github.com/cczx/js-storage","last_synced_at":"2026-05-09T00:13:50.947Z","repository":{"id":39076989,"uuid":"275525235","full_name":"CCZX/js-storage","owner":"CCZX","description":"window.localStorage、window.sessionStorage、Cookie","archived":false,"fork":false,"pushed_at":"2023-01-07T19:34:33.000Z","size":494,"stargazers_count":2,"open_issues_count":20,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-11T16:39:21.396Z","etag":null,"topics":["html5","javascript","storage","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/js-storages","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CCZX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-28T06:49:42.000Z","updated_at":"2020-07-30T14:38:41.000Z","dependencies_parsed_at":"2023-02-07T23:01:53.677Z","dependency_job_id":null,"html_url":"https://github.com/CCZX/js-storage","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCZX%2Fjs-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCZX%2Fjs-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCZX%2Fjs-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CCZX%2Fjs-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CCZX","download_url":"https://codeload.github.com/CCZX/js-storage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239964497,"owners_count":19725950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["html5","javascript","storage","typescript"],"created_at":"2024-11-08T14:30:24.228Z","updated_at":"2026-04-03T18:30:17.890Z","avatar_url":"https://github.com/CCZX.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# js-storages\n[![node version](https://badgen.net/npm/node/next)]() [![Build Status](https://travis-ci.org/CCZX/js-storage.svg?branch=master)](https://travis-ci.org/CCZX/js-storage) [![js-storages npm version](https://badgen.net/npm/v/js-storages)](https://www.npmjs.com/package/js-storages) [![js-storages weekly download](https://badgen.net/npm/dw/js-storages)](https://www.npmjs.com/package/js-storages)\n\n`js-storages`是一个封装了`localStorage`、`sessionStorage`、`Cookie`对象的方法的`JavaScript`库。使用`js-storages`你可以简单、方便的对本地存储进行操作。\n\n## 安装\n\n```bash\nnpm install js-storages --save-dev\nyarn add js-storages\n```\n\n## 使用\n\n```javascript\nimport storages from 'js-storages'\n\nstorages.JSLocalStorage.set('key', 'value')\nstorages.JSLocalStorage.get('key')\n\nstorages.JSSessionStorage.set('key', 'value')\nstorages.JSSessionStorage.get('key')\n\nstorages.JSCookie.set('key', 'value', {\n \" : 1000*60*60*24*30,\n \" path: '/',\n \" domain: 'www.baidu.com',\n \" secure: true\n})\nstorages.JSCookie.get('key')\n```\n\n你也可以导入指定指定模块后再进行操作\n```javascript\nimport { JSLocalStorage, JSSessionStorage, JSCookie } from 'js-storages'\n```\n\n## 具体方法\n\n### `localStorage`、`sessionStorage`\n`HTML5`提供的`localStorage`和`sessionStorage`对象的`API`十分类似，只是在对值保存的生命周期上有所不同：[网址链接](https://juejin.im/post/5a191c47f265da43111fe859)，所以对`localStorage`和`sessionStorage`封装的`API`是相同的。\n\n#### 1、set\n\n在`Storage`中存储指定的值\n\n\u003e 语法：\n\n```ts\nJSLocalStorage.set(key, value[, time[, callback]])\n```\n\n\u003e 参数：\n\n**key** （必须，`string`）\n\n所存储值的键\n\n**value** （必须，`string | object | any[] | number`）\n\n存储的值\n\n**time**（可选，`number`）\n\n存储值的过期时间，单位毫秒\n\n**callback**（可选，`Function`）\n\n执行成功的回调函数\n\n#### 2、get\n\n获取`Storage`中指定的值。\n\n\u003e 语法\n\n```javascript\nJSLocalStorage.get(key[, callback])\n```\n\n\u003e 参数\n\n**key** （必须，`string`）\n\n根据`key`从`Storage`中获取对应的值。\n\n**callback**（可选，`Function`）\n\n执行成功的回调函数\n\n#### 3、remove\n\n删除`Storage`中指定的值。\n\n\u003e 语法\n\n```javascript\nJSLocalStorage.remove(key)\n```\n\u003e 参数\n\n**key** （必须，`string`）\n\n根据`key`值从`Storage`中删除指定的值。\n\n#### 4、removeAll\n\n删除`Storage`中所有的值。\n\n\u003e 语法\n\n```javascript\nJSLocalStorage.removeAll()\n```\n#### 5、has\n\n判断`Storage`中是否含有某个值。\n\n\u003e 语法\n\n```javascript\nJSLocalStorage.has(key)\n```\n\u003e 参数\n\n**key** （必须，`string`）\n\n根据`key`值判断`Storage`中存在某个键\n\n#### 6、keys\n\n获取`Storage`中所有的键。\n\n\u003e 语法\n\n```javascript\nJSLocalStorage.keys()\n```\n\n### cookie\n\n#### 1、set\n\n\u003e 语法：\n\n```ts\nJSCookie.set('test', 'value', {\n  path: '/',\n  expries: 1000 * 60\n})\n```\n\n\u003e 参数：\n\n**key** [`string`]\n\n必填字段，不能是：`path`、`expires`、`domain`等字段。\n\n**value** [`any`]\n\n必填字段，存储的值\n\n**args** [`object`]\n\n可选字段，额外的配置信息，包括`path`、`expires`、`domain`、`secure`。\n```json\n\"expires\": \"cookie过期时间\",\n\"path\": \"cookie存储的路径\",\n\"domain\": \"cookie存储的域名\",\n\"secure\": \"cookie只通过https协议传输\"\n```\n\n#### 2、get\n\n获取某个cookie的value。\n\n\u003e 语法：\n\n```js\nJSCookie.get('key')\n```\n\n\u003e 参数：\n\n**key** [`string`]\n\n必填字段。\n\n#### 3、has\n\n判断是否存储有某个cookie。\n\n\u003e 语法：\n\n```js\nJSCookie.has('key')\n```\n\u003e 参数：\n\n**key** [`string`]\n\n必填字段\n\n#### 4、remove\n\n清除某个cookie\n\n\u003e 语法：\n\n```js\nJSCookie.remove('key')\n```\n\u003e 参数：\n\n**key** [`string`]\n\n必填字段\n\n#### 5、removeAll\n\n清除所有cookie\n\n\u003e 语法：\n\n```js\nJSCookie.removeAll()\n```\n\n#### 6、keys\n\n获取所有cookie的key，并以数组的形式返回。\n\n\u003e 语法：\n\n```js\nJSCookie.keys()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcczx%2Fjs-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcczx%2Fjs-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcczx%2Fjs-storage/lists"}