翼度科技»论坛 编程开发 JavaScript 查看内容

vue前端获取不同客户端mac地址最详细步骤(避免踩坑)

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
应用场景:每个账号绑定唯一的电脑可以用网卡的mac地址来做这个唯一的字段。
作用:**可以获取到不同使用者电脑的mac地址,发送给后端**。
直接开始教程:
找了很多教程,很多都是不全的,要么就是实现不了的,所以整理了一份比较详细的避免踩坑的教程
说明我的环境 使用的是
  1. vue-admin-template
复制代码
基础版开发的
  1. node
复制代码
:16.18.1
  1. npm
复制代码
: 8.19.2
  1. vue
复制代码
:2.6.10
  1. electron
复制代码
: 13.0

一、对现有的项目打包成exe文件,安装之后获取mac地址


1、对现在的vue项目 安装 : vue add electron-builder
  1. 报错需要安装vue/cli 安装命令:npm install -g @vue/cli
复制代码



下载完成会多几个文件,package 也会多一些命令



二、 在vue.config.js里面配置
  1. module.exports = {
  2.     pluginOptions: {
  3.         electronBuilder: {
  4.             nodeIntegration: true
  5.         }
  6.     },
  7. }
复制代码
三、开始获取mac地址

在需要mac地址的页面获取,获取的mac地址分为以太网和WLAN
  1. <template>
  2.   <div class="dashboard-container">
  3.     <h1>mac:{{ mac }}</h1>
  4.     <h1>address:{{ address }}</h1>
  5.   </div>
  6. </template>

  7. <script>
  8. import { mapGetters } from "vuex";

  9. export default {
  10.   name: "Dashboard",
  11.   data() {
  12.     return {
  13.       mac: "",
  14.       address: "",
  15.     };
  16.   },
  17.   computed: {
  18.     ...mapGetters(["name"]),
  19.   },
  20.   async created() {
  21.     this.getMAC();
  22.   },
  23.   methods: {
  24.     getMAC() {
  25.       // 判断是否在Electron中运行
  26.       if (this.isElectron()) {
  27.         const networkInterfaces = require("os").networkInterfaces();
  28.         for (const iface of Object.values(networkInterfaces)) {
  29.           for (const details of iface) {
  30.             if (
  31.               details.family === "IPv4" &&
  32.               details.mac !== "00:00:00:00:00:00" &&
  33.               details.address !== "127.0.0.1"
  34.             ) {
  35.               this.mac = details.mac;
  36.               this.address = details.address;
  37.             }
  38.           }
  39.         }
  40.       } else {
  41.         console.warn("不在 Electron 中运行,跳过获取 MAC 地址");
  42.       }
  43.     },
  44.     isElectron() {
  45.       // 通过判断process.versions.electron来检查是否在Electron环境中运行
  46.       return !!(
  47.         window &&
  48.         window.process &&
  49.         window.process.versions &&
  50.         window.process.versions.electron
  51.       );
  52.     },
  53.   },
  54. };
  55. </script>

  56. <style lang="scss" scoped>
  57. .dashboard {
  58.   &-container {
  59.     margin: 30px;
  60.   }
  61.   &-text {
  62.     font-size: 30px;
  63.     line-height: 46px;
  64.   }
  65. }
  66. </style>
复制代码
四、 之后运行npm run electron:serve或者打包 npm run electron:build即可
  1. 需要注意在浏览器运行的项目是获取不到mac地址的,所以我加了判断,只在electron环境中
复制代码
可以看到已经有了


总结

到此这篇关于vue前端获取不同客户端mac地址的文章就介绍到这了,更多相关vue前端获取客户端mac地址内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/javascript/3289430xf.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具