判断当前设备环境的公共类(PC、H5、IOS、小程序等)

78 阅读1分钟
import ArrayUtils from '@/utils/ArrayUtils';

class DeviceUtils {
  // 判断是否手机端浏览器
  ifMobile() {
    const ua = window.navigator.userAgent.toLowerCase();
    return !ArrayUtils.arrayIsEmpty(['iPhone', 'iPad', 'Android'].filter(c => ua.indexOf(c.toLowerCase()) >= 0));
    // Arrays ["Mac OS"]
    // if(["Mac OS"])
  }

  ifIos() {
    const ua = window.navigator.userAgent.toLowerCase();
    return !ArrayUtils.arrayIsEmpty(['iPhone', 'iPad'].filter(c => ua.indexOf(c.toLowerCase()) >= 0));
  }

  // 是否微信小程序
  ifWechatMiniProgram() {
    const ua = window.navigator.userAgent;
    return ua.indexOf("MicroMessenger") > 0 && ua.indexOf("miniProgram") > 0
  }

  // 是否微信内置浏览器
  ifWeixinBrowser() {
    const ua = navigator.userAgent.toLowerCase();
    return /micromessenger/.test(ua) && !this.ifWechatMiniProgram();
  }
}

export default new DeviceUtils();
    arrayIsEmpty(arr) {
        return !(arr && arr.length > 0)
    }