Files
wukuang/packages/core-utils/README.md
T
2026-05-23 14:05:22 +08:00

99 lines
3.3 KiB
Markdown

# @lingshu/core-utils
`@lingshu/core-utils` 是一个前端工具库,包含了在项目开发中常用的各种工具函数,旨在提高开发效率和代码复用性。
## 目录结构
```
core-utils/
├── src/
│ ├── enum/ # 枚举定义
│ │ └── Common.ts
│ ├── model/
│ │ └── bo/ # 业务对象模型定义
│ │ └── CommonBO.ts
│ ├── utils/ # 工具函数集合
│ │ ├── Common.ts
│ │ ├── Download.ts
│ │ ├── HightlightText.ts
│ │ ├── LanguageUtil.ts
│ │ ├── ReplaceObject.ts
│ │ ├── RequestUtil.ts
│ │ ├── TokenUtil.ts
│ │ ├── ValTypeUtils.ts
│ │ └── WaringTips.ts
│ └── index.ts # 入口文件,导出所有公共模块
└── package.json
```
## `src/utils` 模块说明
### `Common.ts`
该文件包含了一系列通用的辅助函数,例如:
- `useRequestStatus()`: 用于管理请求状态(pending, finish, failed)的组合式函数。
- `objListToObj(list, key)`: 将对象数组转换为以指定键为属性的对象。
- `openWindow(url, target, rel)`: 安全地打开新窗口或标签页。
- `escapeRegExp(string)`: 转义字符串中的正则表达式特殊字符。
- `reNameByFixNumLen(...)`: 根据固定长度规则重命名文件或实体。
- `generateLimitedIncrementalName(...)`: 生成带有限制长度的自增名称。
- `getRandomStrByTime(...)`: 根据时间戳和随机数生成唯一字符串。
### `Download.ts`
提供了文件下载相关的函数:
- `downByUrl(fileUrl, fileName)`: 通过 URL 下载文件。
### `HightlightText.ts`
用于文本高亮显示:
- `highLightText(text, keyword)`: 在文本中高亮显示指定关键词。
### `LanguageUtil.ts`
多语言处理工具:
- `getTagLanguage(data)`: 根据当前语言获取多语言对象中的文本。
- `setTagLanguage(str, type)`: 设置多语言文本。
### `ReplaceObject.ts`
对象替换和合并工具:
- `deepReplace(a, b)`: 深度替换对象 `a` 中的属性,如果 `a``b` 的对应属性都是纯对象,则进行递归合并。
### `RequestUtil.ts`
封装了请求相关的逻辑:
- `Method`: 定义了常用的 HTTP 请求方法枚举。
- `reIns`: `Request` 实例,配置了请求超时、重试拦截器和请求头(如 `X-App-Id``Authorization`)。
- `sendRequest(param)`: 发送 HTTP 请求的通用方法,处理响应和错误。
### `TokenUtil.ts`
令牌管理工具:
- `accessToken`: `Token` 实例,用于管理访问令牌。
- `getToken()`: 获取访问令牌,如果过期则刷新。
- `getXAppId()`: 获取 `X-App-Id`
- `refreshToken()`: 刷新访问令牌。
### `ValTypeUtils.ts`
值类型判断和转换工具:
- `isEmptyToNumber(val)`: 判断值是否可以转换为数字,并处理空值情况。
- `getTagValByNumber(val, defaultValue)`: 将值转换为数字,并提供默认值。
- `isEmptyValue(value)`: 判断值是否为空(包括对象和基本类型)。
### `WaringTips.ts`
警告和错误提示工具:
- `transResponseData(res)`: 转换响应数据,提取错误码和消息。
- `waringTip(res, warnCodes, showMsg, plain)`: 根据响应数据显示警告或错误提示。