0.0.7 • Published 8 months ago
@xw-ui/utils v0.0.7
安装
#npm
npm i @xw-ui/utils
# or yarn
yarn add @xw-ui/utils
# or pnpm
pnpm add @xw-ui/utils
使用
// 按需引入
import {addDate} from '@xw-ui/utils'
// 引入全部
import * as utils from '@xw-ui/utils'
函数介绍
日期函数
/**
* 日期加减天数
* @param date 日期 yyyy-MM-dd
* @param days ± 值,例如 1 或 -1
* @returns 返回加减之后的日期,格式 yyyy-MM-dd
*/
addDate,
/**
* 判断当前时间是否在startTime-endTime区间中
* 使用 checkTime('08:00', '20:00')
* @param startTime hh:mm,例 08:00
* @param endTime hh:mm,例 20:00
* @returns boolean
*/
checkTime,
/**
* 将yyyyMMdd(20180808)转yyyy-MM-dd(2018-08-08)
* @param str 字符,例如 20180808
* @returns 字符 2018-08-08
*/
date8To12,
/**
* 日期相减
* @param {*} date1 yyyy-MM-dd
* @param {*} date2 yyyy-MM-dd
* @returns day 天数
*/
dateDiff,
/**
* 将日期转化为字符串
* @param time 日期格式,例如 2024-08-08 08:12:25
* @param format 转化格式 yyyy-MM-dd hh:mm:ss
* @returns 返回日期字符传
*/
dateFormat,
/**
*
* @param {number} time
* @param {string} option yyyy-MM-dd
* @returns {string}
*/
formatTime,
/**
* 获取 时间戳或当前日期
* @param type start或空
* @returns 返回日期或时间戳
*/
getTime,
/**
* 将hhmmss(124508)转 hh:mm:ss(12:45:08)
* @param str hhmmss000
* @returns hh:mm:ss
*/
time6To8,
/**
* yyyyMMddhhmmss 转为 yyyy-MM-dd hh:mm:ss
* @param str yyyyMMddhhmmss
* @returns yyyy-MM-dd hh:mm:ss
*/
timeFormat,
加解密
/**
* 加密处理
* @param params 参数={data,type,param,key},type=Base64 | null
* @returns
*/
encryption,
/**
* 解密处理
* @param params 参数={type,param,key},type=Base64 | null
* @returns
*/
decryption,
数据字典
/**
* 将SYS_IF 转成 sysIf
* @param str SYS_IF
* @return sysIf
*/
formatField,
/**
* 获取字典label值
* @param value 值
* @param options 数组[{value,string}]
* @returns label 值
*/
getOptionLabel,
/**
* 获取字典value 值
* @param label 值
* @param options 数组
* @returns value值
*/
getOptionValue,
/**
* 字典 获取Item
* @param value 值
* @param options 字典Array
* @param key 默认'value'
* @returns 对象{value,label,...}
*/
getOptionItem,
auth 工具库,处理cookie,session,localStorage
/**
* env 配置
* VITE_ACCESS_TOKEN 默认 x-access-token
* VITE_SESSION_KEY 默认 va
* 获取token x-access-token
* @returns
*/
getToken,
/**
* 获取localStorage
* @param params {name}
* @returns 对象
*/
getStore,
/**
* 删除localStorage
* @param params {name}
*/
removeStore,
/**
* 移除token
*/
removeToken,
/**
* 存储 store
* @param params {name,content,type,datetime}
*/
setStore,
/**
* 设置token
* @param token
*/
setToken,
处理文件(Excel,下载)
/**
* 下载文件流
* @param {*} blob
* @param {*} fileName
* @returns
*/
downloadBlob,
/**
* 下载文件
* @param url
* @param filename
*/
downloadFile,
/**
* 下载txt
* @param {*} url
* @param {*} filename
*/
downloadTxt,
/**
*导入Excel解析
* @param {*} obj this.$refs.imFile ,obj.range 默认0,跳过Excel行数
* @param {*} callback 回调函数(list)
* obj.jrjgbm = item['金融机构编码'] ? item['金融机构编码'] : ''
*/
excelToJson,
/**
* 导出Excel获取blob
* @param {*} response
* @param {*} callback({ blob, name, type })
*/
getBlob,
校验
/**
* 判断数组
* @param {Array} arg 数组
* @returns boolean
*/
isArray,
/**
* 判断地址是否有http,mailto,tel
* @param path 地址字符串
* @returns boolean
*/
isExternal,
/**
* 判断是否图片
* @param {*} url 图片地址
* @returns boolean
*/
isImage,
/**
* 判断是字符
* @param str
* @returns boolean
*/
isString,
/**
* 是否有效字母
* @param str 字符串
* @returns boolean
*/
validAlphabets,
/**
* 校验email地址
* @param email
* @returns boolean
*/
validEmail,
/**
* 是否有效小写
* @param str 字符串
* @returns boolean
*/
validLowerCase,
/**
* 校验http,https,ftp地址
* @param url http,ftp地址
* @returns boolean
*/
validURL,
/**
* 是否有效大写
* @param str 字符串
* @returns boolean
*/
validUpperCase,
/**
* 判断是否为空
* @param val 字符,数组,对象
* @returns boolean
*/
validateNull
通用
/**
* Add class to element
* @param {HTMLElement} elm
* @param {string} cls
*/
addClass,
/**
* the byte length of an utf8 string
* @param {string} input value
* @returns {number} output value
*/
byteLength,
/**
* 清空数组
* @param actual 数组
* @returns 数组
*/
cleanArray,
/**
* 生成唯一字符
* @returns 字符串
*/
createUniqueString,
/**
* @param {Function} func
* @param {number} wait
* @param {boolean} immediate
* @return {*}
*/
debounce,
/**
* This is just a simple version of deep copy
* Has a lot of edge cases bug
* If you want to use a perfect deep copy, use lodash's _.cloneDeep
* @deprecated 请使用deepCopy
* @param {Object} source
* @returns {Object}
*/
deepClone,
/**
* 深拷贝
* @param data 对象或数组
* @returns 对象或数组
*/
deepCopy,
/**
* 获取url地址参数
* @param url地址
* @returns 参数对象
*/
getQueryObject,
/**
* 传身份证,获取对应类型值
* @param idCard
* @param type age 年龄,date 出生日期,sex 性别
* @returns
*/
getValueByCertId,
/**
* Check if an element has a class
* @param {HTMLElement} elm
* @param {string} cls
* @returns {boolean}
*/
hasClass,
/**
* html2Text
* @param val
* @returns 字符
*/
html2Text,
/**
* Number formatting
* like 10000 => 10k
* @param {number} num
* @param {number} digits
*/
numberFormatter,
/**
* Merges two objects, giving the last one precedence
* @param {Object} target
* @param {(Object|Array)} source
* @returns {Object}
*/
objectMerge,
/**
* 对象转&连接的字符
* @param json 对象
* @returns key1=v1&k2=v2
*/
param,
/**
* 字符url转对象
* @param {string} url 字符
* @returns 返回对象
*/
param2Obj,
/**
* Remove class from element
* @param {HTMLElement} elm
* @param {string} cls
*/
removeClass,
/**
* 替换字符
* @param {*} str 字符串
* @param {*} char 需替换字符
* @param {*} nChar 新字符
* @returns 新字符串
*/
replaceChar,
/**
* 10000 => "10,000"
* @param {number} num
*/
toThousandFilter,
/**
* @param {HTMLElement} element
* @param {string} className
*/
toggleClass,
/**
* 判断类型
* @param {*} obj 传入的参数 any
* @returns boolean | number | string | function | array | date | regExp | undefined | null | object
*/
typeOf,
/**
* 数组去重
* @param arr 数组
* @param isObject 是否[{k1:v},{k1:v}],默认 false
* @returns 去重之后的数组
*/
uniqueArr,
/**
* Upper case first char
* @param {String} string
*/
uppercaseFirst,
页面拷贝(改变页面name值,props传递参数)
/**
* 将指定组件设置自定义名称
* @param {Object} params={name:string,props:any} 组件自定义名称
* @param {AsyncComponent} asyncComponent 拷贝组件
* @return {Component} 返回组件
* 使用 例子:createCustomComponent({name:'logs'},import('./test.vue'))
*/
createCustomComponent,
更新日志
- 0.0.4
加入页面拷贝
- 0.0.3
补充文档
- 0.0.2
加入“字典”和“加解密” 函数
- 0.0.1
补充使用文档
- 0.0.0
初始