便捷工具
此专题内容为一些方便用户快速,便捷使用的小工具,可能是mView的一些方法的简易版,或者对uni的一些方法进行二次封装,方便用户 快速使用。
sys()
此方法用于获取设备的信息,相当于uni.getSystemInfoSync()的效果
注意:mView中的navbar使有使用此方法。
const sys = uni.$m.sys()
// 新增mpW 小程序胶囊信息
sys.mpW => {
top: 0, // 上边界坐标 单位px
right: 0, // 右边界坐标 单位px
bottom: 0, // 下边界坐标 单位px
left: 0, // 左边界坐标 单位px
width: 0, // 宽度
height: 0, // 高度
pad: 10 // 右边距
}
// 自定义导航高度 默认44px 小程序根据胶囊计算
sys.customBar => 44
platform
此属性用于获取当前运行的平台名称,相较于uni-app系统自带的条件编译的区别是,此方式让我们可以通过js的if | else if进行判断, 您可以结合实际场景进行使用。
注意:此属性返回的结果,和uni-app的条件编译名称有差别,并且结果都为小写。
各平台返回值如下表:
| 平台 | 返回值 |
|---|---|
| VUE3,HBuilderX 3.2.0+ | vue3 |
| VUE2 | vue2 |
| App | plus |
| App nvue | nvue |
| H5 | h5 |
| 微信小程序 | weixin |
| 支付宝小程序 | alipay |
| 百度小程序 | baidu |
| 字节跳动小程序、飞书小程序 | toutiao |
| QQ小程序 | |
| 快手小程序 | kuaishou |
| 360小程序 | 360 |
| 微信小程序/支付宝小程序/百度小程序/字节跳动小程序/QQ小程序/360小程序 | mp |
| 快应用通用(包含联盟、华为) | webview |
| 快应用联盟 | webview-union |
| 快应用华为 | webview-huawei |
const { platform } = uni.$m
if (platform === 'h5') {
...
}
sleep(value)
延时一定时间进行回调,类似于promise的使用方式
value,数值,单位默认为ms
uni.$m.sleep(300).then(() => {
...
})
addStyle(style [, target = 'object'])
用于将字符串形式的内联样式样式转为对象形式,或者将对象形式的样式写法转为字符串形式。
style,样式,可为对象或者字符串形式target,可选,转换结果的类型,默认为object;如果为object则返回对象形式的结果,如果为string则返回字符串形式的结果
const style = {padding: '10px', margin: '10px'}
uni.$m.addStyle(style, 'string')
const style = "padding: 10px; margin: 10px"
uni.$m.addStyle(style)
addUnit(value [, unit = 'px'])
用于给值加上单位,如果值已有单位,则直接原样返回,如果值为数值,则加上unit参数的单位。
value,可为5,5px,6rpx,100%等格式的值unit,可选,默认为px,如果第一个参数为数值,则拼接上此单位
uni.$m.addUnit(5)
priceFormat(value [, decimals = 0 [, decimalPoint = '.' [, thousandsSeparator = ',']]])
此方法可用于对数值形式的金额进行格式化
value,需要格式化的金额数值,只能为数值,如300.52,300,而不能为诸如带千分位的写法3,000.5decimals,可选,格式化后小数点的位数,默认为0,小数最后一位会进行四舍五入decimalPoint,可选,小数点的符号,默认为.thousandsSeparator,可选,千分位分隔符,默认为英文逗号,
uni.$m.priceFormat(3002.365, 2)
uni.$m.priceFormat(3002)
page()
此方法用于获取当前页面的路径,返回的路径以/开头。
uni.$m.page()