UNPKG

zkteco-js

Version:

The zkteco library allows Node.js developers to easily interface with ZK BioMetric Fingerprint Attendance Devices, extract and manage data, and integrate biometric features into attendance systems efficiently.

117 lines (90 loc) 3.87 kB
/** * * Author: coding-libs * Date: 2024-07-01 */ const Zkteco = require("../index"); const test = async () => { let zkInstance; try { // Create an instance of Zkteco with hard-coded values zkInstance = new Zkteco('192.168.86.23', 4370, 10000, 4000); // Create socket to machine await zkInstance.createSocket(); // Get general info like logCapacity, user counts, logs count const getInfo = await zkInstance.getInfo(); console.log("getInfo: ", getInfo); const getVendor = await zkInstance.getVendor(); console.log('getVendor: '+getVendor); const getProductTime = await zkInstance.getProductTime(); console.log('getProductTime: '+getProductTime); const getMacAddress = await zkInstance.getMacAddress(); console.log('getMacAddress: '+getMacAddress); const serialNo = await zkInstance.getSerialNumber(); console.log('getSerialNumber: '+serialNo); const DeviceVersion = await zkInstance.getDeviceName(); console.log('getDeviceName: '+DeviceVersion); const getPlatform = await zkInstance.getPlatform(); console.log('getPlatform: '+getPlatform); const getOS = await zkInstance.getOS(); console.log('getOS: '+getPlatform); const getWorkCode = await zkInstance.getWorkCode(); console.log('getWorkCode: '+getWorkCode); const getPIN = await zkInstance.getPIN(); console.log('getPIN: '+getPIN); const getFaceOn = await zkInstance.getFaceOn(); console.log('getFaceOn: '+getFaceOn); const getSSR = await zkInstance.getSSR(); console.log('getSSR: '+getSSR); const getFirmware = await zkInstance.getFirmware(); console.log('getFirmware: '+getFirmware); const getTime = await zkInstance.getTime(); console.log('getTime: '+getTime); await zkInstance.setTime(getTime); console.log('setTime: '+getTime); await zkInstance.voiceTest(); console.log('voiceTest'); const deletedUser = await zkInstance.deleteUser(200); console.log('deletedUser', deletedUser); const username = `Test_${Date.now()}` await zkInstance.setUser('200','200', username, '123456'); console.log('setUser:200'); const usersData = await zkInstance.getUsers(); console.log('getUsers: '+usersData.data.length); const addedUser = usersData.data.filter(function(item){ return item.name == username }) if(addedUser.length == 1){ console.log('User add successfull') } await zkInstance.deleteUser(200); const _usersData = await zkInstance.getUsers(); const _addedUser = _usersData.data.filter(function(item){ return item.uid == 200 }) if(_addedUser.length == 0){ console.log('User deleted successfull') } // Get attendances and users const attendances = await zkInstance.getAttendances(); console.log("Total Attendances: "+attendances.data.length); console.log('-------test completed--------') } catch (e) { // Log the error for debugging console.error('An error occurred:', e); } finally { // Ensure the socket is closed if (zkInstance) { try { await zkInstance.disconnect(); console.log('disconnected') } catch (error) { console.error('Error closing the socket:', error); } } } } test().catch(err => { // Handle any uncaught errors from the test function console.error('Unhandled error in test function:', err); });