hardwareInfo

来自于:开发者立即使用

概述

hardwareInfo 模块主要用于检测硬件设备,提供了获取设备MAC地址、IP地址,获取设备性能检测信息,生成GUID编码,进行网络连通性测试(Ping测试)等功能。

  • 获取设备网卡的MAC地址和IP地址,支持IPv4和IPv6。
  • 获取当前设备cpu使用率,cpu核心数,cpu最大速度,cpu最小速度,app内存占用大小,我们可以根据获得的信息对自己的应用进行性能优化,调优。
  • 生成唯一标识(GUID)字符串,可通过参数的指定获取的GUID字符串格式,默认为小写并且没有横线。
  • 进行网络连通性测试,ping一个IP地址或者域名,可以检测目标IP或者域名是否联通,异步返回测试结果。

getIpMacAddrList

获取设备所有网卡的IP和MAC地址列表

getIpMacAddrList(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象数组,通常如果设备里只有一个网卡,那么数组里面就只有一个JSON对象 注(name的返回值,iOS上由于开发时无法对ios各版本进行测试,在无法获取硬件信息时,返回字段有可能为空)
  • 内部对象:
    [
      { 
         name:'',      //网卡名称
         macAddr:'',   //mac地址
         v4Addr:'',    //ipv4地址
         v6Addr:''     //ipv6地址
      },
      { 
         name:'',      //网卡名称
         macAddr:'',   //mac地址
         v4Addr:'',    //ipv4地址
         v6Addr:''     //ipv6地址
      }
    ]

err:

  • 类型:JSON对象
  • 内部字段:

        {
            msg:''       //错误信息描述
        }

示例代码


            var module = api.require('hardwareInfo');
            module.getIpMacAddrList(function(ret,err)
            {
                if(err)
                    alert(err);
                else
                    alert(JSON.stringify(ret));
            });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getPerformanceInfo

获取当前设备cpu使用率,cpu核心数,cpu最大速度,cpu最小速度,app内存占用大小

getPerformanceInfo(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    {
        cpu:'2.3%',           //当前cpu占用率
        cpuCount:8,           //cpu核心数
        maxCpuFreq:'1455M',   //cpu最大速度
        minCpuFreq:'1000M',   //cpu最小速度
        curAppMemory:'6M'     //当前app内存占用大小
    }

err:

  • 类型:JSON对象
  • 内部字段:

        {
            msg:''       //错误信息描述
        }

示例代码


    var module = api.require('hardwareInfo');
    module.getPerformanceInfo(function(ret,err)
    {
        document.getElementById("divPerformance").innerHTML = "memory:" + ret.curAppMemory + " cpu:" + ret.cpu + " cores:" + ret.cpuCount + 
        " Max Speed:" + ret.maxCpuFreq + " " + " Min Speed:" + ret.minCpuFreq;

    });

可用性

Android系统

可提供的1.0.0及更高版本

generateGuid

根据传入参数的不同获得的字符串格式响应改变,默认为小写并且没有横线。

generateGuid({params},callback(ret, err))

params

lower:

  • 类型: bool类型
  • 默认值:true
  • 描述: 默认GUID为小写,如果传入false则为大写

line:

  • 类型: bool类型
  • 默认值:true
  • 描述: 默认GUID中包含横线,如果传入false则无横线

callback(ret, err)

ret:

  • 类型:字符串

err:

  • 类型:JSON对象
  • 内部字段:

        {
            msg:''       //错误信息描述
        }

示例代码


    // 创建格式为:578070463D2C4E4E97B19412896EC747 的 GUID
    var module = api.require('hardwareInfo');
    module.generateGuid(
        {
            lower:false,  //设为大写
            line:false    //不要横线
        },
        function(ret,err){
            if(err){
                alert(err.msg);
            }
            else{
                alert(ret);
            }
        }
    );

    // 创建格式为:578070463d2c4e4e97b19412896ec747 的 GUID
    var module = api.require('hardwareInfo');
    module.generateGuid(
        {
            lower:true,  //设为小写
            line:false    //不要横线
        },
        function(ret,err){
            if(err){
                alert(err.msg);
            }
            else{
                alert(ret);
            }
        }
    );

    // 创建格式为:57807046-3D2C-4E4E-97B1-9412896EC747 的 GUID
    var module = api.require('hardwareInfo');
    module.generateGuid(
        {
            lower:false,  //设为大写
            line:false    //有横线
        },
        function(ret,err){
            if(err){
                alert(err.msg);
            }
            else{
                alert(ret);
            }
        }
    );

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

doPingTest

doPingTest主要是用来检测当前设备和指定的IP或者域名之间是否畅通,类似我们在windows常用的ping命令,异步回调函数可以获得ping的反馈信息。

doPingTest({params},callback(ret, err))

params

host:

  • 类型: 字符串类型
  • 默认值:无
  • 描述: IP地址字符串。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

        {
            result:     //字符串:success成功,fail失败
            info:   //ping反馈的具体信息
        }

err:

  • 类型:JSON对象
  • 内部字段:

        {
            msg:''       //错误信息描述
        }

示例代码


    var module = api.require('hardwareInfo');
    module.doPingTest(
        {
            host:'192.168.1.158'
        },
        function(ret,err){
            if(err){
                console.log(err.msg);
            }
            else if(ret.info)
                console.log(ret.info);   //ret.info可以获取到ping反馈的具体信息
            else if(ret.result == "success")
                console.log("ping通");
            else if(ret.result == "fail")
                console.log("ping不通");
        }
    );

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本