vue前端 + node.js 获取用户IP和MAC地址

vue前端 + node.js 获取用户IP和MAC地址

1、最近有个新需求,保存操作数据时,取到打开该网站电脑的IP和MAC地址(物理地址)传给后端,所以研究了下js获取IP和MAC地址功能,发现js有有权限问题,看到node.js可以,以下为官方文档

2、vue项目根目录创建get***workInfo.js文件,用来引入node.js os模块,代码如下:


// 获取本机mac地址及ip
const os = require("os");
function get***workInfo() {
  let ipAddress = "127.0.0.1";
  let macAddress = "";
  const ***workInterfaces = os.***workInterfaces();
  for (const iface of Object.values(***workInterfaces)) {
    for (const details of iface) {
      if (
        details.family === "IPv4" &&
        details.mac !== "00:00:00:00:00:00" &&
        details.address !== "127.0.0.1"
      ) {
        macAddress = details.mac;
        ipAddress = details.address;
        return { macAddress, ipAddress };
      }
    }
  }
  return { macAddress, ipAddress };
}
module.exports = get***workInfo;

3、vue.config.js文件中引入get***workInfo.js并绑定到process.env上,这样全局都能用

const get***workInfo = require("./get***workInfo.js"); //IP及MAC
const { macAddress, ipAddress } = get***workInfo();
process.env.VUE_APP_MACADDRESS = macAddress;
process.env.VUE_APP_IPADDRESS = ipAddress;

4、在要使用的页面引入即可

mounted(){
    this.macAddress = process.env.VUE_APP_MACADDRESS;
    this.ipAddress = process.env.VUE_APP_IPADDRESS;
    console.log("macAddress", this.macAddress);
    console.log("ipAddress", this.ipAddress);
},

5、在该页面控制台查看打印出了该电脑的mac地址和ip 地址

转载请说明出处内容投诉
CSS教程网 » vue前端 + node.js 获取用户IP和MAC地址

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买