Installations
npm install lk-tools-lib
Developer Guide
BETA
Typescript
No
Module System
CommonJS
Node Version
16.14.2
NPM Version
8.5.0
Score
67
Supply Chain
96.6
Quality
75.7
Maintenance
50
Vulnerability
100
License
Releases
Unable to fetch releases
Download Statistics
Total Downloads
1,997
Last Day
1
Last Week
12
Last Month
47
Last Year
275
Bundle Size
428.19 kB
Minified
141.70 kB
Minified + Gzipped
Package Meta Information
Latest Version
1.0.14
Package Id
lk-tools-lib@1.0.14
Unpacked Size
38.75 kB
Size
11.93 kB
File Count
6
NPM Version
8.5.0
Node Version
16.14.2
Publised On
22 May 2023
Total Downloads
Cumulative downloads
Total Downloads
1,997
Last day
0%
1
Compared to previous day
Last week
0%
12
Compared to previous week
Last month
840%
47
Compared to previous month
Last year
-72.7%
275
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Versions
lk-tools-lib
来康数智技术前端开发工具方法集合库,整合了项目中常用的工具方法
Installation
1# with npm 2npm install -S lk-tools-lib 3# with yarn 4yarn add -S lk-tools-lib
declaration
所有方法都经过测试
其中带序号的功能标题:
红色代表可以点击跳转到单元测试文件,可以更清晰地看到函数使用方法和传参形式
灰色代表没有写单元测试,但也在项目上经过测试通过,可以放心使用。
Documentation
图片
1、批量压缩图片
1/** 2 * @param {files} 文件数组对象 3 * @param {ratio} 压缩参数 一般在0~1之间 4 * @returns {files} -> promise对象 使用.then可以获取压缩后的文件数组对象 5 */ 6import { zipImage } from 'lk-tools-lib' 7zipImage(files, ratio)
2、file转base64
1/** 2 * @param {file} 文件对象 3 * @returns {string} -> promise对象 使用.then可以获取base64格式 4 */ 5import { filleToBase64 } from 'lk-tools-lib' 6filleToBase64(file)
3、base64转file
1/** 2 * @param {dataurl} 文件base64格式 3 * @param {filename} 文件名 4 * @returns {file} -> promise对象 使用.then可以获取 将base64转为file的文件对象 5 */ 6import { base64ToFile } from 'lk-tools-lib' 7base64ToFile(dataurl, filename)
4、压缩base64格式的图片
1/** 2 * @param {base64} 文件base64格式 3 * @param {ratio} 图片压缩比例 0~1之间 一般0.6附近是合理值 4 * @returns {string} -> 压缩后的base64格式 5 */ 6import { dealImage } from 'lk-tools-lib' 7dealImage(base64, ratio)
工具
5、遍历对象 接收回调函数
1/** 2 * @param {obj} 需要循环遍历的对象 3 * @param {fn} 回调函数 4 * @returns {boolen} 5 */ 6import { forEach } from 'lk-tools-lib' 7forEach(obj,fn)
6、merge,多对象合并
1/** 2 * @param {obj} 需要合并的对象 3 * @returns {obj} 例如: merge({a:1},{b:2}) return {a:1,b:2} 4 */ 5import { merge } from 'lk-tools-lib' 6merge(/*obj1,obj2,....*/)
7、数组对象去重
1/** 2 * @param {arr} 需要去重的数组对象 3 * @param {key} 根据哪个键来去重 4 * @returns {boolen} 5 */ 6import { derepeatArray } from 'lk-tools-lib' 7derepeatArray(arr,key)
8、防抖
1/** 2 * @param {fn} 函数方法 3 * @param {wait} 防抖时间 4 * @param {immediate} 是否立即执行fn 5 * @returns {Function} 6 */ 7import { debounce } from 'lk-tools-lib' 8debounce(fn,wait,immediate)
9、节流
1/** 2 * @param {fn} 函数方法 3 * @param {wait} 节流时间 4 * @returns {Function} 5 */ 6import { throttle } from 'lk-tools-lib' 7throttle(fn,wait)
10、localstorage存储数据
1/** 2 * @param {name} 存储的建 3 * @param {content} 存储的值 4 */ 5import { setStore } from 'lk-tools-lib' 6setStore(name,content)
11、手机号脱敏 手机号码为隐藏中间4位数
1/** 2 * @param {value} 手机号 3 * @return { string} 如:formatPhone(13716073435) return 137****3435 4 */ 5import { formatPhone } from 'lk-tools-lib' 6formatPhone(value)
12、获取uuid
1/** 2 * @return { string} 3 */ 4import { uuid } from 'lk-tools-lib' 5uuid()
13、获取范围内的随机数
1/** 2 * @param {start} 3 * @param {end} 4 * @return { number} 例如 getRandomNumber(1,10) return 1 5 */ 6import { getRandomNumber } from 'lk-tools-lib' 7getRandomNumber(start,end)
14、全屏
1/** 2 * 开启全屏 3 */ 4import { launchFullscreen } from 'lk-tools-lib' 5launchFullscreen() 6
15、取消全屏
1/** 2 * 关闭全屏 3 */ 4import { exitFullscreen } from 'lk-tools-lib' 5exitFullscreen()
16、滚动到顶部
1/** 2 * 滚动到页面顶部 3 */ 4import { scrollToTop } from 'lk-tools-lib' 5scrollToTop()
17、滚顶到指定元素
1/** 2 * 滚动到指定元素位置 3 * 例如 smoothScroll('#id') 4 */ 5import { smoothScroll } from 'lk-tools-lib' 6smoothScroll(domId)
18、劫持粘贴板
1/** 2 * @params {value} 需要传到粘贴板里的值 3 */ 4import { copyTextToClipboard } from 'lk-tools-lib' 5copyTextToClipboard(domId)
19、获取字节长度
1/** 2 * 获取字节长度 3 * @params {value} 4 */ 5import { getByteLength } from 'lk-tools-lib' 6getByteLength(value)
20、将json转url
1/** 2 * @params {data} object对象 3 */ 4import { parseObject2Url } from 'lk-tools-lib' 5parseObject2Url(data)
21、设置cookie
1/** 2 * @params {cname} 键 3 * @params {cvalue} 键值 4 * @params {exdays} 有效的天数 5 */ 6import { setCookie } from 'lk-tools-lib' 7setCookie(cname, cvalue, exdays)
22、得到cookie的值
1/** 2 * @params {cname} 键 3 */ 4import { getCookie } from 'lk-tools-lib' 5getCookie(data)
23、删除指定cookie的值
1/** 2 * @params {cname} 键 3 */ 4import { removeCookie } from 'lk-tools-lib' 5removeCookie(cname)
24、删除全部的cookie值
1import { clearCookie } from 'lk-tools-lib' 2clearCookie()
媒体文件
25、获取视频的时长,封面和宽高
1/** 2 * @param {fileObj} 3 * @return {Promise} 4 */ 5import { getVideosDuration } from 'lk-tools-lib' 6getVideosDuration(file)
26、将base64下载为文件
1/** 2 * @param {dataUrl} base64格式 3 * @param {filename} 文件名 4 * @return file 5 */ 6import { downloadBase64File } from 'lk-tools-lib' 7downloadBase64File(dataUrl, filename)
27、根据id导出表格数据为excel
1/** 2 * @param {id} table的表格id 3 * @return file 4 */ 5import { exportExcel } from 'lk-tools-lib' 6exportExcel(id)
日期
28、获取某年是多少天
1/** 2 * 获取某年有多少天 3 * @param {time} 这一年里任意的时间戳 4 * @returns {number} 例如:getYearOfDays(1661421621720) return 365 5 */ 6import { getYearOfDays } from 'lk-tools-lib' 7getYearOfDays(1661421621720)
29、时间戳格式化
1/** 2 * 时间格式化。 3 * @param {time} 4 * @param {string} option 5 * @returns {string} 6 * 如:formatTime(new Date(1661421621720)) -> 2022-08-25 18:00:21 7 * formatTime(new Date(1661421621720),"{y}-{m}-{d}") -> 2022-08-25 8 * formatTime(new Date(1661421621720),"{y}-{m}-{d} 星期{a}") -> 2022-08-25 星期四 9 * 10 */ 11import { parseTime } from 'lk-tools-lib' 12parseTime(time,cFormat)
30、获取某年的某月共多少天
1/** 2 * @param {timeStamp} timeStamp 当月的时间戳 3 * @returns {Number} 4 */ 5import { getMonthDays } from 'lk-tools-lib' 6getMonthDays()
31、获取某一天(年月日)是星期几
1/** 2 * @param {timeStamp} 时间戳 3 * @returns {string} 4 */ 5import { getDayWeekday } from 'lk-tools-lib' 6getDayWeekday(timeStamp)
32、获取某一天所在一周的日期集合
1/** 2 * @param {Object} date日期 3 * @returns {Array} 一周的日期 4 */ 5import { getWeekDatesForDate } from 'lk-tools-lib' 6getWeekDatesForDate(date)
33、获取某一天所在周的日期
1/** 2 * @param {timeStamp} 时间戳 3 * @returns {string} 4 */ 5import { getWeekDatesForYMD } from 'lk-tools-lib' 6getWeekDatesForYMD(timeStamp)
34、获取 开始日期 之后 第n周 的 日期
1/** 2 * @param {start} 开始日期 3 * @param {diff} n 4 * @returns {string} 5 */ 6import { getDatesAfterWeeks } from 'lk-tools-lib' 7getDatesAfterWeeks(start, diff)
35、判断某日期是否是今天
1/** 2 * @param {date} Date对象 3 * @returns {string} 4 */ 5import { isToday } from 'lk-tools-lib' 6isToday(date)
36、获取 某年某月某日 是在 那一月 的第几周
1/** 2 * @param {time} 时间戳 3 * @returns {string} 4 */ 5import { getMonthWeek } from 'lk-tools-lib' 6getMonthWeek(time)
37、获取今天是星期几
1/** 2 * @returns {string} 3 */ 4import { getCurrentWeekday } from 'lk-tools-lib' 5getCurrentWeekday()
38、获取今天的 年月日
1/** 2 * @returns {object} 如:{year: 2022, month: 8, day:22} 3 */ 4import { getCurrentYearMonthDay } from 'lk-tools-lib' 5getCurrentYearMonthDay()
39、指定日期是星期几
1/** 2 * @param {string} 例如'2022-12-12' 3 * @returns {string} 4 */ 5import { getWeekValue } from 'lk-tools-lib' 6getWeekValue(dateString)
40、获取两个日期相差的天数
1/** 2 * @param {startDate} 如'2022-08-26' 3 * @param {enDate} 如'2022-08-28 4 * @returns {number} getDaysBetween(2022-08-26', 2022-08-28') -> 2 5 */ 6import { getDaysBetween } from 'lk-tools-lib' 7getDaysBetween(startDate, enDate)
41、秒数转时分秒
1/** 2 * @param {timeValue} 秒数 如: 3500 3 * @returns {string} 例如: formatHMS(3500) -> '58分钟20秒' 4 */ 5import { formatHMS } from 'lk-tools-lib' 6formatHMS(timeValue)
42、生日对应多少月
1/** 2 * @param {timeStamp} 出生时间戳 3 * @returns {number} 例如: calAgeOfMonth(1577836800000) -> 31 4 */ 5import { calAgeOfMonth } from 'lk-tools-lib' 6calAgeOfMonth(timeStamp)
43、根据id获取年龄
1/** 2 * @param {identityCard} 身份证号 3 * @returns {number} 例如: getAge(372901199806025978) -> 24 4 */ 5import { getAge } from 'lk-tools-lib' 6getAge(identityCard)
44、根据身份证获取生日
1/** 2 * @param {identityCard} 身份证号 3 * @returns {number} 例如: getBirthByIdCard(372901199806025978) -> '1998-06-02' 4 */ 5import { getBirthByIdCard } from 'lk-tools-lib' 6getBirthByIdCard(id)
45、获取两出生日期相差多少
1/** 2 * @param {startTime} 时间戳 3 * @param {endTime} 时间戳 4 * @returns {number} 5 */ 6import { getAgeDistance } from 'lk-tools-lib' 7getAgeDistance(startTime, endTime)
46、指定日期 以后 几天 的年月日
1/** 2 * @param {timestamp} 时间戳 3 * @param {addDay} 天数 4 * @returns {string} 5 */ 6import { getCurDateAdd } from 'lk-tools-lib' 7getCurDateAdd(timestamp, addDay)
校验
47、判断是否为null或者为undefined或者空格字符串
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isNullOrEmpty } from 'lk-tools-lib' 6isNullOrEmpty(value)
48、是否手机号
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isMobile } from 'lk-tools-lib' 6isMobile(value)
48、是否email
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isEmail } from 'lk-tools-lib' 6isEmail(value)
49、是否合法邮政编码
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { zipCode } from 'lk-tools-lib' 6zipCode(value)
50、是否合法身份证号
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isIdCard } from 'lk-tools-lib' 6isIdCard(value)
51、是否合法银行卡号
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isBankCard } from 'lk-tools-lib' 6isBankCard(value)
52、是否全数字
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isNum } from 'lk-tools-lib' 6isNum(value)
53、是否为合法url
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { checkUrl } from 'lk-tools-lib' 6checkUrl(url)
54、处理金额,补全小数点后两位
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { formatMoney } from 'lk-tools-lib' 6formatMoney(value)
55、判断是否为数组
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isArray } from 'lk-tools-lib' 6isArray(value)
56、判断是否为对象
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isObject } from 'lk-tools-lib' 6isObject(value)
57、判断是否为日期对象
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isDate } from 'lk-tools-lib' 6isDate(value)
58、判断是否为非空数组
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isNotEmptyArray } from 'lk-tools-lib' 6isNotEmptyArray(value)
59、判断是否为合法的图片来源
1/** 2 * @param {value} 3 * @returns {boolen} 4 */ 5import { isSrc } from 'lk-tools-lib' 6isSrc(url)
60、判断是否是PC环境
No vulnerabilities found.
No security vulnerabilities found.