修复插件小问题
优化一些方法
增加本地存储方法
查看更多
Vue2 |
Vue3 |
√ |
√ |
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 |
× |
√ |
× |
× |
× |
√ |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
× |
× |
× |
× |
× |
开发中常用工具方法封装,如节点获取/高精度计算/类型判断/日期格式化/节流防抖等,提高开发效率,避免无效的造轮子,其中部分方法摘自uview
节点获取篇
方法名 |
功能 |
返回 |
selector |
uniapp中因为没有domapi,如果想单个获取元素尺寸位置信息可以使用此方法 |
返回一个节点信息,文挡 |
selectorAll |
uniapp中因为没有domapi,如果想批量获取元素尺寸位置信息可以使用此方法 |
批量返回数组节点信息,文挡 |
系统信息篇
方法名 |
功能 |
返回 |
getStatusBarHeight |
获取状栏栏高度 |
返回状态栏高度,单位px |
getTitleBarHeight |
获取titleBar的高度 |
返回当前标题栏的高度,单位px |
getHeaderBarHeight |
获取顶部header的高度,也就是状态栏高度+标题栏的高度 |
返回顶部header高度 |
getWindowInfo |
获取当前窗口相关的信息 |
返回当前窗口信息{screenWidth,screenHeight,windowWidth,windowHeight,windowTop,windowBottom},文挡 |
getSystemInfo |
获取当前设备信息 |
返回当前设备信息,文挡 |
systemInfo |
上面所有方法的整体导出 |
如要不想一个一个方法的导出,可以直接导入它,再通过.调用上面方法,如systemInfo.getStatusBarHeight() |
精度计算篇
方法名 |
功能 |
返回 |
times |
高精度乘法 |
返回计算结果,解决js在计算过程的精度问题,如0.1*0.2 |
plus |
高精度加法 |
返回计算结果,解决js在计算过程的精度问题,如0.1+0.2 |
minus |
高精度减法 |
返回计算结果,解决js在计算过程的精度问题,如0.3-0.1 |
divide |
高精度除法 |
返回计算结果,解决js在计算过程的精度问题,如0.3/0.1 |
round |
高精度四舍五入 |
返回计算结果,解决js在计算过程的精度问题 |
numToMillennials |
数字转千分位表示,支持设置保留小数位数 |
返回转换结果,如123456转化为123,456.00 |
digitUppercase |
数字转大写金额 |
返回转换结果,如123456.56转化为壹拾贰万叁仟肆佰伍拾陆元伍角陆分 |
mathApi |
上面所有方法的整体导出 |
如要不想一个一个方法的导出,可以直接导入它,再通过.调用上面方法,如mathApi.times(0.1,0.2) |
类型判断
方法名 |
功能 |
返回 |
isEmail |
验证电子邮箱格式 |
返回true/false |
isMobile |
验证手机格式 |
返回true/false |
isUrl |
验证URL格式 |
返回true/false |
isDate |
验证日期格式 |
返回true/false |
isDateISO |
验证ISO类型的日期格式 |
返回true/false |
isNumber |
验证十进制数字 |
返回true/false |
isString |
验证字符串 |
返回true/false |
isDigits |
验证整数 |
返回true/false |
isIdCard |
验证身份证号码 |
返回true/false |
isCarNo |
是否车牌号 |
返回true/false |
isAmount |
金额,只允许2位小数 |
返回true/false |
isChinese |
中文 |
返回true/false |
isLetter |
只能输入字母 |
返回true/false |
isEnOrNum |
只能是字母或者数字 |
返回true/false |
isContains |
验证是否包含某个值 |
返回true/false |
isRange |
验证一个值范围[min, max] |
返回true/false |
isRangeLength |
验证一个长度范围[min, max] |
返回true/false |
isLandline |
是否固定电话 |
返回true/false |
isEmpty |
判断是否为空 |
返回true/false |
isJsonString |
是否json字符串 |
返回true/false |
isArray |
是否数组 |
返回true/false |
isObject |
是否对象 |
返回true/false |
isCode |
是否短信验证码 |
返回true/false |
isFunc |
是否函数方法 |
返回true/false |
isPromise |
是否promise对象 |
返回true/false |
isImage |
是否图片格式 |
返回true/false |
isVideo |
是否视频格式 |
返回true/false |
isRegExp |
是否为正则对象 |
返回true/false |
testApi |
上面所有方法的集合 |
返回true/false |
日期格式化篇
方法名 |
功能 |
说明 |
timeFormat |
格式化时间 |
时间戳或者时间字符串转换为指定的格式,格式规则为yyyy:mm:dd/yyyy:mm/yyyy年mm月dd日/yyyy年mm月dd日 hh时MM分等,可自定义组合 默认yyyy-mm-dd |
timeFormatToLong |
格式化时间 |
时间戳或者时间字符串转换为多久前,如果是5分钟内则返回刚刚,超过依次返回多少分钟/小时/天/月/年,第二个参数如果传时间格式,当时间间隔超过月的时候会返回指定格式的时间 |
countDownByStartEnd |
倒计时 |
传入结束时间和开始时间,获取一个天时分秒毫秒对象{days,hours, minutes,seconds, milliseconds} |
countDownBytimeStamp |
倒计时 |
传入一个时间戳,获取一个天时分秒毫秒对象{days,hours, minutes,seconds, milliseconds} |
countDownHMSMBytimeStamp |
倒计时 |
传入一个时间戳,获取一个时分秒毫秒对象{hours, minutes,seconds, milliseconds} |
性能优化篇
方法名 |
功能 |
说明 |
debounce |
防抖方法 |
一定时间内,只有最后一次操作,再过wait毫秒后才执行函数 |
throttle |
节流方法 |
在一定时间内,只能触发一次 |
本地存储方法封装
方法名 |
功能 |
说明 |
storage |
对象的形式支持设置过期时间的设置本地存储方法 |
使用前阅读下代码,查看其下可用api |
LocalStorage |
类的形式支持设置过期时间的设置本地存储方法 |
使用前阅读下代码,查看其下可用api |
通用方法篇
方法名 |
功能 |
说明 |
numberFormat |
数字格式化 |
把数字转换成千分位形式,返回转换后内容 |
trim |
去除空格 |
去除字符串的空格,支持both(左右)/left/right/all 默认both,返回处理后的字符串 |
randomArray |
打乱数组 |
随机打乱数组,返回打乱后的数组 |
flattenArray |
数组扁平化 |
把多维数组转化为一维数组,返回一维数组,如[1,[2,[3],4,[5,[6]]]]转化为[1,2,3,4,5,6] |
shuffleArray |
洗牌算法,随机排列数组元素 |
数组随机排序 [ 1, 2,3,4, -1, 0 ] => [3, 1, 0, 2, 4, -1] |
deepClone |
深度克隆 |
返回克隆后的对象或者原值(不是对象) |
deepMerge |
对象深度合并 |
深度合并后的对象或者false(入参有不是对象) |
transformStyle |
样式转换 |
对象转字符串,或者字符串转对象 |
getPx |
用于获取用户传递值的px值 |
如果用户传递了"xxpx"或者"xxrpx",取出其数值部分,如果是"xxxrpx"还需要用过uni.upx2px进行转换 |
random |
取一个区间数 |
返回指区间内的一个随机值 |
telSecurity |
手机号脱敏,支持传递脱敏位数 |
对手机号执行星号脱敏如转化为156****9862 |
urlParamToJson |
url参数转对象 |
url参数字符串转对象 a=1&b=2转为 {a:1,b:2} |
jsonToUrlParam |
JSON对象转换为URL参数 |
json对象转url字符串 {a:1,b:2}转为a=1&b=2 |
isEmojiCharacter |
判断字符串是否有emoji表情 |
返回true/false |
typeOf |
获取变量的类型 |
typeOf('') string typeOf(0) number typeOf() undefined typeOf(null) null typeOf({}) object typeOf([]) array typeOf(0) number typeOf(() => {}) function |
safeJSONParse |
trycatch安全处理JSON.parse |
trycatch包裹的JSON.parse,错误返回null |
请求方法封装 Request
绝大部分项目都要用到请求方法,基于uni.request封装了使用更方便的请求方法
请求方法特性:
- 支持baseUrl设置,如果传的接口本身就是http开头就会跳过baseUrl的添加
- 支持请求拦截,拦截方法可以添加多个,有一个拦截返回true则请求中断
- 支持响应拦截,拦截方法可以添加多个,有一个拦截返回true则请求中断
- 支持请求中断,发起的请求返回Promise上默认都会带上cancel方法,调用它会中断当前请求
请求方法使用示例:
推荐单起一个文件管理接口api,登录相关的接口示例代码如下:
更多有用方法持续更新中。。。,如果你有想要的方法欢迎留言