zhangjie před 8 měsíci
rodič
revize
ab5f0a0c6d

+ 1 - 1
.env.production

@@ -1,2 +1,2 @@
 NODE_ENV=production
-VUE_APP_DOMAIN=http://localhost:9000
+VUE_APP_DOMAIN=http://localhost:8300

+ 2 - 2
config.sample.json

@@ -1,5 +1,5 @@
 {
-  "domain": "http://localhost:9000",
+  "domain": "http://localhost:8300",
   "input": "",
   "compressRate": 100
-}
+}

binární
extra/checkBlack/CheckBlack.exe


+ 2 - 4
extra/checkBlack/Config.ini

@@ -1,5 +1,3 @@
 [sys]
-//值越小,标识背景色越黑,一般不考虑做修改
-BitPer=190
-// 黑点总数/(宽*高)*100;比 Range 大时返回1 否则返回0
-Range=30
+BitPer=50
+Range=15

+ 2 - 2
src/modules/client/api.js

@@ -33,6 +33,6 @@ export const saveCollectLog = datas => {
 export const getLevelList = examId => {
   return $get(`/api/level/${examId}`);
 };
-export const checkAdminPwd = password => {
-  return $post(`/api/validAdminPassword`, { password });
+export const checkAdminPwd = datas => {
+  return $post(`/api/validAdminPassword`, datas);
 };

+ 1 - 1
src/modules/client/views/GroupScan.vue

@@ -389,7 +389,7 @@ export default {
 
       const collectConfig = this.getCurCollectConfig();
       const covered = await checkEmptyCoverFilled(
-        historyStudent.originImgPath,
+        historyStudent.formalImgPath,
         this.curImage.url,
         collectConfig.answerCheckArea
       );

+ 22 - 14
src/plugins/imageOcr.js

@@ -18,6 +18,9 @@ const gm = require("gm").subClass({
   appPath: getExtraDir("imagemagick/")
 });
 
+import log4js from "@/plugins/logger";
+const logger = log4js.getLogger("scan");
+
 /**
  *  解析图片code信息
  * @param {String} imgPath 图片路径
@@ -82,10 +85,9 @@ function checkImageAnswerArea(imgPath, codeArea) {
   imgObj.crop(codeArea.width, codeArea.height, codeArea.x, codeArea.y);
 
   return new Promise((resolve, reject) => {
-    // 写入临时文件
     imgObj.write(tmpFile, function(err) {
       if (err) {
-        reject("作答区域临时文件获取失败");
+        reject(err);
         return;
       }
       // 获取黑点检测工具工具
@@ -94,29 +96,35 @@ function checkImageAnswerArea(imgPath, codeArea) {
       let code;
       try {
         const DecodeResult = childProcess.execSync(`${exec} ${tmpFile}`);
-        // console.log(DecodeResult.toString());
-        const codes = DecodeResult.toString()
+        code = DecodeResult.toString()
           .replace(/\r/, "")
-          .replace(/\n/, "")
-          .split(":");
-        // console.dir(codes);
-        code = codes[0];
-        console.log(code);
+          .replace(/\n/, "");
       } catch (e) {
-        console.log(e);
-        reject("作答区域检测错误");
+        reject(e);
         return;
       }
 
-      fs.unlink(tmpFile, () => {});
+      // fs.unlink(tmpFile, () => {});
       resolve(code);
     });
   });
 }
 
 async function checkEmptyCoverFilled(firstImage, secondImage, codeArea) {
-  const result1 = await checkImageAnswerArea(firstImage, codeArea);
-  const result2 = await checkImageAnswerArea(secondImage, codeArea);
+  logger.info(`firstImage: ${firstImage}`);
+  logger.info(`secondImage: ${secondImage}`);
+  logger.info(`codeArea: ${JSON.stringify(codeArea)}`);
+
+  const result1 = await checkImageAnswerArea(firstImage, codeArea).catch(e => {
+    console.log(e);
+  });
+  const result2 = await checkImageAnswerArea(secondImage, codeArea).catch(e => {
+    console.log(e);
+  });
+  // console.log(result1, result2);
+  logger.info(`result1: ${result1}`);
+  logger.info(`result2: ${result2}`);
+
   return result1 === "1" && result2 === "0";
 }