admin管理员组

文章数量:1658120

前言

最近对接一个登录接口,要求获取手机型号,设备唯一标识码,然后去百度了一大通,最后得出一个结论。
js是获取不了手机的IMEI信息的,因为js是运行在浏览器上的语言,只能获取浏览器内核信息,获取不了手机本身的设备型号(IMEI,IDFA),手机型号(iphone12,国行A123)

什么是设备唯一标识符?

具体代码实现

mobile-detect插件官方文档传送门

npm install mobile-detect --save
import mobileDetect from "mobile-detect"; //具体哪个页面用到单独引用
mounted() {
    //判断数组中是否包含某字符串
    function contains(sss, needle) {
      for (i in sss) {
        if (sss[i].indexOf(needle) > 0) return i;
      }
      return -1;
    }

    var device_type = navigator.userAgent; //获取userAgent信息
    var md = new mobileDetect(navigator.userAgent); //初始化mobile-detect
    var os = md.os(); //获取系统
    var model = "";

    if (os == "iOS") {
      //ios系统的处理
      os = md.os() + md.version("iPhone");
      model = md.mobile();
    } else if (os == "AndroidOS") {
      //Android系统的处理
      os = md.os() + md.version("Android");
      var sss = device_type.split(";");
      var i = contains(sss, "Build/");
      if (i > -1) {
        model = sss[i].substring(0, sss[i].indexOf("Build/"));
      }
    }
    this.mobile_models = os + "_" + model; 
    console.log('您的手机是:'+ this.mobile_models); //打印系统版本和手机型号
  },

结果

另外记录下官方文档这部分的内容,截取我们需要的userAgent信息

本文标签: 标识符手机型号浏览器设备