1.3.2-beta • Published 1 year ago
axzo-util 通用库
为提高开发效率,提供了一些公用方法,方便快速开发,同时避免在项目中重复代码编写。umd格式
一、使用方式
yarn add axzo-util
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: 可选,默认当前时间 | arraystart,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 | |
持续更新中。。。。