@tpxiang/axzo-util
v1.3.2-beta
Published
>为提高开发效率,提供了一些公用方法,方便快速开发,同时避免在项目中重复代码编写。umd格式 ### 一、使用方式
Downloads
1
Readme
axzo-util 通用库
为提高开发效率,提供了一些公用方法,方便快速开发,同时避免在项目中重复代码编写。umd格式
一、使用方式
- 1、通过命令行引入
yarn add axzo-util
- 2、使用方法
import { deepClone } from "axzo-util";
deepClone('copy')
二、具体方法
1、数组
主要包含一些数组常用的方法
1. 数组最大值: arrayMaxMum
| 名称 | 参数 | 返回值 | | ----------- | ------- | ------ | | arrayMaxMum | array[] | Number |
2. 数组最小值: arrayMinMum
| 名称 | 参数 | 返回值 | | ----------- | ------- | ------ | | arrayMinMum | array[] | Number |
3. 数组求和: arraySum
| 名称 | 参数 | 返回值 | | -------- | ------- | ------ | | arraySum | array[] | Number |
4. 数组对象去重: arrayDeduplication
| 名称 | 参数 | 返回值 |描述| | -------- |----------------------|---------|---| | arrayDeduplication | array[],key: 去重关键字名称 | array[] |通过for循环+filter方式实现|
5. 数组对象去重: uniqueDeduplication
| 名称 | 参数 | 返回值 | 描述 | | -------- |----------------------|---------|--------------| | uniqueDeduplication | array[],key: 去重关键字名称 | array[] | 通过reduce方式实现 |
6. 树形结构遍历查找所有父级元素id: findPatentValue
| 名称 | 参数 | 返回值 | 描述 | | -------- |--------------------------------------------------------------------------------------------|---------|-----| | findPatentValue | array[],targetId: 当前子节点ID,valueKey:可选(子节点目标标识名称。默认id),childrenKey:可选(子节点目标数组名称。默认children) | array[] | - |
7. 遍历树形结构: foreachTree
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------------------------------------------------------------|-----|-----| | foreachTree | array[],,childrenName:(子节点目标数组名称。默认children),callback: 回调Function | - | - |
8. 查找父级节点: TraceBackToParentNode
| 名称 | 参数 | 返回值 | 描述 | | -------- |-----------------------------------------------------------------------------------------------------------------------------------------|---------|-----| | TraceBackToParentNode | pid: 当前子节点ID,data:array[]当前数组,rootId:根节点id,,parentKey:可选(父节点标识名称。默认parentId),idKey:可选(子节点标识名称,默认id),childrenName:可选(子节点数组名称,默认children) | array[] | - |
9. 将数组转化为树形结构: treeDataTranslateTree
| 名称 | 参数 | 返回值 | 描述 | | -------- |-----------------------------------------------------------------------|---------|-----| | treeDataTranslateTree | array[]:源数组,id:可选(子节点唯一标识key的名称,默认id),pid: 可选(父节点标识key的名称,默认parentId) | array[] | - |
2、日期、时间
对日期时间常用处理
1. 日期时间格式化: formatToDateTime
| 名称 | 参数 | 返回值 |描述| | -------- |----------------------------------------------|-----------|---| | formatToDateTime | date: 需要格式化的日期时间,format:可选(参见dayjs格式化类型,默认:'YYYY-MM-DD HH:mm:ss') | 格式化后的日期时间 |
2. 返回指定时间戳之间的时间间隔: getTimeInterval
| 名称 | 参数 | 返回值 |描述| | -------- |----------------------------------------------|-----------|---| | getTimeInterval | startTime: 结束时间的时间戳 | 返回时间字符串 example: 10分钟前 |
3. 返回指定日期的时间戳: getTimeTamp
| 名称 | 参数 | 返回值 |描述| | -------- |---------------------------------------------|-----|---| | getTimeTamp | time: 指定日期 | 时间戳 |
4. 按不同类型格式化日期: getFormatDate
| 名称 | 参数 | 返回值 | 描述 | | -------- |-----------------------------------|---------|----------------------------------------------------------------------------------------------------------| | getFormatDate | date: 指定日期,dateType:可选(需要返回类型,默认XXXX年MM月DD日) | 具体格式化日期 | 具体支持类型:yyyy-mm-dd,yyyy.mm.dd,yyyy-mm-dd MM:mm:ss,yyyy-mm-dd MM:mm,yyyy年mm月dd日 MM:mm:ss,yyyy年mm月dd日 MM:mm |
5. 返回本周第一天的时间: getWeekFirstDay
| 名称 | 参数 | 返回值 |描述| | -------- |----------------------------------------|------|---| | getWeekFirstDay | dateType:可选 对应的格式化格式 见getFormatDate方法,默认XXXX年MM月DD日 | 具体日期 |
6. 返回本周最后一天的时间: getWeekLastDay
| 名称 | 参数 | 返回值 |描述| | -------- |----------------------------------------|------|---| | getWeekLastDay | dateType:可选 对应的格式化格式 见getFormatDate方法,默认XXXX年MM月DD日 | 具体日期 |
7. 返回本月第一天的时间: getMonthFirstDay
| 名称 | 参数 | 返回值 |描述| | -------- |----------------------------------------|------|---| | getMonthFirstDay | dateType:可选 对应的格式化格式 见getFormatDate方法,默认XXXX年MM月DD日 | 具体日期 |
8. 返回本月最后一天的时间: getMonthLastDay
| 名称 | 参数 | 返回值 |描述| | -------- |----------------------------------------|------|---| | getMonthLastDay | dateType:可选 对应的格式化格式 见getFormatDate方法,默认XXXX年MM月DD日 | 具体日期 |
9. 获取指定月份第一天和最后一天的日期: getMonthFirstAndLastDate
| 名称 | 参数 | 返回值 |描述| | -------- |-------------------------------------------------------------------------|----------------------------|---| | getMonthFirstAndLastDate | timeStamp: 指定日期时间戳, dateType:可选 对应的格式化格式 见getFormatDate方法,默认XXXX年MM月DD日 | object:{startTime,entTime} |
10. 获取日期范围类的每一天: getDayAll
| 名称 | 参数 | 返回值 |描述| | -------- |----------------------------|---------|---| | getDayAll | starDay: 开始日期, endDay:结束日期 | array[] |
11. 返回间隔时间的天数: getDateRange
| 名称 | 参数 | 返回值 |描述| | -------- |--------------------------------------------------------------------------------------|---------|---| | getDateRange | intervalDays: 间隔天数,例如:30天, bolPastTime:判断在参数date之前,还是之后,默认false,dateNow:可选,日期时间,默认当前 | array[] |
12. 返回指定时间之前一年的月份: getPassYearFormatDate
| 名称 | 参数 | 返回值 |描述| | -------- |---------------------------|------------------|---| | getPassYearFormatDate | time: 可选,默认当前时间 | array[start,end] |
13. 当天之后的不可选,不包括当天,用于日期时间选择器: disabledDate
| 名称 | 参数 | 返回值 |描述| | -------- |-------------------------------------------|---------|---| | disabledDate | time: 日期 | Boolean ||
14. 当天之后的不可选,包括当天,用于日期时间选择器: disabledDateToday
| 名称 | 参数 | 返回值 |描述| | -------- |-------------------------------------------|---------|---| | disabledDateToday | time: 日期 | Boolean ||
15. 当天之前的时间不可选,包含当天,用于日期时间选择器: disabledBeforeDayDate
| 名称 | 参数 | 返回值 |描述| | -------- |-------------------------------------------|---------|---| | disabledBeforeDayDate | time: 日期 | Boolean ||
16. 当天之前的时间不可选,不包含当天,用于日期时间选择器: disabledBeforeToDate
| 名称 | 参数 | 返回值 |描述| | -------- |-------------------------------------------|---------|---| | disabledBeforeToDate | time: 日期 | Boolean ||
3、格式化
数据格式化
1. 金额格式化,三位加逗号分割:formatMoney
| 名称 | 参数 | 返回值 | 描述 | | -------- |---------|--------|-------------| | formatMoney | num: 金额 | 格式化后的值 | num不存在时,返回- |
2. 账号脱敏:accountDesensitization
| 名称 | 参数 | 返回值 | 描述 | | -------- |---------------------------------------------------------------------|--------|-------------| | accountDesensitization | str: 需要脱敏的字符串,startLength:可选(开始脱敏的位置,默认4),endLength:可选(最后展示的位数,默认3) | 格式化后的值 | |
3. 金额转化为大写:amountConversion
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------|-------|-----| | amountConversion | n: 需要转换的金额 | 转换后的值 | |
4. 截取字符串并加省略号:truncateStringAddEllipsis
| 名称 | 参数 | 返回值 | 描述 | | -------- |----------------------------|-------|-----| | truncateStringAddEllipsis | str: 需要截取的字符串,length:截取长度。 | 转换后的值 | |
5. 大小写转换:turnCase
| 名称 | 参数 | 返回值 | 描述 | | -------- |----------------------------|-------|-----| | turnCase | str: 待转换的字符串,type:类型(见描述)。 | 转换后的值 | 1-全大写 2-全小写 3-首字母大写 其他-不转换|
6. 数字超过规定大小加上加号“+”:outOfNum
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------------------|-------|-----| | outOfNum | val: 输入的数字,maxNum:数字规定界限。 | 转换后的值 | 如数字超过99显示99+ |
7. 根据阿拉伯数字,转中文大写数字:upDigit
| 名称 | 参数 | 返回值 | 描述 | | -------- |----------------------|-------|-----| | upDigit | number: 需要转换的数字(默认0) | 转换后的值 | |
8. 去除空格:trim
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------------------|-------|-----| | trim | str: 原字符串,type:去除空格的位置 | 处理之后的字符串 |type 1-所有空格 2-前后空格 3-前空格 4-后空格 |
4、common,公共分类
公共分类
1. 返回文件后缀名:getSuffixName
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------------|-------|-----| | getSuffixName | fileName: 传入文件名称 | 文件后缀名 | |
2. 深拷贝,支持常见类型:deepClone
| 名称 | 参数 | 返回值 | 描述 | | -------- |---------------|--------|------------------| | deepClone | values: 深拷贝的值 | 拷贝之后的值 | 支持:数组、对象、日期、基本类型 |
3. 乘法函数 防止精度丢失:multiplication
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------------------|-----|-----| | multiplication | num1: 第一个数值,num2:第二个数值 | 结果 | |
4. 除法 防止精度丢失:division
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------------------|-----|-----| | division | num1: 第一个数值,num2:第二个数值 | 结果 | |
5. 加法 防止精度丢失:addition
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------------------|-----|-----| | addition | num1: 第一个数值,num2:第二个数值 | 结果 | |
6. 减法 防止精度丢失:subtraction
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------------------|-----|-----| | subtraction | num1: 第一个数值,num2:第二个数值 | 结果 | |
5、常用类型判断
常用类型
1. 获取数据类型:typeOf
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | typeOf | target: 数据值 | 数值对应的类型 | |
2. 判断是否是object:isObject
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | isObject | target: 数据值 | Boolean | |
3. 判断是否是类对象:isObjectLike
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | isObjectLike | target: 数据值 | Boolean | |
4. 判断是否是数组:isArray
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | isArray | target: 数据值 | Boolean | |
5. 判断是否是类数组对象:isArrayLike
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | isArrayLike | target: 数据值 | Boolean | |
6. 判断是否是字符串:isString
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | isString | target: 数据值 | Boolean | |
7. 判断是否是Number:isNumber
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | isNumber | target: 数据值 | Boolean | |
8. 判断是否是Function:isFunction
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | isFunction | target: 数据值 | Boolean | |
6、本地存储
封装本地存储,localStorage,sessionStorage,通过传入配置项来判断使用哪种存储方式,如果不传入配置项,则默认使用localStorage,过期时间7天,前缀axzo
使用方式
import {useStorage} from 'axzo-utils'
const {setStorage} = useStorage({
type: 'localStorage', // 存储类型
prefix: 'axzo', // 前缀
expire: 7 * 24 * 60 * 60 // 过期时间,单位秒
})
1. 判断是否支持本地存储:isSupStorage
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------|---------|-----| | isSupStorage | | Boolean | |
2. 设置本地存储:setStorage
| 名称 | 参数 | 返回值 | 描述 | | -------- |-------------------------------------|---------|-----| | setStorage | 三个参数:存储的key,存储的value,过期时间expire(可选) | | |
3. 获取本地存储:getStorage
| 名称 | 参数 | 返回值 | 描述 | | -------- |--------|------------|-----| | getStorage | 存储的key | 当前key对应的数据 | |
4. 是否存在storage:hasStorage
| 名称 | 参数 | 返回值 | 描述 | | -------- |--------|---------|-----| | hasStorage | 存储的key | boolean | |
5. 获取存储所有的key:getStorageKeys
| 名称 | 参数 | 返回值 | 描述 | | -------- |--------|-------|-----| | getStorageKeys | | array | |
6. 根据索引获取key:getStorageForIndex
| 名称 | 参数 | 返回值 | 描述 | | -------- |-----------|------------|-----| | getStorageForIndex | 索引下标index | index对应的数据 | |
7. 获取Storage长度:getStorageLength
| 名称 | 参数 | 返回值 | 描述 | | -------- |-----------|--------|-----| | getStorageLength | | number | |
8. 获取全部storage:getStorageAll
| 名称 | 参数 | 返回值 | 描述 | | -------- |-----------|-------|-----------| | getStorageAll | | array | 当前所有的本地存储 |
9. 移除本地存储:removeStorage
| 名称 | 参数 | 返回值 | 描述 | | -------- |---------------|-------|-----------| | removeStorage | 需要移除的本地存储的key | | |
10. 清空本地存储:clearStorage
| 名称 | 参数 | 返回值 | 描述 | | -------- |---------------|-------|-----------| | clearStorage | | | 清空所有的本地存储 |
11. 判断是否可用:JSON.parse
| 名称 | 参数 | 返回值 | 描述 | | -------- |-----------|---------|------------------------| | isJson | 存储的value值 | Boolean | 判断当前的值是否可用JSON.parse解析 |
12. 名称前自动添加前缀:autoAddPrefix
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------|------------|-----------| | autoAddPrefix | 需要添加前缀的key | 已经添加前缀的key | |
13. 移除已添加的前缀:autoRemovePrefix
| 名称 | 参数 | 返回值 | 描述 | | -------- |------------|------------|-----------| | autoRemovePrefix | 需要移除前缀的key | 已经已经前缀的key | |