智能照明系统APP-本地串口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LightingSystemApp-serial/.svn/pristine/9c/9c183e01058feb0a5c4c9d3d951...

42 lines
890 B

3 years ago
const EPS = 1e-4
const BASE_DEVICE_WIDTH = 750
let isIOS = false
let deviceWidth = 0
let deviceDPR = 0
function checkDeviceWidth () {
const {
platform,
pixelRatio,
windowWidth
} = __GLOBAL__.getSystemInfoSync() // uni=>__GLOBAL__ runtime 编译目标是 uni 对象,内部不允许直接使用 uni
deviceWidth = windowWidth
deviceDPR = pixelRatio
isIOS = platform === 'ios'
}
export function upx2px (number, newDeviceWidth) {
if (deviceWidth === 0) {
checkDeviceWidth()
}
number = Number(number)
if (number === 0) {
return 0
}
let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth)
if (result < 0) {
result = -result
}
result = Math.floor(result + EPS)
if (result === 0) {
if (deviceDPR === 1 || !isIOS) {
result = 1
} else {
result = 0.5
}
}
return number < 0 ? -result : result
}