# 功能/函数类工具

utils.makePrivacyToMobile(mobile)

给手机号码增加隐私星号

参数名 类型 必填 默认值 说明
mobile string

示例

utils.makePrivacyToMobile('15611119152') // 156****9152

utils.debounce(func, delay)

截流函数柯里化

参数名 类型 必填 默认值 说明
func Function 截流函数
delay Number 500 延时

示例

JQ/javascript:

<input type="text" id="text"/>
$('#text').on('input propertychange', utils.debounce((e) => {
  console.log($('#text').val())
}, 1000))

// 1s响应一次值改变

VUE:

<template>
  <div class="search-box">
    <i class="iconfont icon-sousuo"></i>
    <input ref="query" class="box" v-model="query" :placeholder="placeholder"/>
    <i @click="clear" v-show="query" class="iconfont icon-shanchu"></i>
  </div>
</template>

<script type="text/ecmascript-6">
  import { debounce } from 'COMMON/js/utils';

  export default {
    props: {
      placeholder: {
        type: String,
        default: '搜索',
      },
    },
    data() {
      return {
        query: '',
      };
    },
    created() {
      /*
      * 监控query值并暴露给父组件,发生变化即派发事件给父级
      * */
      this.$watch('query', debounce((newQuery) => {
        this.$emit('query', newQuery);
      }, 200));
    },
    methods: {
      /*
      * 清空search
      * */
      clear() {
        this.query = '';
      },
      setQuery(query) {
        this.query = query;
      },
      blur() {
        this.$refs.query.blur();
      },
    },
  };
</script>

utils.getInfoByIDcard(IDCard)

通过身份证号码获取相关信息

参数名 类型 必填 默认值 说明
IDCard String 身份证号码

PS:必须传String

示例

utils.getInfoByIDcard('110101199003076931')

{
   "birthYear":"1990",
   "birthMonth":"03",
   "birthDay":"07",
   "fullBirth":"1990-03-07",
   "fullBirthText":"1990年03月07日",
   "sex":"男",
   "age":30
}

utils.formatChatTimeFromStamp(options?)

根据时间戳计算时间文字规则

参数名 类型 必填 默认值 说明
options Object | String | Number 当前时间戳 可以为时间戳,支持string格式,也可以为options对象

options参数

参数名 类型 必填 默认值 说明
stamp Number | String 内容时间戳
serviceStamp Number | String "-" 服务端当前时间时间戳
separator String "-" 分隔符
numbersModel Number 1 年月日-时分秒单双位数显示 1单双 2双双 3单单 4双单

PS:必须传String

示例

utils.formatChatTimeFromStamp() // 当前时间文字
utils.formatChatTimeFromStamp(1585065599000) // 星期二 下午 23:59
utils.formatChatTimeFromStamp({ // 昨天 下午 23:59
  stamp: 1585238399000,
  serviceStamp: 1585324799000,
  separator: '/',
  numbersModel: 1,
})

utils.clockLocalStorage(key, val, time?)

可设置储存时间的localStorage,总容量5M。存入缓存,支持字符串类型、json对象的存储。页面关闭后依然有效 ie7+以及以上有效。

setItem(key, val, time?)

设置储存localStorage

参数名 类型 必填 默认值 说明
key String key值
val String | Object | Array 储存值
time Number 储存时长

getItem(key)

获取储存值

参数名 类型 必填 默认值 说明
key String key值

remove(key)

删除某个储存值

参数名 类型 必填 默认值 说明
key String key值

clear

清除所有储存值

示例

utils.clockLocalStorage.setItem('aaa', { a: 1 })
utils.clockLocalStorage.setItem('bbb', 222, 10)
setTimeout(() => {
  // utils.clockLocalStorage.remove('aaa')
  // utils.clockLocalStorage.clear()
}, 5000)
setTimeout(() => {
  console.log(utils.clockLocalStorage.getItem('aaa'))
  console.log(utils.clockLocalStorage.getItem('bbb'))
}, 10000)