vue前端獲取不同客戶端mac地址最詳細(xì)步驟(避免踩坑)
應(yīng)用場(chǎng)景:每個(gè)賬號(hào)綁定唯一的電腦可以用網(wǎng)卡的mac地址來做這個(gè)唯一的字段。
作用:**可以獲取到不同使用者電腦的mac地址,發(fā)送給后端**。
直接開始教程:
找了很多教程,很多都是不全的,要么就是實(shí)現(xiàn)不了的,所以整理了一份比較詳細(xì)的避免踩坑的教程
說明我的環(huán)境 使用的是vue-admin-template基礎(chǔ)版開發(fā)的
node:16.18.1 npm: 8.19.2 vue :2.6.10 electron : 13.0
一、對(duì)現(xiàn)有的項(xiàng)目打包成exe文件,安裝之后獲取mac地址
1、對(duì)現(xiàn)在的vue項(xiàng)目 安裝 : vue add electron-builder
報(bào)錯(cuò)需要安裝vue/cli 安裝命令:npm install -g @vue/cli



下載完成會(huì)多幾個(gè)文件,package 也會(huì)多一些命令


二、 在vue.config.js里面配置
module.exports = {
pluginOptions: {
electronBuilder: {
nodeIntegration: true
}
},
}
三、開始獲取mac地址
在需要mac地址的頁面獲取,獲取的mac地址分為以太網(wǎng)和WLAN
<template>
<div class="dashboard-container">
<h1>mac:{{ mac }}</h1>
<h1>address:{{ address }}</h1>
</div>
</template>
<script>
import { mapGetters } from "vuex";
export default {
name: "Dashboard",
data() {
return {
mac: "",
address: "",
};
},
computed: {
...mapGetters(["name"]),
},
async created() {
this.getMAC();
},
methods: {
getMAC() {
// 判斷是否在Electron中運(yùn)行
if (this.isElectron()) {
const networkInterfaces = require("os").networkInterfaces();
for (const iface of Object.values(networkInterfaces)) {
for (const details of iface) {
if (
details.family === "IPv4" &&
details.mac !== "00:00:00:00:00:00" &&
details.address !== "127.0.0.1"
) {
this.mac = details.mac;
this.address = details.address;
}
}
}
} else {
console.warn("不在 Electron 中運(yùn)行,跳過獲取 MAC 地址");
}
},
isElectron() {
// 通過判斷process.versions.electron來檢查是否在Electron環(huán)境中運(yùn)行
return !!(
window &&
window.process &&
window.process.versions &&
window.process.versions.electron
);
},
},
};
</script>
<style lang="scss" scoped>
.dashboard {
&-container {
margin: 30px;
}
&-text {
font-size: 30px;
line-height: 46px;
}
}
</style>
四、 之后運(yùn)行npm run electron:serve或者打包 npm run electron:build即可
需要注意在瀏覽器運(yùn)行的項(xiàng)目是獲取不到mac地址的,所以我加了判斷,只在electron環(huán)境中
可以看到已經(jīng)有了

總結(jié)
到此這篇關(guān)于vue前端獲取不同客戶端mac地址的文章就介紹到這了,更多相關(guān)vue前端獲取客戶端mac地址內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
el-menu實(shí)現(xiàn)橫向溢出截取的示例代碼
在進(jìn)行vue開發(fā)的時(shí)候,我們不可避免會(huì)使用到導(dǎo)航菜單,element方便的為我們提供了導(dǎo)航菜單組件,下面這篇文章主要給大家介紹了關(guān)于el-menu實(shí)現(xiàn)橫向溢出截取的相關(guān)資料,需要的朋友可以參考下2022-06-06
Vue實(shí)現(xiàn)跑馬燈樣式文字橫向滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)跑馬燈樣式文字橫向滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
詳解使用VueJS開發(fā)項(xiàng)目中的兼容問題
這篇文章主要介紹了詳解使用VueJS開發(fā)項(xiàng)目中的兼容問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
vue報(bào)錯(cuò)"vue-cli-service‘不是內(nèi)部或外部命令,也不是...”的解決辦法
這篇文章主要介紹了vue報(bào)錯(cuò)"vue-cli-service‘不是內(nèi)部或外部命令,也不是...”的解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01
使用reactive導(dǎo)致數(shù)據(jù)失去響應(yīng)式的原因和解決方案
在 Vue 的響應(yīng)式系統(tǒng)中,reactive 對(duì)象是一個(gè)深度代理,它會(huì)追蹤對(duì)象屬性的變更,但如果你將整個(gè)對(duì)象重新賦值,那么 Vue 無法繼續(xù)追蹤新的對(duì)象,本文給大家介紹了使用reactive導(dǎo)致數(shù)據(jù)失去響應(yīng)式的原因和解決方案,需要的朋友可以參考下2024-09-09

