业务开发常用工具方法封装集合,业务开发过程中,会经常用到
日期格式化
、url参数转对象
、浏览器类型判断
、节流函数
等常用函数,为避免不同项目多次复制粘贴的麻烦,这里统一封装,并发布到npm,以提高开发效率。
注意:工具库依赖于浏览器运行环境,不可直接使用到nodejs环境,否则部分方法会直接报错
使用npm或者yarn快速安装
npm install @lianhr12/business-tools -S
yarn add @lianhr12/business-tools -S
根据模块使用工具库,下面简单举例: ES Module
import businessTool from '@lianhr12/business-tools';
// 获取系统信息
const os = businessTool.getOSInfo();
CommonJS
const businessTool = require('@lianhr12/business-tools');
// 获取系统信息
const os = businessTool.getOSInfo();
浏览器,需要下载dist目录下的business-tools.umd.js文件,并页面引用
<script src="business-tools.umd.js"></script>
<script>
var OS = businessTool.getOSInfo();
</script>
推荐使用方法
// 为减少文件体积,推荐按需引入使用到方法
import { getOSInfo } from '@lianhr12/business-tools';
// 获取系统信息
const os = getOSInfo();
详细API文档内容,请查阅这里
- 根据name读取Cookie function getCookieByName(name: string): string;
- 根据name删除Cookie removeCookiesByName(name: string): void;
- 添加Cookie function setCookie(name: string, value: string
- 根据UA信息获取浏览器信息 function getBrowserInfo(): IBrowserInfo [name: string; version: string]
- 获取操作系统类型 getOSInfo(): string
- 判断元素是否包含指定class hasClass(el: Element, className: string): boolean;
- 为元素添加class function addClass(el: Element, className: string): void;
- 删除元素指定的className function removeClass(el: Element, className: string): void;
- 获取滚动条距顶部的距离 function getScrollTop(): number;
- 设置滚动条距顶部的距离 setScrollTop(value: any): number;
- 在${duration}时间内,滚动条平滑滚动到${to}指定位置 function scrollTo(to: number, duration: number): void;
- 根据键盘keycode获得键名 function getKeyName(keycode: any): any;
- 判断
obj
是否为空 isEmptyObject(obj: any): boolean; - 深拷贝,支持常见类型 function deepClone(values: any): any;
- 生成指定范围[min, max]的随机数 randomNum(min: number, max: number): number;
- 随机生成颜色 function randomColor(): string;
- 判断是否为16进制颜色,rgb 或 rgba function isColor(str: string): boolean;
- 判断是否为邮箱地址 isEmail(str: string): boolean;
- 判断是否为身份证号 function isIdCard(str: string): boolean;
- 判断是否为手机号 function isPhoneNum(str: string): boolean;
- 判断是否为URL地址 function isUrl(str: string): boolean;
- 现金额转大写 digitUppercase(n: number): string;
- 手机号隐私处理(中间四位数隐藏) function replacePhoneNum(phone: string): string;
- 去除首尾空格处理,trim(' test ') function trim(str: string): string;
- 判断浏览器是否支持webP格式图片 function hasSupportWebP(): boolean;
- 格式化${startTime}距现在的已过时间 formatPassTime(startTime: number): string;
- 格式化现在距${endTime}的剩余时间 function formatRemainTime(endTime: number): string;
- 是否为闰年 isLeapYear(year: number): boolean;
- 判断是否为同一天 function isSameDay(date1: Date, date2?: Date): boolean;
- 获取指定日期月份的总天数 function monthDays(time: Date): number;
- ${startTime - endTime}的剩余时间,startTime大于endTime时,均返回0。 function timeLeft(startTime: Date | string, endTime: Date | string): { d: number; h: number; m: number; s: number; } | undefined;
- url query参数字符转对象 function parseQueryString(url?: string): {};
- 对象序列化为url query参数字符 function stringfyQueryString(obj: any): string;