1.0.1 • Published 2 years ago

@iri-huabei/common-utils v1.0.1

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

公共方法库(维护项目工具方法)

基于rollup+ts搭建的方法库,抽离常用方法封装,方便在项目中导入使用

如何使用?

  • 在html中直接引入的方式
    <script src="./dist/iri-common-utils.min.js"></script>
  • 在工程项目中引入

    1. 在iri-common-utils目录下执行命令:
      npm link
    2. 在工程项目主文件夹下执行命令:
      npm link iri-common-utils
    3. 项目文件中导入相关方法:

      //es6导入
      import {...} from 'iri-common-utils' 
      
      //在nodejs中使用
      const {...} = require('iri-common-utils')

方法目录

方法使用

getType (获取参数类型)

  • 参数
    • item <any> 传入的参数
  • 返回值

    • data <string>
  • example
    input:

        import { getType } from 'iri-common-utils'
        const s = 'hello world'
        getType(s)

    output:

    string

diffTime (计算时间间隔,并返回字符串格式)

  • 参数
    • duration <number> 时间间隔单位ms
  • 返回值

    • data <object>
      • dur <number> 剩余毫秒数
      • strTime <string> 字符串形式间隔时间
  • example
    input:

        import { diffTime } from 'iri-common-utils'
        const duration = 100000000
        diffTime(duration)

    output:

    { dur: 0, strTime: '1天3时46分40秒' }

deepClone (数据深拷贝,一般用于拷贝引用类型数据)

  • 参数
    • target <any> 原始数据对象
  • 返回值

    • data <any>
  • example
    input:

        import { deepClone } from 'iri-common-utils'
        const obj ={a:'1', b:'2'}
        deepClone(obj)

    output:

    {a:'1', b:'2'}

debounce (用于函数防抖,一般用于搜索防止多次请求)

  • 参数
    • fn <function> 执行函数
    • delay <number> 间隔时间, 非必传,默认 500ms
    • immediate <boolean> 是否立即执行, 非必传, 默认 false
  • 返回值

    • func <function> 返回一个闭包,用于调用执行及传参
  • example
    input:

        import { debounce } from 'iri-common-utils'
        const fn = () => {console.log('aaaaa')}
        debounce(fn,1000)()

    output:

    .....

throttle (用于函数节流,规定时间内执行一次)

  • 参数
    • fn <function> 执行函数
    • delay <number>间隔时间, 非必传,默认 500ms
  • 返回值

    • func <function> 返回一个闭包,用于调用执行及传参
  • example
    input:

        import { throttle } from 'iri-common-utils'
        const fn = () => {console.log('aaaaa')}
        throttle(fn,1000)()

    output:

    .....

transformValue (转化服务器返回值)

transformArraytoTree (转化服务器返回值)

  • 参数
    • data <array> 原始数据
    • mapField <object>
      • childFiled <string> 子节点字段名称,非必传,默认值 children
      • parentField <string> 父节点字段名称,非必传,默认值 pid
      • idField <string> 当前节点的id,非必传,默认值 id
      • defaultNoParentId <string> 默认无父级的id,非必传,默认值 0
  • 返回值

    • newData <array>
  • example
    input:

        import { transformArraytoTree } from 'iri-common-utils'
        const arr = [
              { title: 'aaaa', id: 1, pid: 0 },
              { title: 'aaaa', id: 2, pid: 3 },
              { title: 'aaaa', id: 3, pid: 0 },
              { title: 'aaaa', id: 4, pid: 3 },
              { title: 'aaaa', id: 5, pid: 4 },
              { title: 'aaaa', id: 6, pid: 5 },
        ]
        transformArraytoTree(arr)

    output:

    [{"title":"aaaa","id":1,"pid":0},{"title":"aaaa","id":3,"pid":0,"children":[{"title":"aaaa","id":2,"pid":3},{"title":"aaaa","id":4,"pid":3,"children":[{"title":"aaaa","id":5,"pid":4,"children":{"title":"aaaa","id":6,"pid":5}}]}]}]

transformTreeToArray (转化服务器返回值)

validateField (用于验证 身份证,护照,数字,手机号,邮箱等,可自定义)

  • 参数
    • data <string> 验证字符串
    • options <object>
      • dType <string> 非必传,'number' | 'IDCard' | 'mobile' | 'passport' | 'email'
      • regex <Regex> 自定义正则表达式,非必传,优先级比 dType 更高
  • 返回值

    • value <boolean> 返回布尔值
  • example
    input:

        import { validate } from 'iri-common-utils'
        const str = '13065218789'
        console.log(validate(str,{dType: 'mobile'})) 

    output:

    true

isEmptyArray (验证是否非空数组)

  • 参数
    • data <array> 数据
  • 返回值

    • value <boolean> 返回布尔值
  • example
    input:

        import { isEmptyArray } from 'iri-common-utils'
        const arr = []
        console.log(isEmptyArray(arr) 

    output:

    true

反馈 & 建议

待反馈......