lib方法集

助手方法集合提供一系列的辅助方法,如md5等等方法。

引入助手方法

const app = getApp()
const Pager = require('components/aotoo/core')
const lib = Pager.lib

方法说明

isString

判断是否为字符串

lib.isString(obj)

isObject

判断是否为对象

lib.isObject(obj)

isArray

判断是否为数组

lib.isArray(obj)

isNumber

判断是否为数字

lib.isNumber(obj)

isFunction

判断是否为函数

lib.isFunction(obj)

isEmpty

数组或者对象是否为空

lib.isEmpty(obj)

formatQuery

格式化url

const urladdress = 'url?a=1&b=2'
const {url, query} = lib.formatQuery(urladdress)
log(url)  // apiurl
log(query)  // {a: '2', b: '2'}

formatToUrl

格式化url

let param = {a: 1, b: 2, c: 3}
let url = lib.formatToUrl('api', param)
console.log(url)  // api?a=1&b=2&c=3

suid

获得唯一id

  const uid = lib.isEmpty(obj)
  log(uid)  // fdsjflsjf

clone

简易克隆方法,对应大JSON并不适用

  return lib.clone(obj)

debounce

防抖方法, 在回调周期内再次触发会中断当前的回调并重新开始计时

lib.debounce(fn, 1000)

throttle

节流方法, 回调执行周期固定且不会被打断

lib.throttle(fn, 1000)

nav

小程序路由事件的节流封装
switchTab, reLaunch, redirectTo, navigateTo, navigateBack

lib.nav.gapTime = 1000
lib.nav.navigateTo(url, {})

counter

秒表计时方法, 看专题详解

let counter = lib.counter({
  tick(timestamp){
    consoel.log(timestamp)
  }
})

counter.start // 开始
counter.stop  // 结束
counter.pause // 暂停
counter.continue // 继续
counter.toggle  // 暂停/继续切换

countdown

倒计时方法,countdown是一个精准倒计时库,充分考虑了各种延时
看专题详解,

// 60秒倒计时
let cd = lib.countdown(
  60000,
  function(){},  // 每一个tick响应方法
  function(){}   // 结束时响应方法
)

counter.start  // 开始
counter.cancel // 取消
counter.pause  // 暂停
counter.continue // 继续
counter.toggle // 暂停/继续取消

md5

md5 hash

lib.md5(string)

时间格式化

该方法被设置在Date.prototype上,无需指定使用

(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") // ==> 2006-07-02 08:09:04.423

(new Date()).Format("yyyy-M-d h:m:s.S")  // ==> 2006-7-2 8:9:4.18

时间戳格式化

let timestamp = (new Date()).getTime()
lib.timestampFormat(timestamp, 'hh/mm/ss') // =>> 08/32/16

hooks

返回一个hooks实例,看专题介绍

return lib.hooks(string)