Эх сурвалжийг харах

SLS日志: get hardware info

Michael Wang 4 жил өмнө
parent
commit
7335e2c902

+ 22 - 0
src/utils/deviceInfo.js

@@ -0,0 +1,22 @@
+export default function () {
+  if (typeof nodeRequire == "undefined") {
+    console.log("nodeRequire failed");
+    return {};
+  }
+
+  const os = window.nodeRequire("os");
+  let infos = {};
+  infos.arch = os.arch();
+  infos.platform = os.platform();
+  infos.release = os.release();
+  infos.type = os.type();
+  infos.hostname = os.hostname();
+  infos.totalmem = os.totalmem() / 1024 / 1024 / 1024;
+  infos.freemem = os.freemem() / 1024 / 1024 / 1024;
+
+  infos.cpus = JSON.stringify(os.cpus());
+  infos.networkInterfaces = JSON.stringify(os.networkInterfaces());
+  infos.userInfo = JSON.stringify(os.userInfo());
+  infos.loadavg = JSON.stringify(os.loadavg());
+  return infos;
+}

+ 6 - 0
src/utils/logger.js

@@ -1,6 +1,7 @@
 import "@/utils/loghub-tracking.js";
 import { VUE_APP_SLS_STORE_NAME } from "@/constants/constants";
 import moment from "moment";
+import getDeviceInfos from "./deviceInfo";
 
 const host = "cn-shenzhen.log.aliyuncs.com";
 const project = "examcloud";
@@ -48,6 +49,11 @@ export function createUserDetailLog(logs) {
     for (let [k, v] of Object.entries(logs)) {
       logger.push(k, v);
     }
+    const deviceInfos = getDeviceInfos();
+
+    for (let [k, v] of deviceInfos) {
+      logger.push(k, v);
+    }
     logger.push("clientDate", moment().format("HH:mm:ss.SSS"));
     logger.push("UA", navigator.userAgent);
     logger.logger();