ソースを参照

node调用,文件延后读取

Michael Wang 5 年 前
コミット
cceec1958c
2 ファイル変更11 行追加1 行削除
  1. 2 0
      src/features/Login/Login.vue
  2. 9 1
      src/utils/nativeExe.js

+ 2 - 0
src/features/Login/Login.vue

@@ -689,6 +689,7 @@ export default {
           const fs = window.nodeRequire("fs");
           applicationNames = fs.readFileSync("remoteApplication.txt", "utf-8");
         } catch (error) {
+          console.log(error);
           window._hmt.push([
             "_trackEvent",
             "登录页面",
@@ -766,6 +767,7 @@ export default {
           const fs = window.nodeRequire("fs");
           applicationNames = fs.readFileSync("CameraInfo.txt", "utf-8");
         } catch (error) {
+          console.log(error);
           window._hmt.push([
             "_trackEvent",
             "登录页面",

+ 9 - 1
src/utils/nativeExe.js

@@ -1,9 +1,17 @@
 export default function async(exeName, cb) {
   if (typeof nodeRequire == "undefined") {
+    console.log("nodeRequire failed");
+    window._hmt.push([
+      "_trackEvent",
+      window.location.pathname.replace(/\d+/g, ""),
+      "不在Electron中,调用 " + exeName + " 失败",
+    ]);
     throw "不在Electron中,调用 " + exeName + " 失败";
   }
   return new Promise(resolve => {
-    window.nodeRequire("node-cmd").get(exeName, async () => {
+    window.nodeRequire("node-cmd").get(exeName, async (err, data, stderr) => {
+      console.log(err, data, stderr); // 未免过多日志,此处后续可以关闭
+      await new Promise(resolve2 => setTimeout(() => resolve2(), 1000));
       await cb();
       resolve();
     });