html5 手机 消息,H5获取手机设备信息、app版本信息、ip地址

获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plus.device获取设备信息管理对象。

获取当前运行环境信息、与其它程序进行通讯等。通过plus.runtime可获取运行环境管理对象。

直接上demo

body{max-width: 750px; min-width: 320px; margin: 0 auto; background-color: #F5F5F5;overflow-x: hidden;

font-family: -apple-system,Helvetica,sans-serif;}

div{font-size: .26rem; color: #474747;line-height: 2;}

span{font-size: .28rem; color: #D1021F;}

(function(doc, win) {

var w = document.documentElement.clientWidth;

if (w > 750) {

w = 750

} else if (w < 320) {

w = 320

}

var f = w / 750 * 100 + "px";

document.documentElement.style.fontSize = f;

var docEl = doc.documentElement,

resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',

recalc = function() {

var clientWidth = docEl.clientWidth > 750 ? 750 : docEl.clientWidth;

if (clientWidth > 750) {

clientWidth = 750

} else if (clientWidth < 320) {

clientWidth = 320

}

if (!clientWidth) return;

docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';

};

if (!doc.addEventListener) return;

win.addEventListener(resizeEvt, recalc, false);

doc.addEventListener('DOMContentLoaded', recalc, false);

})(document, window);

我的手机信息

{{item.title}}

{{item.value}}

var spans = document.getElementsByTagName('span');

var VM = new Vue({

el: ".mui-content",

data: {

list:[]

},

})

mui.plusReady(function() {

//获取系统名称

var name = plus.os.name;

VM.list.push({

"title": "系统名称",

"value": name

})

//获取系统版本

var version = plus.os.version;

VM.list.push({

"title": "系统版本",

"value": version

})

//设备型号

VM.list.push({

"title": "设备型号",

"value": plus.device.model

})

//获取生产厂商

var vendor2 = plus.device.vendor

VM.list.push({

"title": "生产厂商",

"value": vendor2

})

//获取系统供应商

var vendor = plus.os.vendor

VM.list.push({

"title": "系统供应商",

"value": vendor

})

//获取系统语言信息

var language = plus.os.language;

VM.list.push({

"title": "系统语言信息",

"value": language

})

var types = {}; //网络类型

types[plus.networkinfo.CONNECTION_UNKNOW] = "未知";

types[plus.networkinfo.CONNECTION_NONE] = "未连接网络";

types[plus.networkinfo.CONNECTION_ETHERNET] = "有线网络";

types[plus.networkinfo.CONNECTION_WIFI] = "WiFi网络";

types[plus.networkinfo.CONNECTION_CELL2G] = "2G蜂窝网络";

types[plus.networkinfo.CONNECTION_CELL3G] = "3G蜂窝网络";

types[plus.networkinfo.CONNECTION_CELL4G] = "4G蜂窝网络";

var network = types[plus.networkinfo.getCurrentType()];

VM.list.push({

"title": "网络类型",

"value": network

})

//获取设备的唯一标示

plus.device.getInfo({

success: function(e) {

VM.list.push({

"title": "国际移动设备身份码imei",

"value": e.imei

})

VM.list.push({

"title": "国际移动用户识别码imsi",

"value": e.imsi

})

VM.list.push({

"title": "设备的唯一标识",

"value": e.uuid

})

},

fail: function(e) {

console.log('getDeviceInfo failed: ' + JSON.stringify(e));

}

});

//获取APP版本信息

plus.runtime.getProperty(plus.runtime.appid, function(inf) {

var ver = inf.version;

VM.list.push({

"title": "APP名称",

"value": inf.name

})

VM.list.push({

"title": "APP版本信息",

"value": "版本:"+inf.version+";版本号:"+inf.versionCode

})

console.log(JSON.stringify(inf))

})

});

//获取IP地址信息

function addScriptTag(src) {

var script = document.createElement('script');

script.setAttribute("type", "text/javascript");

script.src = src;

document.body.appendChild(script);

}

function foo(data) {

var json = data.data[0];

VM.list.push({

"title": "位置",

"value": json.location

})

VM.list.push({

"title": "IP地址",

"value": json.origip

})

console.log("IPInfo:"+ JSON.stringify(json));

};

window.onload = function() {

addScriptTag(

'https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=ip&co=&resource_id=6006&t=1562124098965&ie=utf8&oe=gbk&cb=foo&format=json&tn=baidu'

);

}

注意:

获取IP地址和plus.device.getInfo都是异步的,所以在使用的时候要注意时机

效果图:

86f46ad5b51d?clicktime=1577670786

Android.jpg

Android和IOS获取imei、imsi、uuid时须知:

imei: (String 类型 )设备的国际移动设备身份码

如果设备不支持或无法获取(如用户未授权)则返回空字符串。 如果设备存在多个身份码,则以“,”字符分割拼接,如“862470039452950,862470039452943”。

平台支持

Android - ALL (支持): 需要用户授权才能获取,如果用户拒绝获取设备信息则返回空字符串。

iOS - ALL (不支持): 无法获取设备身份码,返回空字符串。

imsi: (Array[ String ] 类型 )设备的国际移动用户识别码

字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。

平台支持

Android - ALL (支持): 如果无法获取国际移动用户标识(如用户未授权)则返回空数组。

iOS - ALL (不支持): 无法获取设备移动用户识别码,返回空数组。

uuid: (String 类型 )设备标识

设备的唯一标识号。

平台支持

Android - ALL (支持): 与设备的imei号一致。 注意:如果无法获取设备imei则使用设备wifi的mac地址,如果无法获取设备mac地址则随机生成设备标识号(不同App在同一台设备上获取的值一致)。

iOS - ALL (不支持): 根据包名随机生成的设备标识号。 注意:设备重置(刷机)后会重新生成

欢迎转载,但是请注明出处

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值