https://github.com/cczx/js-storage
window.localStorage、window.sessionStorage、Cookie
https://github.com/cczx/js-storage
html5 javascript storage typescript
Last synced: about 1 month ago
JSON representation
window.localStorage、window.sessionStorage、Cookie
- Host: GitHub
- URL: https://github.com/cczx/js-storage
- Owner: CCZX
- Created: 2020-06-28T06:49:42.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T19:34:33.000Z (over 3 years ago)
- Last Synced: 2025-02-11T16:39:21.396Z (over 1 year ago)
- Topics: html5, javascript, storage, typescript
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/js-storages
- Size: 482 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# js-storages
[]() [](https://travis-ci.org/CCZX/js-storage) [](https://www.npmjs.com/package/js-storages) [](https://www.npmjs.com/package/js-storages)
`js-storages`是一个封装了`localStorage`、`sessionStorage`、`Cookie`对象的方法的`JavaScript`库。使用`js-storages`你可以简单、方便的对本地存储进行操作。
## 安装
```bash
npm install js-storages --save-dev
yarn add js-storages
```
## 使用
```javascript
import storages from 'js-storages'
storages.JSLocalStorage.set('key', 'value')
storages.JSLocalStorage.get('key')
storages.JSSessionStorage.set('key', 'value')
storages.JSSessionStorage.get('key')
storages.JSCookie.set('key', 'value', {
" : 1000*60*60*24*30,
" path: '/',
" domain: 'www.baidu.com',
" secure: true
})
storages.JSCookie.get('key')
```
你也可以导入指定指定模块后再进行操作
```javascript
import { JSLocalStorage, JSSessionStorage, JSCookie } from 'js-storages'
```
## 具体方法
### `localStorage`、`sessionStorage`
`HTML5`提供的`localStorage`和`sessionStorage`对象的`API`十分类似,只是在对值保存的生命周期上有所不同:[网址链接](https://juejin.im/post/5a191c47f265da43111fe859),所以对`localStorage`和`sessionStorage`封装的`API`是相同的。
#### 1、set
在`Storage`中存储指定的值
> 语法:
```ts
JSLocalStorage.set(key, value[, time[, callback]])
```
> 参数:
**key** (必须,`string`)
所存储值的键
**value** (必须,`string | object | any[] | number`)
存储的值
**time**(可选,`number`)
存储值的过期时间,单位毫秒
**callback**(可选,`Function`)
执行成功的回调函数
#### 2、get
获取`Storage`中指定的值。
> 语法
```javascript
JSLocalStorage.get(key[, callback])
```
> 参数
**key** (必须,`string`)
根据`key`从`Storage`中获取对应的值。
**callback**(可选,`Function`)
执行成功的回调函数
#### 3、remove
删除`Storage`中指定的值。
> 语法
```javascript
JSLocalStorage.remove(key)
```
> 参数
**key** (必须,`string`)
根据`key`值从`Storage`中删除指定的值。
#### 4、removeAll
删除`Storage`中所有的值。
> 语法
```javascript
JSLocalStorage.removeAll()
```
#### 5、has
判断`Storage`中是否含有某个值。
> 语法
```javascript
JSLocalStorage.has(key)
```
> 参数
**key** (必须,`string`)
根据`key`值判断`Storage`中存在某个键
#### 6、keys
获取`Storage`中所有的键。
> 语法
```javascript
JSLocalStorage.keys()
```
### cookie
#### 1、set
> 语法:
```ts
JSCookie.set('test', 'value', {
path: '/',
expries: 1000 * 60
})
```
> 参数:
**key** [`string`]
必填字段,不能是:`path`、`expires`、`domain`等字段。
**value** [`any`]
必填字段,存储的值
**args** [`object`]
可选字段,额外的配置信息,包括`path`、`expires`、`domain`、`secure`。
```json
"expires": "cookie过期时间",
"path": "cookie存储的路径",
"domain": "cookie存储的域名",
"secure": "cookie只通过https协议传输"
```
#### 2、get
获取某个cookie的value。
> 语法:
```js
JSCookie.get('key')
```
> 参数:
**key** [`string`]
必填字段。
#### 3、has
判断是否存储有某个cookie。
> 语法:
```js
JSCookie.has('key')
```
> 参数:
**key** [`string`]
必填字段
#### 4、remove
清除某个cookie
> 语法:
```js
JSCookie.remove('key')
```
> 参数:
**key** [`string`]
必填字段
#### 5、removeAll
清除所有cookie
> 语法:
```js
JSCookie.removeAll()
```
#### 6、keys
获取所有cookie的key,并以数组的形式返回。
> 语法:
```js
JSCookie.keys()
```