vue前端获取电脑本机的mac和ip地点

打印 上一主题 下一主题

主题 765|帖子 765|积分 2295

vue 前端 使用 node 里的 os 模块,来获取主机mac和IP地点
需要注意的是这篇教程只能获取本地的,打包到服务器上也是服务器的。需要获取差异使用者的客户端mac,看我这篇。获取客户端差异的mac地点
一、根目录创建 getNetworkInfo.js 脚本文件
  1. const os = require("os");
  2. function getNetworkInfo() {
  3.   let address = "127.0.0.1";
  4.   let mac = "";
  5.   const networkInterfaces = os.networkInterfaces();
  6.   for (const iface of Object.values(networkInterfaces)) {
  7.     for (const details of iface) {
  8.       if (
  9.         details.family === "IPv4" &&
  10.         details.mac !== "00:00:00:00:00:00" &&
  11.         details.address !== "127.0.0.1"
  12.       ) {
  13.         mac = details.mac;
  14.         address = details.address;
  15.         return { mac, address };
  16.       }
  17.     }
  18.   }
  19.   return { mac, address };
  20. }
  21. module.exports = getNetworkInfo;
复制代码
二、vue.config.js中引入
  1. const getNetworkInfo = require("./getNetworkInfo.js");
  2. const { mac, address } = getNetworkInfo();
  3. // 自定义环境变量全局使用
  4. process.env.VUE_APP_MAC = mac;
  5. process.env.VUE_APP_ADDRESS = address;
复制代码
三、页面中使用
  1. <template>
  2.   <div class="box-card">
  3.     <h3>mac:{{ mac }}</h3>
  4.     <h3>address:{{ address }}</h3>
  5.   </div>
  6. </template>
  7. <script>
  8. export default {
  9.   data() {
  10.     return {
  11.       mac: "",
  12.       address: "",
  13.     };
  14.   },
  15.   mounted() {
  16.     this.mac = process.env.VUE_APP_MAC;
  17.     this.address = process.env.VUE_APP_ADDRESS;
  18.     console.log("process.env.VUE_APP_MAC>>>→??????", process.env.VUE_APP_MAC);
  19.     console.log(
  20.       "process.env.VUE_APP_ADDRESS>>>→??????",
  21.       process.env.VUE_APP_ADDRESS
  22.     );
  23.   },
  24. };
  25. </script>
  26. <style lang="scss" scoped></style>
复制代码
四、os 其他使用方法
其他用法:
  1. os.EOL
  2. 定义操作系统一行结束的标识的常量。
  3. os.arch()
  4. 返回操作系统 CPU 架构,可能的值有 “x64”、“arm” 和 “ia32”。
  5. os.cpus()
  6. 返回一个数组对象,包括CPU的型号、速度、时间等。
  7. os.endianness()
  8. 返回 CPU 的字节序,可能的是 “BE” 或 “LE”。
  9. Little endian:将低序字节存储在起始地址。
  10. Big endian:将高序字节存储在起始地址。
  11. os.freemem()
  12. 返回操作系统空闲内存,单位是字节。
  13. os.homedir()
  14. 返回当前用户的主目录。
  15. os.hostname()
  16. 返回操作系统的主机名。
  17. os.loadavg()
  18. 返回一个包含 1、5、15 分钟平均负载的数组。
  19. os.platform()
  20. 返回操作系统平台。
  21. os.release()
  22. 返回操作系统的发行版本。
  23. os.tmpdir()
  24. 返回操作系统默认的临时文件目录。
  25. os.totalmem()
  26. 返回系统内存总量,单位为字节。
  27. os.type()
  28. 返回操作系统名称。
  29. os.uptime()
  30. 返回操作系统运行的时间,以秒为单位。
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表