aototo / blog

Aototo Blog
344 stars 54 forks source link

支付宝小程序底部安全边距iPX方案 #34

Open aototo opened 3 years ago

aototo commented 3 years ago
手机型号 支付宝的版本标识
iPhone X iPhone10,3 / iPhone10,6
iPhone XR iPhone11,8
iPhone XS iPhone11,2
iPhone 11 iPhone12,1
iPhone 11 Pro iPhone12,3
iPhone XS Max iPhone11,6 / iPhone11,4
iPhone 11 Pro Max iPhone12,5
iPhone 12 iPhone13,2
iPhone 12 Pro iPhone 13,3

解决方案 通过 my.getSystemInfo 获取设备信息,可以获取最新的一个 isIphoneXSeries 来确定是否是X系列

const sysInfo = getSystemInfoSync()
if (sysInfo.isIphoneXSeries === true) {
    isIpx = true
}

方案二 目前更新的IPhone 12,在sysInfo.model: iPhone13,2, iPhone13,3(真是奇怪,居然这样的命名)

const sysInfo = getSystemInfoSync()

if ([
    'iPhone10,3',
    'iPhone10,6',
    'iPhone11,8',
    'iPhone11,2',
    'iPhone12,1',
    'iPhone12,3',
    'iPhone11,6',
    'iPhone11,4',
    'iPhone12,5',
    'iPhone13,2',
    'iPhone13,3',
  ].includes(sysInfo.model)) {
    isIpx = true
  }
}

推荐使用 方案一,但二的方案也要在具体的代码里面做兼容操作。