hbxw-utils

   日期:2024-12-26    作者:huarunshanghai 移动:http://mip.riyuangf.com/mobile/quote/51061.html

修复插件小问题

hbxw-utils

优化一些方法

增加本地存储方法

查看更多
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封装了使用更方便的请求方法

请求方法特性:

  1. 支持baseUrl设置,如果传的接口本身就是http开头就会跳过baseUrl的添加
  2. 支持请求拦截,拦截方法可以添加多个,有一个拦截返回true则请求中断
  3. 支持响应拦截,拦截方法可以添加多个,有一个拦截返回true则请求中断
  4. 支持请求中断,发起的请求返回Promise上默认都会带上cancel方法,调用它会中断当前请求

请求方法使用示例:


推荐单起一个文件管理接口api,登录相关的接口示例代码如下:


更多有用方法持续更新中。。。,如果你有想要的方法欢迎留言


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号