lml-tools
v1.1.6
Published
个人工具包
Downloads
7
Readme
辅助函数库
常用
typeOf - 判断类型
_float - 浮点数计算
getFormData - 获取formData数据
definePros - 对象绑定
getFileName - 获取文件名称 getFileExtName - 获取后缀名并转换小写
_cloneObj - 复制数据 _deepCopy - 遍历数据复制
_trim - 默认首尾去空格
rjs
重构
_for - 遍历数据-包括对象
_forEach - 遍历数组数据
_forObject - 遍历对象数据
_filter - 重构filter-包括对象
rank
计算
getRandomArrayElements - 随机获取数组中的元素组合
_swapArray - 复杂数组数据交换
getCombine - 从数组中取出n个元素的所有组合
getPermutation - 计算数组中所有的排列方式
getMaximin - 获取数组最大最小值
business
复杂
treeToArray - 树结构反向转换一维数组
filterList - 递归遍历数组数据 arrayToTree - 数组转树结构
findTarget - 递归查询数据元素
mergeJson - 合并多个对象数组
nestedProperty - 嵌套属性查询 hasObjKey - 查询对象key值是否存在 getObjVal - 获取对象val
数据处理
_compareVersion - 比较字符串版本 - v1>v2 为1
Cutsubstr - 字符串截取 - 包含中文
strlen - 计算数据长度 strlenUnit - 转换带单位数据
WordFirstUper - 单词首字符大写
数据转换
字符串转json
_toJson - 重构
JSON.parse
,防止报错formatJsonStr - 分隔 | 未知类型转
json
转数字
_toNumber - 基础转 _toFixed - 基础转指定小数
_toNumFixed - 表达式转指定小数
随机生成
生成不重复的唯一值: _seedId - number
_keyid - string - Date.now
numberRandom - 生成随机数
数字处理
numberPad - 补充差值
numberComma - 分割数字-格式金额
颜色处理
getRandomColor - 获取随机颜色值
colorHex - RGB颜色转换为16进制
colorRgb - 16进制颜色转为RGB格式
时间处理
_getDate - 获取时间元数据
_formatDate - 格式化时间
_getAllDate - 获取日期全部参数
formatDurationToFriendly - 秒转换成友好格式
_isLeapYear - 判断某一年是否是闰年
_parseDate - 时间格式反向解析
_getMonthDays - 获取某月的总天数
getServerTime - 获取服务器时间
文件处理
getFileURL - 生成文件路径
clearFileURL - 清除文件路径
downloadFile - 远程文件下载
downloadBlob - 数据流下载
downloadLink - 本地文件下载
loadResource - 加载页面资源文件
loadResourceCode - 加载页面代码
loadScript - 加载脚本文件
loadStyle - 加载css样式表文件
preLoadStyle - 预加载link资源配置
uploadFile - 原生js上传多图
ifs
判断处理
isAfterIphoneX - 判断是否是iphoneX及之后的机型
_isValue - 判断是有效值
_noValue - 非空并不为0
checkEmail - 验证邮件格式
checkPhone - 验证手机
getIdCardInfo - 解析身份证信息
getIdCardLastChar - 获取身份证号第18位校验码
hasObjEqual - 判断两个对象是否相等
isArray - 判断是否是数组数据
isChinese - 判断是否是汉字
isChineseName - 是否是中文名字
isEmptyObject - 是否是空对象
isIphone - 判断是否是phone
isIphoneX - 判断是否是iphoneX和iphoneXS
isNulls - 判断除对象外的空值
isObject - 判断是否是对象
isScreenSzie - 是否是屏幕尺寸
isThisBoolean - 过滤非boolean时的默认值设置
isUndefined - 是否为undefined
isValidIP - 是否是ip地址
isWechat - 判断是否是微信环境
富文本数据处理
_regAngle - 替换英文字符为全角字符
_trimSpecial - 去除特殊字符
_trimEmoji - 去除表情符号
clearEmptyTags - 去除空标签
HTTP处理
缓存处理
Cookies - Cookie集合-不转码
cookie - Cookies简化版
Locals - 本地缓存集合
local - Locals简化版
localExpires - 本地+生存周期
Sessions - 会话缓存集合
session - Sessions简化版
参数处理
_getParams - 获取URL字符串的参数
_getParamsByName - 获取某个参数
_getAllParams - 获取Http全部信息
_paramsToString - 对象参数转url字符串
_getHttpCodeMsg - 获取http状态码的提示信息
_encode - URL编码转换-只转中文
_decode - URL编码解码
浏览器操作
addXSupport - 兼容X适配-加上viewport-fit=cover
getOrientationStatus - 获取横竖屏状态
browser - 获取移动端设备环境类
getNetwork - 移动端获取网络状态
readyDOM - 兼容document加载完成事件
scrollBackTop - 回到顶部 - 流畅
versions - 获取移动端设备版本信息
元素处理
_addClass - 过滤添加class类
_hasClass - 判断类名是否存在目标类
removeClass - 移除class类
getAllScreen - 获取屏幕screen信息
getClientH - 获取document的可见高度
getClientSize - 根据size获取对应尺寸
getCssStyle - 获取css样式属性
getDocumentBody - 兼容获取body元素
getRectSize - 获取rect边界尺寸
getScrollLeft - 获取滚动条左边界
getScrollTop - 获取滚动条上边界
getSrcollH - 获取元素的整体高度
prefixStyle - 自动添加适配浏览器样式前缀
事件处理
_off - 解绑事件
_on - 绑定事件
EventBus - 事件总线(数组)
stopDefault - 阻止默认事件
stopTouch - 弹窗显示时禁止页面滑动
triggerEvent - 兼容性click元素触发
图片处理
_iosRepairImg - 修复IOS中图片旋转问题
_rotateImg - 旋转图片
downloadIamge - 下载图片
getImgeInfo - 获取图片元素信息
getPixelRatio - 获取canvas渲染的像素倍数
imageLoaded - 处理图片加载完毕
转码
canvasToDataURL - canvas转DataURL
imageToCanvas - 图片链接转canvas
imageToBlob - 图片链接转Blob
fileToDataURL - 文件流转DataURL
dataURLToBuffer - dataURL转Buffer
dataURLToBlob - dataURL转Blob
dataURLToFile - dataURL转File
拓展插件库
VUE基础拓展
封装了异步,埋点,常用方法
异步以axios
为基础,适用于业务中每一个不同类型的框架
饿了么拓展
根据业务中管理后台都是基于elementUI
开发,对每一个业务后台进行分析后,封装的通用组件,方法及业务拓展
applyBaseInfo - 2.15.6 以下版本基础信息组件
applyDescriptions - 2.15.6 以上版本基础信息组件
applyDialog - 基础弹窗组件
applyPage - 基础分页组件
applyTable - 基础表格组件
formButton - 表单按钮组件
formCell - 表单单元控件
formItem - 表单控制单元
formPopup - 表单弹窗
pageContainer - 自动计算剩余高度
searchControl - 行内搜索筛选器
searchForm - 搜索列表页面集合组件
扩展函数
封装了些业务中的通用处理方案
微信拓展
意见分析
兼容两套UI,因微易本身UI组件库bug太多,功能不具有拓展性,但很多项目有用到,并且其中有对一些业务做的专属组件,所以迫不得已,附加`vant`为辅,虽然可整合,但没啥意义,好处太少
- 如果整合集成在一起,代码融入到新组件库中,那么对于之前的项目而言
1. 替换之前组件引用,这样改动大,同时容易出错,维护时如果只改一套,就会让原来的出现差异,如此递增下去,差异越大越难改
2. 组件集成兼容原来的组件库的引用,使效果一致,维护性较之高