# hd-localstorage

> 支持设置访问频率的本地存储

Latest version **1.2.0** (published 2020-12-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install hd-localstorage
pnpm add hd-localstorage
yarn add hd-localstorage
bun add hd-localstorage
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.0 |
| Published | 2020-12-16 |
| First published | 2020-10-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 7.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | handan |
| Maintainers | jobshan |
| Keywords | localStorage |

## Links

- npm: https://www.npmjs.com/package/hd-localstorage
- Repository: https://github.com/handan0409/hd-localStorage
- Homepage: https://github.com/handan0409/hd-localStorage#readme
- Issues: https://github.com/handan0409/hd-localStorage/issues
- npm.io page: https://npm.io/package/hd-localstorage

## Dependencies (1)

- [web-storage-cache](https://npm.io/package/web-storage-cache.md) ^1.1.1

## Alternatives

- [localforage](https://npm.io/package/localforage.md) — 6.2M weekly downloads
- [localforage-observable](https://npm.io/package/localforage-observable.md) — 30.8K weekly downloads
- [@y/y](https://npm.io/package/@y/y.md) — 30.1K weekly downloads
- [@metaobjectsdev/render](https://npm.io/package/@metaobjectsdev/render.md) — 3.5K weekly downloads
- [@ledgerhq/coin-algorand](https://npm.io/package/@ledgerhq/coin-algorand.md) — 1.1K weekly downloads

## Recent versions

- 1.2.0 (latest) — 2020-12-16
- 1.1.3 — 2020-11-11
- 1.1.2 — 2020-11-11
- 1.1.1 — 2020-11-11
- 1.1.0 — 2020-11-11
- 1.0.1 — 2020-10-29
- 1.0.0 — 2020-10-29

## README

# localStorage带有使用频率限制的本地存储
```
1、存储的数据，带有获取次数记录。常用语运营位展示 n天n次 的业务需求。
2、存储格式支持对象，数组，字符串，number等类型
3、只针对业务中经常使用的场景，代码简单，代码量少
```
## 使用过程

npm install --save hd-localstorage 或 yarn add hd-localstorage
```js
import Frequency from "hd-localstorage" ;
```

## 使用方法介绍

提供了2种常用的方法：get() ，set(). <br />
new Frequency(options)&nbsp;&nbsp;---&nbsp;&nbsp;options配置实例默认值，选填参数 <br />
day:2&nbsp;&nbsp;---&nbsp;&nbsp;配置数据过期时间，单位，天。默认无限大 <br />
frequency: 3&nbsp;&nbsp;---&nbsp;&nbsp;配置数据最大请求次数，单位，次。默认无限大<br />
```js
let frequency = new Frequency({
      day: 2,           // 设置默认几天几次，如果不设置，则默认无数天，无数次
      frequency: 3
})
```

### 1、set()存入操作
方法：set(name, value, params) <br />
参数1：name => 存储的key值 <br />
参数2：value => 存储的value值，默认取name值 <br />
参数3: options{ day: 几天, frequency: 几次 } => <br />
      day: 单位，天，支持浮点数 <br />
      frequency: 单位，次，不支持浮点数 <br />
      nowFrequency: 单位，次，不支持浮点数。当前获取次数，不填，默认为0 <br />
```js
frequency.set('name') 
frequency.set('name', '张三') 
frequency.set('name', '张三',{ day: 1, frequency: 1, nowFrequency: 1 }) //设置一天内只允许获取一次, 并且当前获取次数为1
```

### 2、对get()的获取操作
方法：get(name)<br />
参数1：name => 存储的key值
```js
frequency.get("name") ;
```
返回值：object || null <br />
注：如果没有存储过，或者存储过期，则返回 null，存储值存在并且在有效期范围内，则返回对象
```js
{
      value: "张三" ,   // 存储的value值
      isSafety: true ,  // 当前获取次数是否在安全值范围内
      nowNumber: 1, // 当前获取次数值
      maxNumber: 3, // 设置的获取次数限制
}
```

---
_Source: https://npm.io/package/hd-localstorage · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
