electron中获取mac地址的实现示例
引入
为了方便做单点登录,我们往往需要使用某个唯一标识来标记客户端的设备,mac地址就是一个还不错的选择
思路
我们可以使用Node.js的内置模块os,调用其中的networkInterfaces方法。该方法会返回一个包含网络接口信息的数组对象,通过遍历该数组对象,可以获取到Mac地址,我们先看下调用得到的响应内容
import { networkInterfaces } from "os"; console.log(JSON.stringify(networkInterfaces()));
{ "Ethernet0": [{ "address": "fe80::803c:6a7b:14b0:f652", "netmask": "ffff:ffff:ffff:ffff::", "family": "IPv6", "mac": "00:0c:29:ea:41:55", "internal": false, "cidr": "fe80::803c:6a7b:14b0:f652/64", "scopeid": 7 }, { "address": "192.168.213.154", "netmask": "255.255.255.0", "family": "IPv4", "mac": "00:0c:29:ea:41:55", "internal": false, "cidr": "192.168.213.154/24" }], "Loopback Pseudo-Interface 1": [{ "address": "::1", "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "family": "IPv6", "mac": "00:00:00:00:00:00", "internal": true, "cidr": "::1/128", "scopeid": 0 }, { "address": "127.0.0.1", "netmask": "255.0.0.0", "family": "IPv4", "mac": "00:00:00:00:00:00", "internal": true, "cidr": "127.0.0.1/8" }] }
封装代码
可以看到是个键值对的形式,所以我们直接获取key,然后遍历取值,再获取对象中的mac地址即可:
/**获取mac地址信息 */ export const getMacAddress = function (): string { const interfaces = networkInterfaces(); let macAddress = ""; for (const interfaceName of Object.keys(interfaces)) { const interfaceInfos = interfaces[interfaceName]; if (interfaceInfos) { for (const interfaceInfo of interfaceInfos) { if (interfaceInfo.mac && interfaceInfo.mac !== "00:00:00:00:00:00") { macAddress = interfaceInfo.mac; break; } } } if (macAddress.length > 0) break; } return macAddress; };
到此这篇关于electron中获取mac地址的实现示例的文章就介绍到这了,更多相关electron获取mac地址内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
JScript中的undefined和"undefined"的区别
JScript中的undefined和"undefined"的区别...2007-03-03JS中的public和private对象,即static修饰符
先看下面的例子,它将告诉我们在JS世界中也有C#里的public , private ,及static等2012-01-01使用JavaScript删除HTML元素的2种方法及3种情况
给定一个HTML元素,如何使用JavaScript从文档中删除该HTML元素,这篇文章主要给大家介绍了关于使用JavaScript删除HTML元素的2种方法及3种情况,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-01-01javascript 对象 与 prototype 原型用法实例分析
这篇文章主要介绍了javascript 对象 与 prototype 原型用法,结合实例形式分析了javascript 对象 与 prototype 原型实现对象创建、继承、拷贝等相关操作技巧,需要的朋友可以参考下2019-11-11javascript实现table选中的行以指定颜色高亮显示的方法
这篇文章主要介绍了javascript实现table选中的行以指定颜色高亮显示的方法,实例分析了javascript操作table表格元素与相关样式的技巧,需要的朋友可以参考下2015-05-05
最新评论