# Utils 工具类

概述

Utils 工具类,常用的数据处理工具。

# 引入

在页面中script标签内顶部引入(请自行调整路径
import utils from '../../../../components/firstui/fui-utils/index';
1

# 代码演示

部分示例演示,完整使用请参考示例程序以及文档API。
英文首字母大写

通过 titleCase 方法将英文首字母换成大写,val = English。

const text = 'english';
const val = utils.titleCase(text);
1
2
压缩连续的字母字符串

通过 compressLetter 方法压缩连续的字母字符串,val = 2a3bc9d。

const text = 'aabbbcddddddddd';
const val = utils.compressLetter(text);
1
2
等待多少毫秒再执行,同步阻塞

通过 sleep 方法同步延迟1000ms再执行提示信息。

utils.sleep(1000)
wx.fui.toast('1000ms后执行!')
1
2
格式化手机号码

通过 numberFormatter 方法格式化手机号码,val = 157****0012。

const text = '15715600012';
const val = utils.numberFormatter(text);
1
2
格式化金额,保留两位小数

通过 moneyFormatter 方法格式化金额,val = 2,021.00。

const text = '2021';
const val = utils.moneyFormatter(text);
1
2

# Methods

参数传入顺序从上到下依次传入。
方法名 说明 传入参数
titleCase 英文首字母大写 {String} value 需要处理的英文字符串
compressLetter 把连续出现多次的字母字符串进行压缩 {String} value 需要压缩的字符串
{Boolean} ignoreCase 是否忽略大小写
sleep 等待多少毫秒再执行,同步阻塞 {String} millisecond 毫秒
trim 去左右空格 {String} value 需要处理的字符串
trimAll 去所有空格 {String} value 需要处理的字符串
replaceAll 替换所有相同字符串 {String} text 需要处理的字符串
{String} repstr 被替换的字符
{String} newstr 替换后的字符
numberFormatter 格式化手机号码 {String} num 手机号码
moneyFormatter 金额格式化,保留两位小数 {String,Number} money 金额值
dateFormatter 日期时间格式化(参数详细说明如下方所示) {String ,Date } date 日期
{String} format 格式化字符串
{Number} type 日期的格式类型
{Boolean} isMs 时间戳精度是否为毫秒
rgbToHex RGB颜色转十六进制颜色 {Number} r
{Number} g
{Number} b
hexToRGB 十六进制颜色转RGB颜色 {String} hex 颜色值,如:#333333
unique 唯一标识,随机数 {Number} n 随机数位数
getUUID 获取uuid -
distinctArray 简单的数组合并去重 {Array} arr1 数组1
{Array} arr2 数组2
getDateTimeSlot 获取日期时间段 {Number} type 1-今天 2-昨天 3-本周 4-本月 5-本年
getUrlParam 获取Url参数,返回一个对象 {String} url url地址
debounce 函数防抖:短时间内多次触发同一事件,只执行最后一次,或者只执行最开始的一次,中间的不执行。 {Function} func 目标函数
{Number} wait 延迟执行毫秒数
{Boolean} immediate true-立即执行 false-延迟执行
throttle 函数节流:指连续触发事件,但是在 n 秒内只执行一次函数。即 2n 秒内执行 2 次... 。会稀释函数的执行频率。 {Function} func 函数
{Number} wait 延迟执行毫秒数
{Number} type 1-在时间段开始的时候触发 2-在时间段结束的时候触发
formatTimeAgo V2.1.0+ 日期时间格式化为多久之前,如:1分钟前(参数详细说明如下方说明) {String ,Date} date 日期
{Number} type 日期的格式类型
{Boolean} isMs 时间戳精度是否为毫秒
{String} suffix 后缀文本
{Number} endUnit 转化截止单位
{Number} seconds 多少秒之前显示为刚刚
{Boolean} fixedDay 是否需要天的固定文本
getRandomHexColor V2.3.0+ 获取随机颜色 -
convertCurrency V2.3.0+ 人名币转大写 {Number,String} money 金额
dateFormatter(日期时间格式化)方法参数详细说明

type 值不同,date 格式也不同。

/**
	 * @desc 日期时间格式化
	 
	 * @param {String | Date} date 需要格式化的日期
	 
	 * @param {String} format 格式化字符串(y-m-d h:i:s)
	 * format的格式可由(y m d h i s)组合,如:y-m,y-m-d,y年m月,h:i,y-m-d h:i 等
	 
	 * @param {Number} type 日期类型 1~4 
	 * 1-date的格式类型:日期字符串(2017/12/04 12:12:12) 
	 * 2-date的格式类型:时间戳(1603676514690) 
	 * 3-date的格式类型:日期字符串,无连接符(20171204121212) 
	 * 4-date的格式类型:new Date()时间格式(Thu Oct 01 2020 00:00:00 GMT+0800 (中国标准时间))
     
	 * @param {Boolean} isMs 时间戳精度是否为毫秒,默认为true(当精度为秒时传false),type=2时有效
 **/
 dateFormatter(date, format, type = 1, isMs = true)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
formatTimeAgo(日期时间格式化为多久之前)方法参数详细说明 V2.1.0+

其中datetypeisMs 参数同上方 dateFormatter方法一致。

/**
 * @desc 日期时间格式化为多久之前 如:1分钟前

 * @param {String | Date} date 需要格式化的日期

 * @param {Number} type 日期类型 1~4 
 * 1-date的格式类型:日期字符串(2017/12/04 12:12:12) 
 * 2-date的格式类型:时间戳(1603676514690) 
 * 3-date的格式类型:日期字符串,无连接符(20171204121212) 
 * 4-date的格式类型:new Date()时间格式(Thu Oct 01 2020 00:00:00 GMT+0800 (中国标准时间))

 * @param {Boolean} isMs  时间戳精度是否为毫秒,默认为true(当精度为秒时传false),type=2时有效

 * @param {String} suffix 后缀,如:30小时+ 后缀。[刚刚、昨天、前天 等为固定文本,后缀无效]

 * @param {Number} endUnit 转化截止单位,1-秒 2-分钟 3-小时 4-天 5-月 6-年,如传3(小时),则天,月,年不做转化直接返回空

 * @param {Number} seconds 多少秒之前显示为刚刚,不可超过60

 * @param {Boolean} fixedDay 是否需要天的固定文本,如昨天、前天
 **/
formatTimeAgo(date, type = 1, isMs = true, suffix = '前', endUnit = 6, seconds = 10, fixedDay = true)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

示例预览

Last Updated: 2/19/2024, 12:04:00 PM