2.3.0 • Published 2 years ago

ty-tools v2.3.0

Weekly downloads
101
License
ISC
Repository
-
Last release
2 years ago

注意:2.x.x部分方法不再兼容1.x.x!

工具包

定义工具包tyTools,将常用的方法封装。

  • debounce

    函数防抖,触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间

    tyTools.debounce<T>(func:Function,time?:Number,immediate?:Boolean):T

    接收三个参数,第一个为要执行的函数,第二个可选参数,为延时秒数,默认200ms,第三个为是否立即执行一次;返回要执行的函数

  • throttle

    函数节流

    tyTools.throttle<T>(func:Function,time?:Number):T

    接收两个参数,第一个为要执行的函数,第二个可选参数,为延时秒数,默认200ms;返回要执行的函数

  • forEach

    遍历数组和对象

    tyTools.forEach<T>(val: any[] | Record<string, any> | Record<string, any>, fn: (item: T, index: any, obj: any) => void | boolean): void
  • tyTools.validate

    tyTools.validate返回一个对象:包含以下校验方法:

    • tyTools.validate.checkIdCardNumber

      tyTools.validate.checkIdCardNumber(str:string|number):boolean

      检测传入的身份证号码是否合法

    • tyTools.validate.checkPhoneNumber

      tyTools.validate.checkPhoneNumber(str:string|number):boolean

      检测传入的手机号码是否合法

    • tyTools.validate.isFloatNumber

      tyTools.validate.isFloatNumber(str:string|number):boolean

      小数数字校验

    • tyTools.validate.isIntNumber

      tyTools.validate.isIntNumber(str:string|number):boolean

      整数数字校验

    • tyTools.validate.checkUnifiedSocialCreditCode

      tyTools.validate.checkUnifiedSocialCreditCode(str:string):boolean

      统一社会信用代码校验

    • tyTools.validate.isNoSpechars

      tyTools.validate.isNoSpechars(str:string):boolean

      特殊字符校验,包括以下字符:

          const regEn = /[`~!@#$%^&*()_+<>?:"{},./;'[\]]/img
          const regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]/img
    • tyTools.validate.checkEmail 邮箱校验

      tyTools.validate.checkEmail(str: string): boolean
    • tyTools.validate.checkBankCardNumber

      银行卡校验

      tyTools.validate.checkBankCardNumber(str: string) :boolean
    • isNumber

      数字校验

      tyTools.validate.isNumber(num: number | string)
    • isTruthy

      tyTools.validate.isTruthy(data: any)
    • isString

      是否是字符串

      tyTools.validate.isString(str: any): boolean
    • isArray

      是否是数组

      tyTools.validate.isArray(isArr: any): boolean
    • isArrayLike

      是否是类数组

      tyTools.validate.isArrayLike(isArr: any): boolean
    • isFunction

      是否是函数

      tyTools.validate.isFunction(isArr: any): boolean
    • isObject

      是否是object

      tyTools.validate.isObject(isArr: any): boolean
    • isBaseType

      是否是基本类型

      tyTools.validate.isBaseType(isArr: any): boolean
  • tyTools.equipment

    tyTools.equipment返回一个对象:包含以下校验方法:

    • tyTools.equipment.isIOS

      tyTools.equipment.isIOS():boolean

      检测当前设备是否是ios

    • tyTools.equipment.isMobile

      tyTools.equipment.isMobile():boolean

      检测当前设备是否是移动端

  • tyTools.platform

    tyTools.platform返回一个对象:包含以下校验方法:

    • tyTools.platform.isWeChat

      tyTools.platform.isWeChat():boolean

      检测当前平台是否是微信

    • tyTools.platform.client

      浏览器版本检测

      tyTools.platform.client():{
        engine: {
          ie: string;
          gecko: string;
          webkit: string;
          khtml: string;
          opera: string;
          ver: string;
        };
        browser: {
            ie: string;
            firefox: string;
            safari: string;
            konq: string;
            opera: string;
            chrome: string;
            ver: string;
        };
      }
  • tyTools.dom

    • tyTools.dom.isDomInView

      tyTools.dom.isDomInView(config: {
          dom: Element;
          change(data: { data: boolean }): void;
      })

      dom元素是否在视野内

    • tyTools.dom.addEvent

      tyTools.dom.addEvent(dom: any, types: any, handle: any, bm: any): void

      添加事件

    • tyTools.dom.removeEvent

      tyTools.dom.removeEvent(dom: any, types: any, handle: any, bm: any): void

      移除事件

    • getAllStyle

      tyTools.dom.getAllStyle(dom: any): CSSStyleDeclaration

      获取计算样式

    • getDomSPInfo

      tyTools.dom.getDomSPInfo(dom: Element): any

      获取元素大小及其相对于视口的位置。(size——position)

    • fixedToTop

        tyTools.dom.fixedToTop(obj: {
            dom: string;
            topLength?: string;
            fixed?: Function;
            concelFixed?: Function;
        }): void

      元素滚动到顶部自动吸附

    • spaceBetween

      tyTools.dom.spaceBetween(parentDom: HTMLElement): void

      实现弹性盒子space-between

    • scrollDirection

      tyTools.dom.scrollDirection(
          data: {
              change: (data:
                  {
                      event: Event,
                      direction: { X: number, Y: number }
                  }) => void,
              config?: AddEventListenerOptions
          }
      ): { removeEvent: () => void }

      获取滚动的方向 下为正

  • tyTools.date

    • format

      //str为格式化字符串
      tyTools.date.format(str: string, date?: Date): string;
    • getDateObj

      获取时间对象

      tyTools.date.tyTools.getDateObj(str?: string | number) 

      返回值Date实例 参数默认为当前时间

  • getDateArr

    获取时间数组

    tyTools.date.getDateArr() 

    返回值:YYYY,MM,DD

  • getDayCount 获取传入时间所在月有几天

    tyTools.date.getDayCount(data) 
  • isOutOfDate

    是否过期 true:过期 false :未过期

    tyTools.date.isOutOfDate(time1: string, time2?: string): boolean
  • cutDown 倒计时

    tyTools.date.cutDown(start: number | string, end: number | string): string | boolean 
  • tyTools.math

    • add

        // 加法,解决js小数计算精度问题 0.2+0.1=0.30000000000000004
        tyTools.math.add(...numArr: number[]): number
    • subtr

        //减法,解决js小数计算精度问题 0.3-0.2=0.19999999999999998(第一个参数依次减去后边所有的参数)
        tyTools.math.subtr(...numArr: number[]): number
    • multiply

        //乘法,解决js小数计算精度问题 0.3*3=0.8999999999999999
        tyTools.math.multiply(...numArr: number[]): number
    • divide

        //除法,解决js小数计算精度问题 0.3/3=0.09999999999999999(第一个参数依次除以后边所有的参数)
        tyTools.math.divide(...numArr: number[]): number
  • tyTools.file

    • PictureZip

        constructor({ file, max = 200, ratio = 0.5 }: { file: File, max?: number, ratio?: number })
      file:File|FileList // 文件|文件列表
      max:number 		    //超过该值以后压缩
      ratio:number       //压缩率
      // 示例
      new tyTools.file.PictureZip({ file: this.files, ratio: 0.1 }).promise.then((res) => {
          //如果file类型为File,则返回压缩后的base64字符串;如果file类型为FileList,则返回base64组成的数组
          console.log(res);
      })
  • tyTools.data

    • merge

        tyTools.data.merge(conf1: any, conf2: any,checkFalsey?: boolean): any

      合并两个对象;递归合并;返回一个clone后的新对象;conf2合并到conf1 如果conf2某个属性为undefined或者为null,则取conf1的值;如果conf1没有,则取conf2的值 checkFalsey若为true,将判断falsely值而不是undefined或者null

    • jsonClone

      数据克隆

      tyTools.data.jsonClone(data) 

      接收要克隆的数据,返回克隆后的数据

    • dataListMerge

      数据合并

      tyTools.data.dataListMerge(data1,data2,key) 

      根据key字段,合并data1和data2数组

    • removeEmptyItem

      移除数组/对象的undefined或者null值

      tyTools.data.removeEmptyItem(arr: any[]|Record<string, any>,keepEmptyString=false):any[]|Record<string, any>

      keepEmptyString:是否保留空串

    • midHide

      数据隐藏

      tyTools.data.midHide('12345678901',3,3) // 123*****901

      该方法接收三个参数,第一个目标字符串为必填参数,第二个开头显示的字符数为选填,第三个末尾显示的字符数为选填,默认为首3尾4。

    • getDeepDataItem

      获取深层数组包含某个key值的对象

      tyTools.data.getDeepDataItem(target: any[], key: string, val: any): any
    • firstUpperCase

      首字母大写

      tyTools.data.firstUpperCase(str: string): string
    • getItemByKey

      获取数组里面包含某个key值的对象

      tyTools.data.getItemByKey(arr: any[], key: string, value: any): any
    • objectToQueryString

      将对象转化成查询参数

      tyTools.data.tyTools.objectToQueryString({ a: 12, b: 3 }) // a=12&b=3
    • urlStringToObj

      URL字符串转化为对象

      tyTools.data.urlStringToObj('localhost:8080/as?a=1&b=2') // {a: "1", b: "2"}
    • toFixed

      tyTools.data.toFixed(val: string | number, length = 2)
    • setSessionStorage

      sessionstorage里面存数据

      tyTools.data.setSessionStorage('userData',{:name:'john'}) 

      接收两个参数,第一个参数为key值,第二个参数为value值。

    • getSessionStorage

      sessionstorage里面取数据

      tyTools.data.getSessionStorage('userData') 

      接收一个参数,要获取的数据的key值

    • escape

      字符串编码

      tyTools.data.escape('http://localhost:8080/#/') // http%3A//localhost%3A8080/%23/
    • unescape

      字符串解码

      tyTools.data.unescape('http%3A//localhost%3A8080/%23/') // http://localhost:8080/#/
    • initObj

      初始化对象参数

      tyTools.data.initObj(target: any, val?: any) 

      接收两个参数,第一个为要修改的目标对象,第二个为对比参数,target要置为val的值。若不传第二个参数,默认置为''

    • bankNumberFormat

      格式化银行卡账号

      tyTools.data.bankNumberFormat(str) 

      返回由空格隔开的银行卡号码:1111 2222 3323 3432 2434

    • currencyFormat

      金额格式化

      tyTools.data.currencyFormat('1231312') // 1,231,312.00
    • DelCurrencyFormat

      删除千位符

      tyTools.data.DelCurrencyFormat('1,231,312.00') // 1231312.00
    • convertCurrency

      金额大写

      tyTools.data.convertCurrency('1231312') // 壹佰贰拾叁万壹仟叁佰壹拾贰元整
  • tyTools.event getEvent 获取事件对象
    // 示例
    tyTools.event.getEvent(e):Event
2.3.0

2 years ago

2.2.0

2 years ago

2.0.15

2 years ago

2.1.0

2 years ago

2.0.13

3 years ago

2.0.14

3 years ago

2.0.11

3 years ago

2.0.12

3 years ago

2.0.10

3 years ago

2.0.7

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.6

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago