0.0.3-alpha.3 • Published 2 years ago
businesstools v0.0.3-alpha.3
前端业务工具包
非常实用的业务工具包,让前端开发更简单、迅速~
- 代码采用Common.js规范编写。
- 打包按照ES规范,为了有tree-shaking+编辑器智能提示。
- 支持npm引入与iife浏览器script引入。
Tips:大多数方法都是采用ES6+实现。为了文件体积没有经过babel转换,该工具包尽量在高版本浏览器上使用。
*Tips:V3版本:script引入下,低版本浏览器使用lowerBusinessTools.js(有方法不支持IE8+,也不会支持IE8+)****
使用方式
npm引入方式
npm install businesstools
import {methodName or className} from 'businesstools'
高版本浏览器引入方式
<script src="../dist/businessTools.js"></script>
businessTools.methodName--or className--()
低版本浏览器引入方式
<script src="../dist/lowerBusinessTools.js"></script>
businessTools.methodName--or className--()
版本内容
V1
数组转化为树形结构
/**
* 数组转化为树形结构
* @param list 带转换数组
* @param id id
* @param pid 关联id
* @returns {*[]}
*/
const convertListToTree = (List<Object> list, String id = 'id', String pid = 'pid') => {}
list集合排序、tree结构排序
/**
* list集合排序、tree结构排序
* @param list 待处理集合
* @param sortName 排序字段
* @param children 递归子元素
* @param desc 降序
* @returns {*}
*/
const sort = (List<Object> list, String sortName = 'sort', String children = 'children',Boolean desc = true) => {}
递归查找节点路径
/**
* 递归查找节点路径
* @param tree 待处理集合
* @param path 路径地址(匹配的节点构成的递归数据)
* @param callBack 回调函数(主动调用,工具传递当前节点),客户端返回true代表找到节点。
* @returns {*[]|*}
*/
const findPath = (List<Object> tree = [],List path = [],Function callBack) => {}
节流
/**
* 节流
* @param fn 需要运行的函数
* @param delay 等待时长
* @returns {(function(*): void)|*}
*/
const throttle = (Function fn,Integer delay) => {}
防抖
/**
* 防抖
* @param fn 需要运行的函数
* @param delay 等待时长
* @returns {(function(): void)|*}
*/
const debounce = (Function fn, Integer delay) => {}
对象拼接到url成最终url
/**
* 把对象拼接到url中,解析出完整的url字符串。PS:如果url中的参属性在待拼接对象中,拼接对象的属性会替换掉url属性
* @param url 待拼接url字符串
* @param obj 待拼接参数对象
* @returns {`${string}${string}${string}?${string}`}
*/
const joinObjectToUrl = (String url,Object obj) => {}
对象转化为formData
/**
* 对象转化为formData
* @param object 待转换对象
* @returns {FormData}
*/
const parseObjectToFormData = (Object object) => {}
转换url参数成对象
/**
* 转换url参数成对象
* @param url
* @returns {{}}
*/
const parseUrlParamsToObject = (String url) => {}
分片上传
/**
* 分片上传
* @param file 文件
* @param getUploadIdUrl 获取上传id地址 GET请求
* @param headers 请求头(后续上传与合并都采用这一个请求头,注意做好控制)
* @param chunkSize 切片大小
* @param getUploadIdParams 获取上传id额外参数 query参数
* @param getUploadIdErrorCallback 获取上传id错误处理
* @param uploadUrl 上传地址(POST请求,formData入参)
* @param uploadParams 上传请求额外参数,拼接在formData上面
* @param uploadErrorCallback 上传失败回调
* @param onProgress 上传进度回调
* @param mergeUploadUrl 合并地址 POST请求
* @param mergeUploadParams 合并请求参数 json形式拼接
* @param mergeUploadErrorCallback 合并请求参数失败回调
* @param uploadSuccessCallback 上传失败回调
* @returns {Promise<void>}
*/
const sliceUpload = async ({
MultipartFile file,
String getUploadIdUrl,
Object headers = {},
Long chunkSize = 1024 * 1024 * 3,
Object getUploadIdParams = {},
Function getUploadIdErrorCallback,
String uploadUrl,
Object uploadParams = {},
Function uploadErrorCallback,
Function onProgress,
String mergeUploadUrl,
Object mergeUploadParams = {},
Function mergeUploadErrorCallback,
Function uploadSuccessCallback
}) => {}
V2
正则表达式Pattern class
名称 | 类别 | 描述 | 备注 |
---|---|---|---|
属性 | 邮箱正则 | ||
属性 | QQ正则 | ||
Phone | 属性 | 手机正则 | |
PositiveInteger | 属性 | 正整数正则 | |
IdCard | 属性 | 身份证号正则(忽略末尾X) |
验证邮箱
/**
* 验证邮箱
* @param str 待验证内容
* @param emailPattern 正则表达式
* @returns {boolean}
*/
const verifyEmail = (String str,Pattern emailPattern = Pattern.Email) => {}
验证QQ
/**
* 验证QQ
* @param str 待验证内容
* @param QQPattern 正则表达式
* @returns {boolean}
*/
const verifyQQ = (String str, Pattern QQPattern = Pattern.QQ) => {}
验证手机号
/**
* 验证手机号
* @param str 待验证内容
* @param phonePattern 正则表达式
* @returns {boolean}
*/
const verifyPhone = (String str, Pattern phonePattern = Pattern.Phone) => {}
验证正整数
/**
* 验证正整数
* @param str 待验证内容
* @param idNumberPattern 正则表达式
* @returns {boolean}
*/
const verifyPositiveInteger = (String str,Pattern positiveIntegerPattern = Pattern.PositiveInteger) => {}
验证身份证号
/**
* 验证身份证号 x结尾的不区分大小写
* @param str 待验证内容
* @param idNumberPattern 正则表达式
* @returns {boolean}
*/
const verifyIdCard = (String str,Pattern idNumberPattern = Pattern.IdCard) => {}
判断是否为空
/**
* 判断是否为空
* @param data
* @returns {boolean}
*/
const isEmpty = (Object data) => {}
判断是否不为空
/**
* 判断是否不为空
* @param data
* @returns {boolean}
*/
const isNotEmpty = (Object data) => {}
判断是否是数组
/**
* 判断是否是数组
* @param data
* @returns {boolean}
*/
const isArray = (Object data) => {}
Tip:在V1的基础上,更改判断针对树形结构方法入参为isArray方法
v3
list去重
/**
* list去重
* @param list 待处理集合
* @param split 多个字段参与一起去重的时候的分隔符
* @param args 字段属性-支持传递多个字段,默认按照,拼接一起去重
* @returns {*[]|*}
*/
const reduceList = (List<Object> list, char split = ',', ...args) => {}
过滤list、tree节点
/**
* 根据自定义条件过滤list集合或tree结构
* @param list 待处理集合
* @param callback 回调函数(主动调用,工具传递当前节点),客户端返回true代表找到节点。
* @param children 递归节点名称
* @returns {*[]}
*/
const filter = (List<Object> list,Function callback, String children = 'children') => {}
递归遍历list、tree
/**
* 根据自定义条件对list每个元素执行一次操作,不会影响原有数据源
* @param list 待处理集合
* @param callback 回调函数(主动调用,工具传递当前节点)
* @param children 递归节点名称
* @returns {*[]}
*/
const operateList = (List<Object> list,Function callback, String children = 'children') => {}
修复内容:
修复数组转换树形结构引用导致数据错误问题,支持自定义节点字段
/** * 数组转化为树形结构 * @param list 带转换数组 * @param id id * @param pid 关联id * @param children 递归节点名称 * @returns {*[]} */ const convertListToTree = (List<Object> list, String id = 'id', String pid = 'pid', String children = 'children') => {}
修复sort排序缺少参数、引用导致数据错误问题。
修复递归查找节点路径不好调用问题,新增递归字段。
/** * 递归查找节点路径 * @param list 待处理集合 * @param callBack 回调函数(主动调用,工具传递当前节点),客户端返回true代表找到节点。 * @param children 递归节点名称 * @returns {*[]|*} */ const findPath = (List<Object> list, Function callback, String children = 'children') => {}
增加支持IE8+。
0.0.3
2 years ago
0.0.3-alpha.3
2 years ago
0.0.3-alpha.2
2 years ago
0.0.3-alpha.1
2 years ago
0.0.2
2 years ago
0.0.1
2 years ago
1.0.0
2 years ago