微信小程序 -- 获取自定设备参数

/**
 * getSystemInfoSync [获取系统信息(同步版)]  Promise 封装
 */
const $getSystemInfoSync = () => {
  return new Promise((resolve, reject) => {
    try {
      const res = wx.getSystemInfoSync()
      resolve(res)
    } catch (error) {
      console.log('wx:getSystemInfoSync fail')
      const res = {}
      reject(res)
    }
  })
}

 

const $getWXSystemInfo = () => {
  return new Promise((resolve, reject) => {
    $getSystemInfoSync().then(res => {
      const sysInfo = {}
      let isIphone = res.model.indexOf('iPhone') !== -1
      sysInfo.isIphone = isIphone
      let { screenHeight, pixelRatio } = res

      // 判断ipx以上设备
      if (isIphone && screenHeight >= 812) {
        sysInfo.isIpx = true
      } else {
        sysInfo.isIpx = false
      }

      // 判断大屏设备
      if (sysInfo.isIpx || (screenHeight > 736 && pixelRatio >= 2.5)) {
        sysInfo.isFullDisplay = true
      } else {
        sysInfo.isFullDisplay = false
      }
      resolve(sysInfo)
    }).catch(err => {
      reject(err)
    })
  })
}

 

  // 全局检测设备
  globalGetSystemInfo() {
    $getWXSystemInfo().then(res => {
      const { isIpx, isFullDisplay } = res
      this.globalData.isIpx = isIpx
      this.globalData.isFullDisplay = isFullDisplay
      console.log(`#App# -----> 是否iPhone: ${isIpx} <----- `)
      console.log(`#App# -----> 是否大屏: ${isFullDisplay} <----- `)
      if (this.systemInfoCallback) {
        this.systemInfoCallback(res)
      }
    })
  },

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值