1.1.0 • Published 2 years ago

@lianhr12/business-tools v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

business-tools

npm LICENSE MIT

业务开发常用工具方法封装集合,业务开发过程中,会经常用到日期格式化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文档

Cookie

  • 根据name读取Cookie function getCookieByName(name: string): string;
  • 根据name删除Cookie removeCookiesByName(name: string): void;
  • 添加Cookie function setCookie(name: string, value: string

Device

  • 根据UA信息获取浏览器信息 function getBrowserInfo(): IBrowserInfo name: string; version: string
  • 获取操作系统类型 getOSInfo(): string

DOM

  • 判断元素是否包含指定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;

Helper

  • 根据键盘keycode获得键名 function getKeyName(keycode: any): any;

Object

  • 判断obj是否为空 isEmptyObject(obj: any): boolean;
  • 深拷贝,支持常见类型 function deepClone(values: any): any;

Random

  • 生成指定范围min, max的随机数 randomNum(min: number, max: number): number;
  • 随机生成颜色 function randomColor(): string;

Regexp

  • 判断是否为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;

String

  • 现金额转大写 digitUppercase(n: number): string;
  • 手机号隐私处理(中间四位数隐藏) function replacePhoneNum(phone: string): string;
  • 去除首尾空格处理,trim(' test ') function trim(str: string): string;

Support

  • 判断浏览器是否支持webP格式图片function hasSupportWebP(): boolean;

Time

  • 格式化${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

  • url query参数字符转对象 function parseQueryString(url?: string): {};
  • 对象序列化为url query参数字符 function stringfyQueryString(obj: any): string;
1.1.0

2 years ago

1.0.0

2 years ago