更新时间:2024-06-05 03:14:35下载pdf
RatioUtils
提供基于屏幕比例进行适配的快捷方法。
属性名称 | 解释 |
---|---|
hRatio | 屏幕水平比,即当前屏幕的宽和 ip6 屏幕的宽的比。 |
vRatio | 屏幕垂直比,即当前屏幕的高和 ip6 屏幕的高的比。 |
width, viewWidth | 当前屏幕宽。 |
height | 当前屏幕高。 |
ratio | 对角线比例,即当前屏幕对角线长度和 ip6 屏幕对角线长度的比。 |
convertX | 通过 hRatio 换算长度。 |
convertY | 通过 vRatio 换算长度。 |
convert | 通过 ratio 换算长度。 |
isIos | 是否是 iOS 系统。 |
isIphoneX,iPhoneX | 是否属于 iPhoneX 系列(包括 iPhone XS 和 iPhone XS Max)。 |
import { Utils } from "tuya-panel-kit";
const { convertX } = Utils.RatioUtils;
// 某组件设计稿上宽13
width = convertX(13); // 最后该组件在当前设备的宽度
ColorUtils
为颜色转换相关工具。
/**
* @param {Number} h - Hue 表示色相, 0°~360°
* @param {Number} s - Saturation 饱和度,0%~100%
* @param {Number} v - Value 表示明度, 0%~100%
* returns {Object} RGB的颜色值
*/
hsvToRgb(0, 1, 1); // {r: 255, g: 0, b: 0}
/**
* @param {Number} r - 红色值, 0~255
* @param {Number} g - 绿色值, 0~255
* @param {Number} b - 蓝色值, 0~255
* returns {Object} hsv的值
*/
rgbToHsv(255, 0, 0); // {h: 0, s: 1, v: 1}
rgbToHsv(128, 1, 0); // {h: 0, s: 1, v: 0.5019607843137255}
/**
* @param {Number} h - Hue 表示色相, 0°~360°
* @param {Number} s - Saturation 饱和度,0%~100%
* @param {Number} l - Lightness 表示亮度, 0%~100%
* returns {Object} RGB的颜色值
*/
hslToRgb(0, 1, 0.5); // {r: 255, g: 0, b: 0}
hslToRgb(120, 1, 0.75); // {r: 128, g: 255, b: 128}
hslToRgb(240, 1, 0.25); // {r: 0, g: 0, b: 128}
/**
* @param {Number} rr - 红色值, 0~255
* @param {Number} gg - 绿色值, 0~255
* @param {Number} bb - 蓝色值, 0~255
* returns {Object} hsl的颜色值
*/
rgbToHsl(255, 0, 0); // {h: 0, s: 1, l: 0.5}
rgbToHsl(128, 255, 128); // {h: 120, s: 1, l: 0.7509803921568627}
rgbToHsl(0, 0, 128); // {h: 240, s: 1, l: 0.25098039215686274}
数字相关工具。
/**
* @param {Number} num
* @param {Number} 返回的字符串的长度
* returns {String}
*/
toFixedString(111, 5); // '00111'
/**
* @param {Number} num
* @param {Number} 返回的字符串的长度
* returns {String}
*/
toFixedString(111, 5); // '00111'
/**
* @param {Number} num
* @param {Number} idx idx是反向的,它从0开始
* returns {Number}
*/
// 17 = 10001(2)
getBitValue(17, 0); // 1
getBitValue(17, 1); // 0
getBitValue(17, 4); // 1
/**
* @param {Number} idx idx是反向的,它从0开始
* returns {Number}
*/
// 17 = 10001(2)
setBitValueWithOne(17, 0); // 17, 10001
setBitValueWithOne(17, 1); // 19, 10010
setBitValueWithOne(17, 5); // 49, 110001
/**
* @param {Number} idx idx是反向的,它从0开始
* returns {Number}
*/
// 17 = 10001(2)
setBitValueWithZero(17, 0); // 16, 10000
setBitValueWithZero(17, 1); // 17, 10001
setBitValueWithZero(17, 4); // 1, 00001
/**
* @param {Array} 字节, 字节是一个8位整数的数字数组
* returns {String}
*/
bytesToHexString([1, 2]); // '0102'
bytesToHexString([23, 2]); // '1702'
/**
* @param {Number} 转换而来的字符串,每个字符都是十六进制字符
* returns {String}
*/
numToHexString(111); // '6f'
numToHexString(15); // '0f'
/**
* @param {Number} number
* returns {String}
*/
numToByteNumbers(111); // [0, 111]
numToHexString(1040001); // [15, 222, 129]
/**
* @param {Number} 一个高8的数字
* @param {Number} 一个低8的数字
* returns {Number}
*/
highLowToInt(11, 22); // 2838
highLowToInt(22, 11); // 5643
/**
* @param {Number} number
* returns {Number} 一个数的数组,第一个是高8个数,第二个是低8个数
*/
highLowToInt(2838); // [11, 22]
highLowToInt(5643); // [22, 11]
/**
* @param {Number} value
* @param {Number} value
* @param {Number} value
* returns {Number} 返回三个数中的中间值
*/
inMaxMin(2838, 1, 233); // 233
inMaxMin(1, 2, 0); // 1
/**
* @param {Number} value 一个10倍刻度的数字
* @param {Number} value
* returns {Number}
*/
scaleNumber(2, 10245); // 102.45
/**
* @param {Number} start 初始值
* @param {Number} end 结束值
* @param {Number} value 步长
* returns {Array} 返回从start到end,步长为step的数组
*/
range(1, 10); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 10, 2); // [1, 3, 5, 7, 9]
/**
* @param {Number} value 原先值
* @param {Number} min 原先最小范围
* @param {Number} max 原先最大范围
* @param {Number} newMin 新最小范围
* @param {Number} newMax 新最大范围
* returns {Number} 将原先范围内的值,转换为新范围内的值
*/
calcPosition(50, 0, 100, -100, 0); // -50
calcPosition(255, 0, 255, 0, 100); // 100
/**
* @param {Number} min
* @param {Number} max
* @param {Number} value 值
* returns {Number} offset 百分比起始偏移量(0 - 1)
*/
calcPercent(25, 255, 25); // 0
calcPercent(25, 255, 25, 0.1); // 0.1
时间相关工具。
/**
* @param {Number} t 基于秒的数
* @param {Number} n 是一个数字,表示字符串长度固定,默认值为2
* returns {Array} 一个字符串数组,每个项都是一个长度为n的字符串
*/
parseSecond(111); // ['00', '01', '51']
parseSecond(3333333); // ['25', '55', '33']
/**
* @param {Number} t 基于秒的数
* returns {String}
*/
parseHour12(111); // '01:55 AM'
parseHour12(3333333); // '12:01 PM'
/**
* @param {String} timeStr 时间点
* returns {String} 从timeStr转换而来的数字
*/
stringToSecond("11:30"); // 690
stringToSecond("22:11:30"); // 79890
/**
* @param {String} dateStr 时间点
* returns {String} 从dateStr转换而来的数字
*/
stringToSecond("11:30"); // 690
stringToSecond("22:11:30"); // 79890
/**
* @param {String} 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* returns {String} 对Date的扩展,将 Date 转化为指定格式的String
*/
new Date().Format("yyyy-MM-dd hh:mm:ss.S"); // 2006-07-02 08:09:04.423
new Date().Format("yyyy-M-d h:m:s.S"); // 2006-7-2 8:9:4.18
/**
* @desc 对Date的扩展,获取当前时区
* returns {String} 当前时区
*/
timezone(); // +08:00
字符串工具类。
/**
* @param {String} bits,bits是一个十六进制字符串
* returns {Array} 从基于16的位转换而来的数的数组
*/
hexStringToNumber("AD03"); // [173, 3]
/**
* @param {String} str,str是一个字符串,它包含“0”“1”,并且可以包含其他字符
* returns {String} 从str转换而来的字符串,每个字符都是十六进制字符
*/
hexStringToBinString("A7B9"); // 1010011110111001
hexStringToBinString("0709"); // 0000011100001001
/**
* @param {String} str,str是一个字符串
* returns {String} 中划线和下划线转驼峰
*/
camelize("abb_aa-cc"); // abbAaCc
核心工具类。
/**
* @param {String} str,str是一个字符串
* @param {Number} str,count是number,返回字符串的长度
* returns {String}
*/
toFixed("111", 5); // '00111'
toFixed("3456111", 5); // '56111'
/**
* @param {String} str,str是一个字符串
* @param {Number} str,count是number,返回字符串的长度
* returns {String}
*/
toFilled("111", 5); // '00111'
toFilled("3456111", 5); // '3456111'
/**
* @param {String} str,str是一个字符串
* @param {Number} str,count是number,返回字符串的长度
* returns {Array} 一个数组,其项是一个子字符串,其长度为块
*/
partition("1234567", 3); // ['123', '456', '7']
/**
* @desc 判断是不是 object
* @param {Any} 任何属性
* returns {Boolean}
*/
/**
* @desc 判断是不是 array
* @param {Any} 任何属性
* returns {Boolean}
*/
/**
* @desc 判断是不是 date
* @param {Any} 任何属性
* returns {Boolean}
*/
/**
* @desc 判断是不是 regexp
* @param {Any} 任何属性
* returns {Boolean}
*/
/**
* @desc 判断是不是 boolean
* @param {Any} 任何属性
* returns {Boolean}
*/
/**
* @desc 判断是不是 number
* @param {Any} 任何属性
* returns {Boolean}
*/
温度相关工具类,数值取整。
/**
* @param {Number} 华氏度
* returns {Number} 华氏转摄氏
*/
f2c(100); // 38
/**
* @param {Number} 摄氏度
* returns {Number} 摄氏转华氏
*/
c2f(100); // 212
JSON 相关。
/**
* @param {String} str,str是一个字符串
* returns {Object} 解析JSON字符串
*/
parseJSON("{a:1, b:2}"); // {a: 1, b: 2}
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈