electron中獲取mac地址的實現(xiàn)示例
引入
為了方便做單點登錄,我們往往需要使用某個唯一標識來標記客戶端的設(shè)備,mac地址就是一個還不錯的選擇
思路
我們可以使用Node.js的內(nèi)置模塊os,調(diào)用其中的networkInterfaces方法。該方法會返回一個包含網(wǎng)絡(luò)接口信息的數(shù)組對象,通過遍歷該數(shù)組對象,可以獲取到Mac地址,我們先看下調(diào)用得到的響應(yīng)內(nèi)容
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;
};

到此這篇關(guān)于electron中獲取mac地址的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)electron獲取mac地址內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
inner join 內(nèi)聯(lián)與left join 左聯(lián)的實例代碼
這篇文章主要介紹了inner join 內(nèi)聯(lián)與left join 左聯(lián)的實例代碼,需要的朋友可以參考下2017-09-09
javaScript年份下拉列表框內(nèi)容為當前年份及前后50年
本文介紹的這個javaScript年份下拉列表框內(nèi)容為當前年份及前后50年,默認顯示當前年份,大家可以學習下2014-05-05
JavaScript html5 canvas畫布中刪除一個塊區(qū)域的方法
這篇文章主要介紹了JavaScript html5 canvas畫布中刪除一個塊區(qū)域的方法,涉及JavaScript結(jié)合html5操作canvas畫布圖形繪制的技巧,需要的朋友可以參考下2016-01-01

