整理了一个前端utils工具方法库

lk-tools-lib

前端开发工具方法集合库,整合了项目中常用的工具方法

Installation

# with npm
npm install -S lk-tools-lib
# with yarn
yarn add -S lk-tools-lib

declaration

所有方法都经过测试

其中带序号的功能标题:
红颜色代表可以点击跳转到单元测试文件,可以更清晰地看到函数使用方法和传参形式
灰色代表没有写单元测试,但也在项目上经过测试通过,可以放心使用。

Documentation

图片

1、批量压缩图片
/**
 * @param {files} 文件数组对象
 * @param {ratio} 压缩参数 一般在0~1之间  
 * @returns {files} -> promise对象 使用.then可以获取压缩后的文件数组对象
 */
import { zipImage } from 'lk-tools-lib'
zipImage(files, ratio)
2、file转base64
/**
 * @param {file} 文件对象
 * @returns {string} ->  promise对象 使用.then可以获取base64格式
 */
import { filleToBase64 } from 'lk-tools-lib'
filleToBase64(file)
3、base64转file
/**
 * @param {dataurl}  文件base64格式
 * @param {filename} 文件名
 * @returns {file} -> promise对象 使用.then可以获取 将base64转为file的文件对象
 */
import { base64ToFile } from 'lk-tools-lib'
base64ToFile(dataurl, filename)
4、压缩base64格式的图片
/**
 * @param {base64} 文件base64格式
 * @param {ratio} 图片压缩比例 0~1之间 一般0.6附近是合理值
 * @returns {string} -> 压缩后的base64格式 
 */
import { dealImage } from 'lk-tools-lib'
dealImage(base64, ratio)

工具

5、遍历对象 接收回调函数
/**
 * @param {obj} 需要循环遍历的对象
 * @param {fn} 回调函数
 * @returns {boolen}  
 */
import { forEach } from 'lk-tools-lib'
forEach(obj,fn)
6、merge,多对象合并
/**
 * @param {obj} 需要合并的对象
 * @returns {obj}  例如: merge({a:1},{b:2}) return {a:1,b:2}
 */
import { merge } from 'lk-tools-lib'
merge(/*obj1,obj2,....*/)
7、数组对象去重
/**
 * @param {arr} 需要去重的数组对象
 * @param {key} 根据哪个键来去重
 * @returns {boolen}  
 */
import { derepeatArray } from 'lk-tools-lib'
derepeatArray(arr,key)
8、防抖
/**
 * @param {fn} 函数方法
 * @param {wait} 防抖时间
 * @param {immediate} 是否立即执行fn
 * @returns {Function}  
 */
import { debounce } from 'lk-tools-lib'
debounce(fn,wait,immediate)
9、节流
/**
 * @param {fn} 函数方法
 * @param {wait} 节流时间
 * @returns {Function}  
 */
import { throttle } from 'lk-tools-lib'
throttle(fn,wait)
10、localstorage存储数据
/**
 * @param {name} 存储的建
 * @param {content} 存储的值
 */
import { setStore } from 'lk-tools-lib'
setStore(name,content)
11、手机号脱敏 手机号码为隐藏中间4位数
/**
 * @param {value} 手机号
 * @return { string} 如:formatPhone(13716073435) return 137****3435
 */
import { formatPhone } from 'lk-tools-lib'
formatPhone(value)
12、获取uuid
/**
 * @return { string}
 */
import { uuid } from 'lk-tools-lib'
uuid()
13、获取范围内的随机数
/**
 * @param {start} 
 * @param {end} 
 * @return { number} 例如 getRandomNumber(1,10) return 1
 */
import { getRandomNumber } from 'lk-tools-lib'
getRandomNumber(start,end)
14、全屏
/**
 * 开启全屏
 */
import { launchFullscreen } from 'lk-tools-lib'
launchFullscreen()

15、取消全屏
/**
 * 关闭全屏
 */
import { exitFullscreen } from 'lk-tools-lib'
exitFullscreen()
16、滚动到顶部
/**
 * 滚动到页面顶部
 */
import { scrollToTop } from 'lk-tools-lib'
scrollToTop()
17、滚顶到指定元素
/**
 * 滚动到指定元素位置 
 * 例如 smoothScroll('#id')
 */
import { smoothScroll } from 'lk-tools-lib'
smoothScroll(domId)
18、劫持粘贴板
/**
 * @params {value} 需要传到粘贴板里的值
 */
import { copyTextToClipboard } from 'lk-tools-lib'
copyTextToClipboard(domId)
19、获取字节长度
/**
 * 获取字节长度 
 * @params {value}
 */
import { getByteLength } from 'lk-tools-lib'
getByteLength(value)
20、将json转url
/**
 * @params {data} object对象
 */
import { parseObject2Url } from 'lk-tools-lib'
parseObject2Url(data)
21、设置cookie
/**
 *  @params {cname} 键
 *  @params {cvalue} 键值
 *  @params {exdays} 有效的天数
 */
import { setCookie } from 'lk-tools-lib'
setCookie(cname, cvalue, exdays)
22、得到cookie的值
/**
 * @params {cname} 键
 */
import { getCookie } from 'lk-tools-lib'
getCookie(data)
23、删除指定cookie的值
/**
 * @params {cname} 键
 */
import { removeCookie } from 'lk-tools-lib'
removeCookie(cname)
24、删除全部的cookie值
import { clearCookie } from 'lk-tools-lib'
clearCookie()

媒体文件

25、获取视频的时长,封面和宽高
/**
 * @param {fileObj}
 * @return {Promise}
 */
import { getVideosDuration } from 'lk-tools-lib'
getVideosDuration(file)
26、将base64下载为文件
/**
 * @param {dataUrl} base64格式
 * @param {filename} 文件名
 * @return file
 */
import { downloadBase64File } from 'lk-tools-lib'
downloadBase64File(dataUrl, filename)
27、根据id导出表格数据为excel
/**
 * @param {id} table的表格id
 * @return file
 */
import { exportExcel } from 'lk-tools-lib'
exportExcel(id)

日期

28、获取某年是多少天
/**
 *  获取某年有多少天
 *  @param {time} 这一年里任意的时间戳
 *  @returns {number} 例如:getYearOfDays(1661421621720) return 365
 */
import { getYearOfDays } from 'lk-tools-lib'
getYearOfDays(1661421621720)
29、时间戳格式化
/**
 * 时间格式化。
 * @param {time} 
 * @param {string} option
 * @returns {string} 
 * 如:formatTime(new Date(1661421621720)) -> 2022-08-25 18:00:21
 * formatTime(new Date(1661421621720),"{y}-{m}-{d}") -> 2022-08-25
 * formatTime(new Date(1661421621720),"{y}-{m}-{d} 星期{a}") -> 2022-08-25 星期四
 * 
 */
import { parseTime } from 'lk-tools-lib'
parseTime(time,cFormat)
30、获取某年的某月共多少天
/**
 * @param {timeStamp} timeStamp 当月的时间戳
 * @returns {Number} 
 */
import { getMonthDays } from 'lk-tools-lib'
getMonthDays()
31、获取某一天(年月日)是星期几
/**
 *  @param {timeStamp} 时间戳 
 *  @returns {string}
 */
import { getDayWeekday } from 'lk-tools-lib'
getDayWeekday(timeStamp)
32、获取某一天所在一周的日期集合
/**
 * @param {Object} date日期
 * @returns {Array} 一周的日期
 */
import { getWeekDatesForDate } from 'lk-tools-lib'
getWeekDatesForDate(date)
33、获取某一天所在周的日期
/**
 *  @param {timeStamp} 时间戳 
 *  @returns {string}
 */
import { getWeekDatesForYMD } from 'lk-tools-lib'
getWeekDatesForYMD(timeStamp)
34、获取 开始日期 之后 第n周 的 日期
/**
 * @param {start} 开始日期 
 * @param {diff} n 
 * @returns {string}
 */
import { getDatesAfterWeeks } from 'lk-tools-lib'
getDatesAfterWeeks(start, diff)
35、判断某日期是否是今天
/**
 * @param {date} Date对象 
 * @returns {string}
 */
import { isToday } from 'lk-tools-lib'
isToday(date)
36、获取 某年某月某日 是在 那一月 的第几周
/**
 * @param {time} 时间戳
 * @returns {string}
 */
import { getMonthWeek } from 'lk-tools-lib'
getMonthWeek(time)
37、获取今天是星期几
/**
 * @returns {string}
 */
import { getCurrentWeekday } from 'lk-tools-lib'
getCurrentWeekday()
38、获取今天的 年月日
/**
 * @returns {object} 如:{year: 2022, month: 8, day:22}
 */
import { getCurrentYearMonthDay } from 'lk-tools-lib'
getCurrentYearMonthDay()
39、指定日期是星期几
/**
 * @param {string} 例如'2022-12-12'
 * @returns {string}
 */
import { getWeekValue } from 'lk-tools-lib'
getWeekValue(dateString)
40、获取两个日期相差的天数
/**
 * @param {startDate} 如'2022-08-26'
 * @param {enDate} 如'2022-08-28
 * @returns {number} getDaysBetween(2022-08-26', 2022-08-28') -> 2
 */
import { getDaysBetween } from 'lk-tools-lib'
getDaysBetween(startDate, enDate)
41、秒数转时分秒
/**
 * @param {timeValue} 秒数 如: 3500
 * @returns {string} 例如: formatHMS(3500) -> '58分钟20秒'
 */
import { formatHMS } from 'lk-tools-lib'
formatHMS(timeValue)
42、生日对应多少月
/**
 * @param {timeStamp} 出生时间戳
 * @returns {number} 例如: calAgeOfMonth(1577836800000) -> 31
 */
import { calAgeOfMonth } from 'lk-tools-lib'
calAgeOfMonth(timeStamp)
43、根据id获取年龄
/**
 * @param {identityCard} 身份证号
 * @returns {number} 例如: getAge(372901199806025978) -> 24
 */
import { getAge } from 'lk-tools-lib'
getAge(identityCard)
44、根据身份证获取生日
/**
 * @param {identityCard} 身份证号
 * @returns {number} 例如: getBirthByIdCard(372901199806025978) -> '1998-06-02'
 */
import { getBirthByIdCard } from 'lk-tools-lib'
getBirthByIdCard(id)
45、获取两出生日期相差多少
/**
 * @param {startTime} 时间戳
 * @param {endTime} 时间戳
 * @returns {number} 
 */
import { getAgeDistance } from 'lk-tools-lib'
getAgeDistance(startTime, endTime)
46、指定日期 以后 几天 的年月日
/**
 * @param {timestamp} 时间戳
 * @param {addDay} 天数
 * @returns {string} 
 */
import { getCurDateAdd } from 'lk-tools-lib'
getCurDateAdd(timestamp, addDay)

校验

47、判断是否为null或者为undefined或者空格字符串
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isNullOrEmpty } from 'lk-tools-lib'
isNullOrEmpty(value)
48、是否手机号
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isMobile } from 'lk-tools-lib'
isMobile(value)
48、是否email
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isEmail } from 'lk-tools-lib'
isEmail(value)
49、是否合法邮政编码
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { zipCode } from 'lk-tools-lib'
zipCode(value)
50、是否合法身份证号
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isIdCard } from 'lk-tools-lib'
isIdCard(value)
51、是否合法银行卡号
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isBankCard } from 'lk-tools-lib'
isBankCard(value)
52、是否全数字
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isNum } from 'lk-tools-lib'
isNum(value)
53、是否为合法url
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { checkUrl } from 'lk-tools-lib'
checkUrl(url)
54、处理金额,补全小数点后两位
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { formatMoney } from 'lk-tools-lib'
formatMoney(value)
55、判断是否为数组
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isArray } from 'lk-tools-lib'
isArray(value)
56、判断是否为对象
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isObject } from 'lk-tools-lib'
isObject(value)
57、判断是否为日期对象
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isDate } from 'lk-tools-lib'
isDate(value)
58、判断是否为非空数组
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isNotEmptyArray } from 'lk-tools-lib'
isNotEmptyArray(value)
59、判断是否为合法的图片来源
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isSrc } from 'lk-tools-lib'
isSrc(url)
60、判断是否是PC环境
/**
 * @param {value} 
 * @returns {boolen}  
 */
import { isPC } from 'lk-tools-lib'
isPC()
61、判断是否安卓环境
/**
 * @returns {boolen}  
 */
import { isAndroid } from 'lk-tools-lib'
isAndroid
62、判断是否iphone异形屏
/**
 * @returns {boolen}  
 */
import { isIosX } from 'lk-tools-lib'
isIosX
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值