vue 前端 使用 node 里的 os 模块,来获取主机mac和IP地址
需要注意的是这篇教程只能获取本地的,打包到服务器上也是服务器的。需要获取不同使用者的客户端mac,看我这篇。获取客户端不同的mac地址
一、根目录创建 getNetworkInfo.js 脚本文件
Python
const os = require("os");
function getNetworkInfo() {
let address = "127.0.0.1";
let mac = "";
const networkInterfaces = 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"
) {
mac = details.mac;
address = details.address;
return { mac, address };
}
}
}
return { mac, address };
}
module.exports = getNetworkInfo;
二、vue.config.js中引入
Python
const getNetworkInfo = require("./getNetworkInfo.js");
const { mac, address } = getNetworkInfo();
// 自定义环境变量全局使用
process.env.VUE_APP_MAC = mac;
process.env.VUE_APP_ADDRESS = address;
三、页面中使用
Python
export default {
data() {
return {
mac: "",
address: "",
};
},
mounted() {
this.mac = process.env.VUE_APP_MAC;
this.address = process.env.VUE_APP_ADDRESS;
console.log("process.env.VUE_APP_MAC>>>→??????", process.env.VUE_APP_MAC);
console.log(
"process.env.VUE_APP_ADDRESS>>>→??????",
process.env.VUE_APP_ADDRESS
);
},
};
四、os 其他操作方法
其他用法:
os.EOL 定义操作系统一行结束的标识的常量。 os.arch() 返回操作系统 CPU 架构,可能的值有 “x64”、“arm” 和 “ia32”。 os.cpus() 返回一个数组对象,包括CPU的型号、速度、时间等。 os.endianness() 返回 CPU 的字节序,可能的是 “BE” 或 “LE”。 Little endian:将低序字节存储在起始地址。 Big endian:将高序字节存储在起始地址。 os.freemem() 返回操作系统空闲内存,单位是字节。 os.homedir() 返回当前用户的主目录。 os.hostname() 返回操作系统的主机名。 os.loadavg() 返回一个包含 1、5、15 分钟平均负载的数组。 os.platform() 返回操作系统平台。 os.release() 返回操作系统的发行版本。 os.tmpdir() 返回操作系统默认的临时文件目录。 os.totalmem() 返回系统内存总量,单位为字节。 os.type() 返回操作系统名称。 os.uptime() 返回操作系统运行的时间,以秒为单位。