vue前端獲取不同客戶端mac地址最詳細(xì)步驟(避免踩坑)
應(yīng)用場(chǎng)景:每個(gè)賬號(hào)綁定唯一的電腦可以用網(wǎng)卡的mac地址來(lái)做這個(gè)唯一的字段。
作用:**可以獲取到不同使用者電腦的mac地址,發(fā)送給后端**。
直接開(kāi)始教程:
找了很多教程,很多都是不全的,要么就是實(shí)現(xiàn)不了的,所以整理了一份比較詳細(xì)的避免踩坑的教程
說(shuō)明我的環(huán)境 使用的是vue-admin-template
基礎(chǔ)版開(kāi)發(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 } }, }
三、開(kāi)始獲取mac地址
在需要mac地址的頁(yè)面獲取,獲取的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)行,跳過(guò)獲取 MAC 地址"); } }, isElectron() { // 通過(guò)判斷process.versions.electron來(lái)檢查是否在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開(kāi)發(fā)的時(shí)候,我們不可避免會(huì)使用到導(dǎo)航菜單,element方便的為我們提供了導(dǎo)航菜單組件,下面這篇文章主要給大家介紹了關(guān)于el-menu實(shí)現(xiàn)橫向溢出截取的相關(guān)資料,需要的朋友可以參考下2022-06-06Vue實(shí)現(xiàn)跑馬燈樣式文字橫向滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)跑馬燈樣式文字橫向滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11詳解使用VueJS開(kāi)發(fā)項(xiàng)目中的兼容問(wèn)題
這篇文章主要介紹了詳解使用VueJS開(kāi)發(fā)項(xiàng)目中的兼容問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08vue鍵盤(pán)事件點(diǎn)擊事件加native操作
這篇文章主要介紹了vue鍵盤(pán)事件點(diǎn)擊事件加native操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07vue報(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 無(wú)法繼續(xù)追蹤新的對(duì)象,本文給大家介紹了使用reactive導(dǎo)致數(shù)據(jù)失去響應(yīng)式的原因和解決方案,需要的朋友可以參考下2024-09-09