UNPKG

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
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 };