如何在zkemkeeper类中使用SSR_GetDeviceData获取手指设备日志?

问题描述 投票:0回答:2
zkemkeeper.CZKEM CZ = new zkemkeeper.CZKEM();
CZ.BASE64 = 1;
CZ.ReadMark = true;
CZ.Connect_Net(ipaddress, port);
if (CZ.SSR_GetDeviceData(machineNumber, out Buffer, 10 \* 1024 \* 1024, "transaction", "\*", "", ""))
{

    var lines = Buffer.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Skip(1);
    List<MachineInfo> models = new List<MachineInfo>();
    
     foreach (var item in lines)
     {
    
          var values = item.Split(',');
          var model = new MachineInfo
          {
             IndRegID = Convert.ToInt32(values[1]),
             TimeStamp = Convert.ToString(values[6]),
             DateTimeRecord = Convert.ToString(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(ToTimestamp(Convert.ToInt64(values[6]))))
    
          };
    }
    
      return models;
 }

如何在zkemkeeper类中使用SSR_GetDeviceData获取手指设备日志?

尝试从“inBIO260”等新型号获取手指设备日志 || “ACP-260”|| “生物钟 I”

请帮我解决这个问题,因为这个代码曾经对我有用,但现在不起作用并且不返回指纹

c# zkteco zkemkeeper
2个回答
0
投票

这只适用于支持pullsdk的设备。

如果是这样的话,我建议不要使用整个

zkemkeeper
混乱。相反,这里有一个更干净的替代方案:https://github.com/MuaazH/ZKTeco_PULLSDK_Wrapper 它使用相同的原生,但 API 更干净。

读取指纹(了解更多):

device.GetFingerprint(userPin, finger);

0
投票

我在一个工作项目中有这个,下面的代码片段是我如何连接并获取出勤日志的。

    Device.isConnected =
     objZkeeper.Connect_Net(Device.IPAddress, (int)Device.Port);

 if (Device.isConnected)
 {

     //DISABLE FRONT USER ACCESS
     objZkeeper.EnableDevice(gAttendanceDevice.Id, false);

     objZkeeper.ReadAllGLogData(Device.Id);

     var prog = 0;

     while (objZkeeper.SSR_GetGeneralLogData(Device.Id, out dwEnrollNumber1, out _,
                out dwInOutMode, out dwYear, out dwMonth, out dwDay, out dwHour, out dwMinute, out dwSecond,
                ref dwWorkCode))
     {
         //GET LOG FROM DEVICE
         var inputDate = new DateTime(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond);
         var log = new AttendanceDeviceLog();
         log.DataDateTime = inputDate;
         log.UserId = int.Parse(dwEnrollNumber1);
         log.EnrollMode = dwInOutMode;
         log.DeviceId = Device.Id;
         log.DeviceDescription = Device.Description;

         if (log.DataDateTime.Value.Date == DateTime.Now.Date && IncludeToday) //exclude current date
             DeviceLogs.Add(log);
         else
             DeviceLogs.Add(log);

     }
     //ENABLE FRONT USER ACCESS
     objZkeeper.EnableDevice(gAttendanceDevice.Id, true);
 }
© www.soinside.com 2019 - 2024. All rights reserved.