@little_white007/utils
v1.0.2
Published
工具类
Readme
[TOC]
安装
npm i @little_white007/utils使用
import Utils from '@little_white007/utils';
//每个方法都通过Utils.xx的形式使用,具体例子看代码
Utils.isEmpty(22) // false一、常用工具函数说明
serialize(data)
- 描述: 将对象序列化为 URL 编码的字符串。
- 参数:
data(Object): 要序列化的对象。
- 返回值:
string: 序列化后的字符串,格式为key1=value1&key2=value2。
getObjType(obj)
- 描述: 获取对象的类型。
- 参数:
obj(any): 要检测的对象。
- 返回值:
string: 对象的类型,如'array','object','string'等。
getViewDom()
- 描述: 获取页面中特定元素的 DOM 节点。
- 参数: 无
- 返回值:
DOMElement: 页面中 ID 为avue-view的元素中的第一个.el-scrollbar__wrap元素。
deepClone(data)
- 描述: 深拷贝对象或数组。
- 参数:
data(any): 要深拷贝的数据。
- 返回值:
any: 深拷贝后的数据。
toggleGrayMode(status)
- 描述: 切换页面的灰度模式。
- 参数:
status(boolean): 是否启用灰度模式。
- 返回值: 无
setTheme(name)
- 描述: 设置页面的主题。
- 参数:
name(string): 主题名称。
- 返回值: 无
encryption(params)
- 描述: 对数据进行加密处理。
- 参数:
params(Object): 配置对象,包含以下属性:data(Object): 要加密的数据。type(string): 加密类型,如'Base64'或'Aes'。param(Array): 需要加密的字段列表。key(string): 加密密钥(仅在type为'Aes'时使用)。
- 返回值:
Object: 加密后的数据。
fullscreenToggel()
- 描述: 切换浏览器全屏状态。
- 参数: 无
- 返回值: 无
listenfullscreen(callback)
- 描述: 监听全屏状态变化,并执行回调函数。
- 参数:
callback(Function): 全屏状态变化时的回调函数。
- 返回值: 无
fullscreenEnable()
- 描述: 判断浏览器是否处于全屏状态。
- 参数: 无
- 返回值:
boolean: 当前是否处于全屏状态。
reqFullScreen()
- 描述: 请求浏览器进入全屏模式。
- 参数: 无
- 返回值: 无
exitFullScreen()
- 描述: 退出浏览器全屏模式。
- 参数: 无
- 返回值: 无
findParent(menu, id)
- 描述: 递归查找子节点的父节点。
- 参数:
menu(Array): 菜单数据。id(any): 要查找的子节点的 ID。
- 返回值:
Object: 查找到的父节点对象。
loadStyle(url)
- 描述: 动态插入 CSS 文件。
- 参数:
url(string): CSS 文件的 URL。
- 返回值: 无
diff(obj1, obj2)
- 描述: 判断两个对象的属性和值是否相等。
- 参数:
obj1(Object): 第一个对象。obj2(Object): 第二个对象。
- 返回值:
boolean: 两个对象是否相等。
findByvalue(dic, value)
- 描述: 根据字典的值查找对应的标签。
- 参数:
dic(Array): 字典数据。value(any): 要查找的值。
- 返回值:
string | string[]: 查找到的标签或标签数组。
findArray(dic, value)
- 描述: 根据字典的值查找对应的索引。
- 参数:
dic(Array): 字典数据。value(any): 要查找的值。
- 返回值:
number: 查找到的索引,未找到返回-1。
randomLenNum(len, date)
- 描述: 生成指定长度的随机数字。
- 参数:
len(number, 可选): 随机数字的长度,默认为 4。date(boolean, 可选): 是否附加当前时间戳,默认为false。
- 返回值:
string: 生成的随机数字。
openWindow(url, title, w, h)
- 描述: 打开一个新的浏览器窗口。
- 参数:
url(string): 新窗口的 URL。title(string): 新窗口的标题。w(number): 新窗口的宽度。h(number): 新窗口的高度。
- 返回值: 无
getTopUrl()
- 描述: 获取当前页面的顶级 URL。
- 参数: 无
- 返回值:
string: 顶级 URL。
getQueryString(name)
- 描述: 获取 URL 中的查询参数。
- 参数:
name(string): 查询参数的名称。
- 返回值:
string | null: 查询参数的值,未找到返回null。
downloadFileBlob(path, name)
- 描述: 下载文件(通过 Blob)。
- 参数:
path(string): 文件的 URL。name(string): 下载的文件名。
- 返回值: 无
downloadFileBase64(path, name)
- 描述: 下载文件(通过 Base64)。
- 参数:
path(string): 文件的 URL。name(string): 下载的文件名。
- 返回值: 无
downloadXls(fileArrayBuffer, filename)
- 描述: 下载 Excel 文件。
- 参数:
fileArrayBuffer(ArrayBuffer): 文件的二进制数据。filename(string): 下载的文件名。
- 返回值: 无
empty(value)
- 描述: 判断值是否为空。
- 参数:
value(any): 要检查的值。
- 返回值:
boolean: 值是否为空。
debounce(fn, delay)
- 描述: 创建一个防抖函数。
- 参数:
fn(Function): 要防抖的函数。delay(number): 延迟时间(毫秒)。
- 返回值:
Function: 防抖后的函数。
二、存储和获取 LocalStorage 的工具函数
setStore(params)
- 描述: 存储数据到
localStorage或sessionStorage。 - 参数:
params(Object): 配置对象,包含以下属性:name(string): 存储的键名。content(any): 要存储的内容。type(boolean, 可选): 是否存储到sessionStorage,默认为localStorage。
- 返回值: 无
- 描述: 存储数据到
getStore(params)
- 描述: 从
localStorage或sessionStorage中获取数据。 - 参数:
params(Object): 配置对象,包含以下属性:name(string): 存储的键名。debug(boolean, 可选): 是否返回原始对象,默认为false。
- 返回值:
any: 存储的内容,根据dataType转换为相应的类型。
- 描述: 从
removeStore(params)
- 描述: 从
localStorage或sessionStorage中删除数据。 - 参数:
params(Object): 配置对象,包含以下属性:name(string): 存储的键名。type(boolean, 可选): 是否从sessionStorage中删除,默认为localStorage。
- 返回值: 无
- 描述: 从
getAllStore(params)
- 描述: 获取
localStorage或sessionStorage中的所有数据。 - 参数:
params(Object): 配置对象,包含以下属性:type(boolean, 可选): 是否获取sessionStorage中的数据,默认为localStorage。
- 返回值:
Array<Object>: 包含所有存储项的列表,每个项包含name和content属性。
- 描述: 获取
clearStore(params)
- 描述: 清空
localStorage或sessionStorage中的所有数据。 - 参数:
params(Object): 配置对象,包含以下属性:type(boolean, 可选): 是否清空sessionStorage,默认为localStorage。
- 返回值: 无
- 描述: 清空
三、通用工具类函数说明
notEmpty(val)
- 描述: 检查值是否不为空。
- 参数:
val(any): 要检查的值。
- 返回值:
boolean: 如果值不为空,则返回true,否则返回false。
isUndefined(val)
- 描述: 检查值是否为
undefined或null。 - 参数:
val(any): 要检查的值。
- 返回值:
boolean: 如果值为undefined或null,则返回true,否则返回false。
- 描述: 检查值是否为
isEmpty(val)
- 描述: 检查值是否为空。
- 参数:
val(any): 要检查的值。
- 返回值:
boolean: 如果值为null、undefined或空字符串,则返回true,否则返回false。
toInt(val, defaultValue)
- 描述: 将值转换为整数,如果转换失败则返回默认值。
- 参数:
val(any): 要转换的值。defaultValue(number): 转换失败时的默认值,默认为-1。
- 返回值:
number: 转换后的整数值或默认值。
toFormData(obj)
- 描述: 将对象转换为
FormData类型。 - 参数:
obj(Object): 要转换的对象。
- 返回值:
FormData: 转换后的FormData对象。
- 描述: 将对象转换为
format(date, format)
- 描述: 将
Date对象转换为指定格式的字符串。 - 参数:
date(Date): 要格式化的日期对象。format(string): 日期格式,默认为"YYYY-MM-DD HH:mm:ss"。
- 返回值:
string | null: 格式化后的日期字符串,如果date为null则返回null。
- 描述: 将
join(arr)
- 描述: 将数组中的元素用逗号连接成字符串。
- 参数:
arr(Array): 要连接的数组。
- 返回值:
string: 连接后的字符串,如果arr不是数组则直接返回arr。
split(str)
- 描述: 将字符串按逗号分割成数组。
- 参数:
str(string): 要分割的字符串。
- 返回值:
Array | string: 分割后的数组,如果str为null或undefined则返回空字符串。
toStr(str)
- 描述: 将值转换为字符串,如果值为
undefined或null则返回空字符串。 - 参数:
str(any): 要转换的值。
- 返回值:
string: 转换后的字符串。
- 描述: 将值转换为字符串,如果值为
四、日期相关函数说明
calcDate(date1, date2)
- 描述: 计算两个日期之间的差值,并返回天数、小时数、分钟数和秒数。
- 参数:
date1(Date): 第一个日期。date2(Date): 第二个日期。
- 返回值:
Object: 包含以下属性:days(number): 天数。hours(number): 小时数。minutes(number): 分钟数。seconds(number): 秒数。leave1(number): 计算天数后剩余的毫秒数。leave2(number): 计算小时数后剩余的毫秒数。leave3(number): 计算分钟数后剩余的毫秒数。
dateFormat(date, format)
- 描述: 格式化日期。
- 参数:
date(Date): 要格式化的日期。format(string): 日期格式,默认为"yyyy-MM-dd hh:mm:ss"。
- 返回值:
string: 格式化后的日期字符串。
dateNow()
- 描述: 获取当前时间的时间戳,格式为
"yyyyMMddhhmmss"。 - 参数: 无
- 返回值:
string: 当前时间的时间戳。
- 描述: 获取当前时间的时间戳,格式为
dateNowday()
- 描述: 获取当前日期的时间戳,格式为
"yyyyMMdd"。 - 参数: 无
- 返回值:
string: 当前日期的时间戳。
- 描述: 获取当前日期的时间戳,格式为
dateNowmon()
- 描述: 获取当前月份的时间戳,格式为
"yyyy-MM"。 - 参数: 无
- 返回值:
string: 当前月份的时间戳。
- 描述: 获取当前月份的时间戳,格式为
dateNowTime()
- 描述: 获取当前时间的时间戳,格式为
"yyyy-MM-dd hh:mm:ss"。 - 参数: 无
- 返回值:
string: 当前时间的时间戳。
- 描述: 获取当前时间的时间戳,格式为
dateFormatForScreen(date, format)
- 描述: 获取大屏显示的时间,包括星期、日期和时间。
- 参数:
date(Date): 要格式化的日期。format(string): 日期格式,默认为"yyyy-MM-dd hh:mm:ss"。
- 返回值:
Object: 包含以下属性:week(string): 星期几。day(string): 日期部分。time(string): 时间部分。
五、校验相关函数说明
isvalidUsername(str)
- 描述: 验证用户名是否合法。
- 参数:
str(string): 待验证的用户名。
- 返回值:
boolean: 如果用户名合法,返回true;否则返回false。
validateURL(textval)
- 描述: 验证URL地址是否合法。
- 参数:
textval(string): 待验证的URL地址。
- 返回值:
boolean: 如果URL地址合法,返回true;否则返回false。
isEmail(s)
- 描述: 验证邮箱地址是否合法。
- 参数:
s(string): 待验证的邮箱地址。
- 返回值:
boolean: 如果邮箱地址合法,返回true;否则返回false。
isImage(str)
- 描述: 验证字符串是否为图片文件。
- 参数:
str(string): 待验证的字符串。
- 返回值:
boolean: 如果字符串是图片文件,返回true;否则返回false。
isMobile(s)
- 描述: 验证手机号码是否合法。
- 参数:
s(string): 待验证的手机号码。
- 返回值:
boolean: 如果手机号码合法,返回true;否则返回false。
isPhone(s)
- 描述: 验证电话号码是否合法。
- 参数:
s(string): 待验证的电话号码。
- 返回值:
boolean: 如果电话号码合法,返回true;否则返回false。
isURL(s)
- 描述: 验证URL地址是否合法。
- 参数:
s(string): 待验证的URL地址。
- 返回值:
boolean: 如果URL地址合法,返回true;否则返回false。
validateLowerCase(str)
- 描述: 验证字符串是否全为小写字母。
- 参数:
str(string): 待验证的字符串。
- 返回值:
boolean: 如果字符串全为小写字母,返回true;否则返回false。
validateUpperCase(str)
- 描述: 验证字符串是否全为大写字母。
- 参数:
str(string): 待验证的字符串。
- 返回值:
boolean: 如果字符串全为大写字母,返回true;否则返回false。
validatAlphabets(str)
- 描述: 验证字符串是否全为字母(大小写均可)。
- 参数:
str(string): 待验证的字符串。
- 返回值:
boolean: 如果字符串全为字母,返回true;否则返回false。
vaildatePc()
- 描述: 验证当前设备是否为PC端。
- 参数: 无
- 返回值:
boolean: 如果当前设备是PC端,返回true;否则返回false。
validateEmail(email)
- 描述: 验证邮箱地址是否合法。
- 参数:
email(string): 待验证的邮箱地址。
- 返回值:
boolean: 如果邮箱地址合法,返回true;否则返回false。
cardid(code)
- 描述: 验证身份证号码是否合法。
- 参数:
code(string): 待验证的身份证号码。
- 返回值:
Array: 包含两个元素的数组,第一个元素是验证结果(true或false),第二个元素是验证消息(字符串)。
isvalidatemobile(phone)
- 描述: 验证手机号码是否合法。
- 参数:
phone(string): 待验证的手机号码。
- 返回值:
Array: 包含两个元素的数组,第一个元素是验证结果(true或false),第二个元素是验证消息(字符串)。
validatename(name)
- 描述: 验证姓名是否合法。
- 参数:
name(string): 待验证的姓名。
- 返回值:
boolean: 如果姓名合法,返回true;否则返回false。
validatenum(num, type)
- 描述: 验证数字是否合法。
- 参数:
num(string): 待验证的数字。type(number): 验证类型(1 表示允许小数,2 表示不允许小数)。
- 返回值:
boolean: 如果数字合法,返回true;否则返回false。
validatenumord(num, type)
- 描述: 验证数字是否合法。
- 参数:
num(string): 待验证的数字。type(number): 验证类型(1 表示允许小数,2 表示不允许小数)。
- 返回值:
boolean: 如果数字合法,返回true;否则返回false。
validatenull(val)
- 描述: 验证值是否为空。
- 参数:
val(any): 待验证的值。
- 返回值:
boolean: 如果值为空,返回true;否则返回false。
