# @pakwoon/common-utils

> 通用工具包

Latest version **2.0.3** (published 2024-02-26) · 0 weekly downloads

## Install

```sh
npm install @pakwoon/common-utils
pnpm add @pakwoon/common-utils
yarn add @pakwoon/common-utils
bun add @pakwoon/common-utils
```

## Health

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

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.3 |
| Published | 2024-02-26 |
| First published | 2023-05-08 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 35.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | pakwoon |
| Keywords | pakwoon, common, utils |

## Links

- npm: https://www.npmjs.com/package/@pakwoon/common-utils
- npm.io page: https://npm.io/package/@pakwoon/common-utils

## Dependencies (3)

- [dva](https://npm.io/package/dva.md) 2.6.0-beta.22
- [crypto-js](https://npm.io/package/crypto-js.md) ^4.1.1
- [react-intl](https://npm.io/package/react-intl.md) 3.12.1

## Alternatives

- [@mdxeditor/editor](https://npm.io/package/@mdxeditor/editor.md) — 962.4K weekly downloads
- [mmdb-lib](https://npm.io/package/mmdb-lib.md) — 680.9K weekly downloads
- [playcanvas](https://npm.io/package/playcanvas.md) — 36.2K weekly downloads
- [@glw907/cairn-cms](https://npm.io/package/@glw907/cairn-cms.md) — 967 weekly downloads
- [markdown-to-confluence](https://npm.io/package/markdown-to-confluence.md) — 103 weekly downloads

## Recent versions

- 2.0.3 (latest) — 2024-02-26
- 2.0.2 — 2024-02-22
- 2.0.0 — 2023-12-08
- 1.0.1 — 2023-05-08
- 1.0.0 — 2023-05-08

## README

# @pakwoon/common-utils

通用工具包

## 日期

### compareTime

比较时间大小

#### 参数

- `time` _(string | number | Date)_ - 待比较时间
- `target` ? _(string | number | Date)_ - 目标时间（默认当前时间）

#### 返回

_(number)_ - 0: 相等，1: 大于，-1: 小于

### getBetweenDate

获取两日期间日期列表

#### 参数

- `dateStr` _(string)_ - 指定日期
- `targetDateStr` ? _(string)_ - 目标日期（默认当天）

#### 返回

_(string[])_ - 两日期间日期字符串列表

### getDateFormat

获取指定日期格式化后的字符串值

#### 参数

- `params` _(Params)_
  - `date` ? _(Date)_ - 日期（默认今天）
  - `formatIndex` ? _(number)_ - 格式化模式（默认：0）
    - 0: YYYY-MM-DD
    - 1: YYYY-MM-DD HH:mm:ss
    - 2: YYYY/MM/DD
    - 3: YYYY/MM/DD HH:mm:ss
    - 4: HH:mm:ss
    - 5: YYYY 年 MM 月 DD 日
    - 6: YYYY 年 MM 月 DD 日 HH 时 mm 分 ss 秒
    - 7: YYYY 年 MM 月 DD 日 HH 时 mm 分 ss 秒
  - `fillZero` ？ _(boolean)_ 是否补零（默认：是）

#### 返回

_(string)_ - 指定日期格式化后的字符串值

## 判断

### isNull

判断是否为 null

#### 入参

- `val` _(any)_ - 任何值

#### 返回

_(boolean)_ - 判断结果

### isUndefined

判断是否为 undefined

#### 入参

- `val` _(any)_ - 任何值

#### 返回

_(boolean)_ - 判断结果

## 对象

### omitNullVal

去除对象中值为空元素的属性（空字符串，null，undefined）

#### 入参

- `obj` _(Record<string, any>)_ - 待处理对象

#### 返回

_(Record<string, any>)_ - 不带空元素属性的对象

## 字符串

### toUppercaseFirstLetter

字符串首字母转大写

#### 入参

- `str` _(string)_ - 待转换字符串

#### 返回

_(string)_ - 转换后字符串

## url

### addQueryString

给指定 url 添加 queryString

#### 入参

- `url` _(string)_ - 原 url
- `query` _(Record<string, any>)_ - 待组装 queryString 对象

#### 返回

_(string)_ - 组装后的完整 url

### getQueryString

获取 queryString 对象或属性

#### 入参

- `url` ? _(string)_ - url（默认当前 url）
- `param` ? _(string)_ - 参数 key

#### 返回

_(undefined | string | SARecord)_ - queryString 对象或属性 或 不存在

### urlSearchParams

获取 queryString 对象或属性（用法与`getQueryString`一致）

## 类型

### ClearRecord

根据范型传入情况去除对象属性类型为 never 的属性

#### 使用

```typescript
type RequestOption<Query = never, Data = never> = ClearRecord<{
  query: Query;
  data: Data;
  headers?: Record<string, string>;
}>;
```

## 业务

### token

#### encryptedToken

加密 token

##### 入参

- `str` ? _(string)_ - 待加密的字符串
- `encryptKey` ? _(string)_ - 密钥

##### 返回

_(string)_ - 加密后的 token

#### decryptedToken

解密 token

##### 入参

- `encrypted` ? _(string)_ - 加密后的 token
- `encryptKey` ? _(string)_ - 密钥

##### 返回

_(string)_ - 加密前 token

#### getAccessToken

在 url 上获取 accessToken

##### 返回

_(string)_ - accessToken

#### setRefreshToken

存储 refreshToken 到 localStorage 中

##### 入参

- `refreshToken` ? _(string)_ - refreshToken

#### getRefreshToken

在 localStorage 中获取 refreshToken

##### 返回

- `refreshToken` ? _(string)_ - refreshToken

#### clearRefreshToken

清除 localStorage 中的 refreshToken

#### setToken

存储 token 到 localStorage 中

##### 入参

- `token` ? _(string)_ - token

#### getToken

在 localStorage 中获取 token

##### 返回

- _(string)_ - token

#### clearToken

清除 localStorage 中的 token

#### tokenConfig

统一设置 encryptKey，并返回完整 token 操作对象

### isLogin

根据 token 判断是否已登录

##### 返回

- _(boolean)_ 是否已登录

### useIntl

umi 多语言 hook

### createModel

umi dva 快速创建 model 方法

## 枚举

### ENV

系统运行环境

* DEV - 开发环境
* TEST - 测试环境
* PRE - 预发布环境
* PROD - 开发环境

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