Просмотр исходного кода

#IQRV #comment: 身份模拟器生成图片控制

陈纪林80310970 4 месяцев назад
Родитель
Сommit
c1abbfb22a

+ 11 - 4
DevAdapter/simulator/idcer.1.1/idcer_httpans.h

@@ -115,10 +115,11 @@ typedef struct IDCerDevAns
         int dwSize;
         JSONCONVERT2OBJECT_MEMEBER_REGISTER(data, dwSize)
     }reserved5;
+    int headPhotoFlag;
     
     JSONCONVERT2OBJECT_MEMEBER_REGISTER(name, sex, nation, birthday, address, idno, department, startDate, endDate,
         photoPath, newAddress, englishName, nationality, idVersion, idType, reserved, reserved, txzCode, issuedSN, reserved2,
-        reserved3, reserved4, reserved5)
+        reserved3, reserved4, reserved5, headPhotoFlag)
     
    /* std::string sex;
     std::string nation;
@@ -151,8 +152,14 @@ typedef struct IDCerDevAns
 
 
 typedef struct QueryCardPosAns {
-    int errNum;
     int pos;
 
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(errNum, pos)
-}QueryCardPosAns;
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(pos)
+}QueryCardPosAns;
+
+typedef struct ScanIDAndSaveImgAns {
+    int frontPhotoFlag;
+    int backPhotoFlag;
+
+    JSONCONVERT2OBJECT_MEMEBER_REGISTER(frontPhotoFlag, backPhotoFlag)
+}ScanIDAndSaveImgAns;

+ 13 - 11
DevAdapter/simulator/idcer.1.1/idcer_impl.cpp

@@ -173,6 +173,11 @@ ErrorCodeEnum IDCerClassImpl::ex2HttpFunction(IDCerInfoEx2& idCerInfoEx2)
             return Error_Unexpect;
         }
 
+        if (idCerRet.headPhotoFlag)
+        {
+            GenerateBmpFile("zp.bmp");
+        }
+
 #ifdef _MSC_VER
         ConvertGBKToUtf8(idCerRet.name.data);
         ConvertGBKToUtf8(idCerRet.sex.data);
@@ -372,19 +377,21 @@ ErrorCodeEnum IDCerClassImpl::ForceIDEject()
 ErrorCodeEnum IDCerClassImpl::ScanIDAndSaveImage()
 {
     ErrorCodeEnum err = Error_NotImpl;
-    err = SimulatorHttpFunction(EntityName, "ScanIDAndSaveImage");
+    ScanIDAndSaveImgAns ans;
+    err = SimulatorHttpFunction(EntityName, "ScanIDAndSaveImage", ans);
     LOG4VTM(INFO, "ScanIDAndSaveImage err = " << err);
 
     if (err == Error_Succeed)
     {
-        bool flag1 = GenerateBmpFile("idfront.bmp");
-        bool flag2 = GenerateBmpFile("idback.bmp");
-        if (!(flag1 & flag2))
+        if (ans.frontPhotoFlag)
+        {
+            GenerateBmpFile("idfront.bmp");
+        }
+        if (ans.backPhotoFlag)
         {
-            err = Error_Bug;
+            GenerateBmpFile("idback.bmp");
         }
     }
-
     return err;
 }
 
@@ -461,11 +468,6 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetDataEx2(IDCerInfoEx2& idCerInfoEx2)
     ErrorCodeEnum err = Error_Succeed;
     memset(&idCerInfoEx2, 0, sizeof(IDCerInfoEx2));
     err = ex2HttpFunction(idCerInfoEx2);
-    bool flag = GenerateBmpFile("zp.bmp");
-    if (!flag)
-    {
-        err = Error_Bug;
-    }
 
     LOG4VTM(INFO, "IDCerGetDataEx2 err = " << err);
     return err;