Browse Source

虚拟摄像头字符串长度检测和日志上报

Michael Wang 4 years ago
parent
commit
fa1e83a720
1 changed files with 44 additions and 0 deletions
  1. 44 0
      src/components/FaceRecognition/FaceRecognition.vue

+ 44 - 0
src/components/FaceRecognition/FaceRecognition.vue

@@ -699,6 +699,8 @@ export default {
                 window.nodeRequire("node-cmd").get("multiCamera.exe", () => {
                   try {
                     cameraInfos = fs.readFileSync("CameraInfo.txt", "utf-8");
+                    // cameraInfos =
+                    //   '[{"detail":"@device:pnp:?display#int3470#4&300121c4&0&uid13424#{65e8773d-8f56-11d0-a3b9-00a0c9223196}{9c5f415a-02cd-4e28-aeb7-811cb317dd64}","name":"HP Truevision 5MP Front","pid":"13424","vid":"3470"},{"detail":"@device:pnp:?display#int3470#4&300121c4&0&uid13424#{65e8773d-8f56-11d0-a3b9-00a0c9223196}{a6c1c503-01f1-4767-a229-00a0b223162f}","name":"HP Truevision 8MP Rear","pid":"13424","vid":"3470"},{"detail":"@device:pnp:?usb#vid_8086&pid_0a80&mi_04#6&28913c47&0&0004#{65e8773d-8f56-11d0-a3b9-00a0c9223196}global","name":"Intel(R) RealSense(TM) 3D Camera (R200) RGB","pid":"0a80","vid":"8086"},{"detail":"@device:pnp:?usb#vid_8086&pid_0a80&mi_00#6&28913c47&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}global","name":"Intel(R) RealSense(TM) 3D Camera (R200) Left-Right","pid":"0a80","vid":"8086"},{"detail":"@device:pnp:?usb#vid_8086&pid_0a80&mi_02#6&28913c47&0&0002#{65e8773d-8f56-11d0-a3b9-00a0c9223196}global","name":"Intel(R) RealSense(TM) 3D Camera (R200) Depth","pid":"0a80","vid":"8086"}]';
                     if (cameraInfos && cameraInfos.trim()) {
                       cameraInfos = cameraInfos.trim();
                       cameraInfos = cameraInfos.replace(/\r\n/g, "");
@@ -718,6 +720,48 @@ export default {
                         JSON.parse(cameraInfos).cameraInfo
                       );
                     }
+                    if (cameraInfos.length >= 800) {
+                      this.logger({
+                        page: "摄像头框",
+                        type: "虚拟摄像头-cameraInfos超长",
+                        cameraInfos: cameraInfos,
+                      });
+                      let ary = JSON.parse(cameraInfos);
+                      // 相同pid&vid仅保留一个
+                      const pidAndVidCollector = [];
+                      ary = ary.filter((c) => {
+                        const pv = c.pid + "|" + c.vid;
+                        const res = pidAndVidCollector.includes(pv);
+                        pidAndVidCollector.push(pv);
+                        return !res;
+                      });
+                      cameraInfos = JSON.stringify(ary);
+                      console.log("摄像头检测超长:", "去除重复pid&vid");
+                      console.log(cameraInfos);
+                      if (cameraInfos.length >= 800) {
+                        cameraInfos = JSON.stringify(
+                          JSON.parse(cameraInfos).map((v) => {
+                            return {
+                              pid: v.pid,
+                              vid: v.pid,
+                              detail: "omitted",
+                              name: v.name,
+                            };
+                          })
+                        );
+                        console.log("摄像头检测超长:", "去除detail");
+                        console.log(cameraInfos);
+                      }
+                      if (cameraInfos.length >= 800) {
+                        console.log("摄像头检测超长:", "精简后还是超长");
+                        this.logger({
+                          page: "摄像头框",
+                          type: "虚拟摄像头-精简后还是超长",
+                          cameraInfos: cameraInfos,
+                        });
+                        console.log(cameraInfos);
+                      }
+                    }
                     resolve();
                   } catch (error) {
                     this.logger({