1

我有 3 个 zktecho 设备 k40 系列,我在特定设备上注册了一个用户并注册了该用户的手指,然后我针对该特定用户获取这些手指并将其以二进制格式(longblob)和手指索引号保存在 mysql 数据库中,现在我希望这个用户和手指模板设置在其他 zktecho k40 设备上,在这个给定的库代码中,这不是设置手指模板并且没有异常,请任何人帮助我,我正在使用这样的库(https://github .com/raihanafroz/zkteco)或告诉我,在这个库中,这是否为设置手指模板创建了正确的 command_string。

    $db = UserFingerTemplate::where('uid',$uid)->get();
    $finger = array();
    foreach($db as $dt){
        $i = $dt->index;
        $finger[$i] = $dt->template; 
        $data['uid'] = $dt->uid;
        
    }
    $data['finger'] = $zk->setFingerprint($uid,$finger);
    $data['indb'] = $db;
    $zk->disconnect();
    dd($data);

图书馆手指设置代码

static public function set(ZKTeco $self, $uid, array $data)
{
    $self->_section = __METHOD__;


    $count = 0;
    foreach ($data as $finger => $item) {

        //dd($item);
        $allowSet = true;
        $fingerPrint = new Fingerprint();
        $chkFinger =  $fingerPrint->_checkFinger($self, $uid, $finger);
        if ($chkFinger === true) {
            $allowSet = $fingerPrint->_removeFinger($self, $uid, $finger);
        }
        dd($fingerPrint->_setFinger($self, $item));
        if ($allowSet === true && $fingerPrint->_setFinger($self, $item) === true) {
            $count++;
        }
    }

    return $count;
}

/**
 * @param ZKTeco $self
 * @param string $data Binary fingerprint data item
 * @return bool|mixed
 */
private function _setFinger(ZKTeco $self, $data)
{
    $command = Util::CMD_USER_TEMP_WRQ;
    $command_string = $data;

    return $self->_command($command, $command_string);
}
4

0 回答 0