3.3 KiB
3.3 KiB
@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): 根据响应数据显示警告或错误提示。