zklib-ts
Version:
Unofficial zkteco library allows Node.js developers to easily interface with ZK BioMetric Fingerprint Attendance Devices
74 lines (73 loc) • 3.04 kB
TypeScript
import { ZTCP } from './ztcp';
import { ZUDP } from './zudp';
import { User } from './models/User';
import { Finger } from './models/Finger';
import { Attendance } from "./models/Attendance";
import { RecordData16, UserData28, DeviceInfo } from "./helper/utils";
export default class Zklib {
set connectionType(value: "tcp" | "udp" | null);
private _connectionType;
ztcp: ZTCP;
zudp: ZUDP;
private interval;
private timer;
private isBusy;
private ip;
private comm_key;
get connectionType(): "tcp" | "udp" | null;
/**
* Creates a new Zkteco device connection instance
* @param ip IP address of device
* @param port Port number of device
* @param timeout Connection timeout in milliseconds
* @param inport Required only for UDP connection (default: 10000)
* @param comm_key Communication key of device (default: 0)
* @param verbose Console log some data
*/
constructor(ip: string, port?: number, timeout?: number, inport?: number, comm_key?: number, verbose?: boolean);
private functionWrapper;
createSocket(cbErr?: (err: Error) => void, cbClose?: (type: string) => void): Promise<boolean>;
getUsers(): Promise<{
data: User[] | UserData28[];
}>;
getTime(): Promise<Date>;
setTime(t: Date | string): Promise<boolean>;
voiceTest(): Promise<void>;
getProductTime(): Promise<Date>;
getVendor(): Promise<string>;
getMacAddress(): Promise<string>;
getSerialNumber(): Promise<string>;
getDeviceVersion(): Promise<string>;
getDeviceName(): Promise<string>;
getPlatform(): Promise<string>;
getOS(): Promise<string>;
getWorkCode(): Promise<string>;
getPIN(): Promise<string>;
getFaceOn(): Promise<string>;
getSSR(): Promise<string>;
getFirmware(): Promise<string>;
setUser(uid: number, userid: string, name: string, password: string, role?: number, cardno?: number): Promise<boolean>;
deleteUser(uid: number): Promise<boolean>;
getAttendanceSize(): Promise<number>;
getAttendances(cb?: (progress: number, total: number) => void): Promise<{
data: Attendance[] | RecordData16[];
err?: Error | null;
}>;
getRealTimeLogs(cb: (log: any) => void): Promise<void>;
getTemplates(): Promise<Record<string, Finger[]>>;
saveUserTemplate(user: User, fingers?: Finger[]): Promise<void>;
deleteFinger(uid: number, fid: number): Promise<boolean>;
enrollUser(uid: number, temp_id: number, user_id: string): Promise<boolean>;
verifyUser(uid: number): Promise<boolean>;
restartDevice(): Promise<void>;
getSizes(): Promise<DeviceInfo>;
disconnect(): Promise<void>;
freeData(): Promise<boolean>;
disableDevice(): Promise<boolean>;
enableDevice(): Promise<boolean>;
getInfo(): Promise<DeviceInfo>;
clearAttendanceLog(): Promise<any>;
clearData(): Promise<any>;
executeCmd(command: number, data?: string | Buffer): Promise<Buffer>;
}
export type { Attendance, User, Finger, DeviceInfo, Zklib };