zklib-ts 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/asd.csv +1142 -0
- package/dist/helper/command.d.ts +183 -85
- package/dist/helper/terminal.d.ts +541 -0
- package/dist/helper/utils.d.ts +42 -5
- package/dist/index.cjs.js +173 -2629
- package/dist/index.d.ts +52 -10
- package/dist/index.es.js +173 -2610
- package/dist/models/Attendance.d.ts +10 -2
- package/dist/models/Finger.d.ts +2 -1
- package/dist/services/options.service.d.ts +49 -0
- package/dist/services/transaction.service.d.ts +9 -0
- package/dist/services/user.service.d.ts +33 -0
- package/dist/ztcp.d.ts +37 -67
- package/dist/zudp.d.ts +3 -3
- package/package.json +70 -69
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents an Attendance Records
|
|
3
|
+
*/
|
|
1
4
|
export declare class Attendance {
|
|
5
|
+
/** Internal serial number for the user */
|
|
2
6
|
sn: number;
|
|
7
|
+
/** User ID/Pin stored as a string */
|
|
3
8
|
user_id: string;
|
|
4
|
-
|
|
9
|
+
/** Verification type */
|
|
5
10
|
type?: number;
|
|
11
|
+
/** Time of the attendance event */
|
|
12
|
+
record_time: Date;
|
|
13
|
+
/** Verify state */
|
|
6
14
|
state?: number;
|
|
7
15
|
ip?: string;
|
|
8
|
-
constructor(sn: number, user_id: string,
|
|
16
|
+
constructor(sn: number, user_id: string, type: number, record_time: Date, state?: number);
|
|
9
17
|
}
|
package/dist/models/Finger.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
export declare class Finger {
|
|
5
5
|
uid: number;
|
|
6
6
|
fid: number;
|
|
7
|
+
/** Flag indicating 0 = invalid | 1 = valid | 3 = duress. if is not initilizaed, default is 1 = valid */
|
|
7
8
|
valid: number;
|
|
8
9
|
template: Buffer;
|
|
9
10
|
size: number;
|
|
@@ -15,7 +16,7 @@ export declare class Finger {
|
|
|
15
16
|
* @param valid Flag indicating 0 = invalid | 1 = valid | 3 = duress
|
|
16
17
|
* @param template Fingerprint template data buffer
|
|
17
18
|
*/
|
|
18
|
-
constructor(uid: number, fid: number,
|
|
19
|
+
constructor(uid: number, fid: number, template: Buffer, valid?: number);
|
|
19
20
|
/**
|
|
20
21
|
* Packs the fingerprint data with metadata into a Buffer
|
|
21
22
|
* @returns Buffer containing packed fingerprint data
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ZTCP } from "../ztcp";
|
|
2
|
+
export declare class OptionsService {
|
|
3
|
+
_zkTcp: ZTCP;
|
|
4
|
+
constructor(zkTcp: ZTCP);
|
|
5
|
+
/** Ask if the device doesn't support alphanumeric symbols for user id values. */
|
|
6
|
+
isAbcPinEnable(): Promise<string>;
|
|
7
|
+
/** Ask if the device doesn't support alphanumeric symbols for user id values. */
|
|
8
|
+
isT9FunOn(): Promise<string>;
|
|
9
|
+
getDeviceId(): Promise<any>;
|
|
10
|
+
/**
|
|
11
|
+
* Change Device ID
|
|
12
|
+
* @param id a number between 1 and 254
|
|
13
|
+
*/
|
|
14
|
+
setDeviceId(id: number): Promise<boolean>;
|
|
15
|
+
getVendor(): Promise<any>;
|
|
16
|
+
getProductTime(): Promise<Date>;
|
|
17
|
+
getMacAddress(): Promise<string>;
|
|
18
|
+
getNetworkParams(): Promise<{
|
|
19
|
+
IPAddress: string;
|
|
20
|
+
NetMask: string;
|
|
21
|
+
GATEIPAddress: string;
|
|
22
|
+
TCPPort: string;
|
|
23
|
+
}>;
|
|
24
|
+
getSerialNumber(): Promise<string>;
|
|
25
|
+
/**
|
|
26
|
+
* get Zkteko Template version
|
|
27
|
+
* @returns number
|
|
28
|
+
*/
|
|
29
|
+
getDeviceVersion(): Promise<string>;
|
|
30
|
+
/**
|
|
31
|
+
* get Device/Model Name
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
getDeviceName(): Promise<any>;
|
|
35
|
+
getPlatform(): Promise<any>;
|
|
36
|
+
getOS(): Promise<string>;
|
|
37
|
+
getWorkCode(): Promise<string>;
|
|
38
|
+
/**
|
|
39
|
+
* get User ID max length
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
getPIN(): Promise<string>;
|
|
43
|
+
getFaceOn(): Promise<"No" | "Yes">;
|
|
44
|
+
getSSR(): Promise<string>;
|
|
45
|
+
getFirmware(): Promise<string>;
|
|
46
|
+
getTime(): Promise<Date>;
|
|
47
|
+
setTime(tm: Date | string): Promise<boolean>;
|
|
48
|
+
voiceTest(): Promise<void>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { User } from "../models/User";
|
|
2
|
+
import { ZTCP } from "../ztcp";
|
|
3
|
+
import { Finger } from "../models/Finger";
|
|
4
|
+
export declare class UserService {
|
|
5
|
+
_zkTcp: ZTCP;
|
|
6
|
+
_users: Map<string, User>;
|
|
7
|
+
constructor(zkTcp: ZTCP);
|
|
8
|
+
getUserByUserId(user_id: string): Promise<User>;
|
|
9
|
+
getUsers(): Promise<{
|
|
10
|
+
data: User[];
|
|
11
|
+
}>;
|
|
12
|
+
setUser(user_id: string, name: string, password: string, role?: number, cardno?: number): Promise<boolean>;
|
|
13
|
+
DeleteUser(user_id: string): Promise<boolean>;
|
|
14
|
+
getTemplates(cb?: Function): Promise<Record<string, Finger[]>>;
|
|
15
|
+
DownloadFp(user_id: string, fid: number): Promise<Finger>;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param user_id {string} user
|
|
19
|
+
* @param fingers {Finger[]} array of finger templates instances
|
|
20
|
+
* */
|
|
21
|
+
saveTemplates(user_id: string, fingers?: Finger[]): Promise<void>;
|
|
22
|
+
deleteFinger(user_id?: string, fid?: number): Promise<boolean>;
|
|
23
|
+
enrollInfo(user_id: string, tempId: number): Promise<unknown>;
|
|
24
|
+
verify(user_id: string): Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Upload a single fingerprint for a given user id
|
|
27
|
+
* @param user_id {string} user id for customer
|
|
28
|
+
* @param fingerTemplate {string} finger template in base64 string
|
|
29
|
+
* @param fid {number} finger id is a number between 0 and 9
|
|
30
|
+
* @param fp_valid {number} finger flag. e.g., valid=1, duress=3
|
|
31
|
+
*/
|
|
32
|
+
uploadFingerTemplate(user_id: string, fingerTemplate: string, fid: number, fp_valid: number): Promise<boolean>;
|
|
33
|
+
}
|
package/dist/ztcp.d.ts
CHANGED
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
import { Socket } from
|
|
2
|
-
import { RealTimeLog } from
|
|
3
|
-
import { Finger } from
|
|
4
|
-
import {
|
|
1
|
+
import { Socket } from "net";
|
|
2
|
+
import { RealTimeLog } from "./helper/utils";
|
|
3
|
+
import { Finger } from "./models/Finger";
|
|
4
|
+
import { UserService } from "./services/user.service";
|
|
5
|
+
import { TransactionService } from "./services/transaction.service";
|
|
6
|
+
import { OptionsService } from "./services/options.service";
|
|
5
7
|
export declare class ZTCP {
|
|
8
|
+
#private;
|
|
6
9
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
* @param_ip ip address of device
|
|
11
|
+
* @param_port port number of device
|
|
12
|
+
* @param_timeout connection timout
|
|
13
|
+
* @param_comm_key communication key of device (if the case)
|
|
14
|
+
* @return Zkteco TCP socket connection instance
|
|
15
|
+
*/
|
|
16
|
+
ip: string;
|
|
14
17
|
private port;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
timeout: number;
|
|
19
|
+
sessionId: number;
|
|
20
|
+
replyId: number;
|
|
18
21
|
socket: Socket | undefined;
|
|
19
22
|
private comm_key;
|
|
20
23
|
private user_count;
|
|
21
|
-
|
|
24
|
+
fp_count: number;
|
|
22
25
|
private pwd_count;
|
|
23
26
|
private oplog_count;
|
|
24
27
|
private attlog_count;
|
|
@@ -30,15 +33,18 @@ export declare class ZTCP {
|
|
|
30
33
|
private attlog_av;
|
|
31
34
|
private face_count;
|
|
32
35
|
private face_cap;
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
userPacketSize: number;
|
|
37
|
+
verbose: boolean;
|
|
35
38
|
private packetNumber;
|
|
36
39
|
private replyData;
|
|
40
|
+
_optionsService: OptionsService;
|
|
41
|
+
_transactionService: TransactionService;
|
|
42
|
+
_userService: UserService;
|
|
37
43
|
constructor(ip: string, port: number, timeout: number, comm_key: number, verbose: boolean);
|
|
38
|
-
createSocket(cbError:
|
|
44
|
+
createSocket(cbError: (err: Error) => void, cbClose: (type: string) => void): Promise<unknown>;
|
|
39
45
|
connect(): Promise<boolean>;
|
|
40
46
|
closeSocket(): Promise<boolean>;
|
|
41
|
-
writeMessage(msg: Buffer, connect: boolean): Promise<Buffer>;
|
|
47
|
+
writeMessage(msg: Buffer, connect: boolean, cb: (data: Buffer) => any): Promise<Buffer>;
|
|
42
48
|
requestData(msg: Buffer): Promise<Buffer>;
|
|
43
49
|
/**
|
|
44
50
|
*
|
|
@@ -58,24 +64,13 @@ export declare class ZTCP {
|
|
|
58
64
|
* readWithBuffer will reject error if it'wrong when starting request data
|
|
59
65
|
* readWithBuffer will return { data: replyData , err: Error } when receiving requested data
|
|
60
66
|
*/
|
|
61
|
-
readWithBuffer(reqData: Buffer | string, cb?:
|
|
62
|
-
/**
|
|
63
|
-
* reject error when starting request data
|
|
64
|
-
* @return {Record<string, User[] | Error>} when receiving requested data
|
|
65
|
-
*/
|
|
66
|
-
getUsers(): Promise<{
|
|
67
|
-
data: User[];
|
|
68
|
-
}>;
|
|
67
|
+
readWithBuffer(reqData: Buffer | string, cb?: (received: number, total: number) => void): Promise<Record<string, Buffer | number | Error>>;
|
|
69
68
|
/**
|
|
70
69
|
*
|
|
71
|
-
* @param {*} ip
|
|
72
70
|
* @param {*} callbackInProcess
|
|
73
71
|
* reject error when starting request data
|
|
74
72
|
* return { data: records, err: Error } when receiving requested data
|
|
75
73
|
*/
|
|
76
|
-
getAttendances(callbackInProcess?: any): Promise<{
|
|
77
|
-
data: any[];
|
|
78
|
-
}>;
|
|
79
74
|
freeData(): Promise<boolean>;
|
|
80
75
|
disableDevice(): Promise<boolean>;
|
|
81
76
|
enableDevice(): Promise<boolean>;
|
|
@@ -101,32 +96,18 @@ export declare class ZTCP {
|
|
|
101
96
|
faceCount: number;
|
|
102
97
|
faceCapacity: number;
|
|
103
98
|
}>;
|
|
104
|
-
getVendor(): Promise<string>;
|
|
105
|
-
getProductTime(): Promise<Date>;
|
|
106
|
-
getMacAddress(): Promise<string>;
|
|
107
|
-
getNetworkParams(): Promise<{
|
|
108
|
-
IPAddress: string;
|
|
109
|
-
NetMask: string;
|
|
110
|
-
GATEIPAddress: string;
|
|
111
|
-
}>;
|
|
112
|
-
getSerialNumber(): Promise<string>;
|
|
113
|
-
getDeviceVersion(): Promise<string>;
|
|
114
|
-
getDeviceName(): Promise<string>;
|
|
115
|
-
getPlatform(): Promise<string>;
|
|
116
|
-
getOS(): Promise<string>;
|
|
117
|
-
getWorkCode(): Promise<string>;
|
|
118
|
-
getPIN(): Promise<string>;
|
|
119
|
-
getFaceOn(): Promise<"No" | "Yes">;
|
|
120
|
-
getSSR(): Promise<string>;
|
|
121
|
-
getFirmware(): Promise<string>;
|
|
122
|
-
getTime(): Promise<Date>;
|
|
123
|
-
setTime(tm: Date | string): Promise<boolean>;
|
|
124
|
-
voiceTest(): Promise<void>;
|
|
125
|
-
setUser(uid: number, userid: string, name: string, password: string, role?: number, cardno?: number): Promise<boolean>;
|
|
126
|
-
deleteUser(uid: number): Promise<boolean>;
|
|
127
99
|
getAttendanceSize(): Promise<number>;
|
|
128
|
-
clearAttendanceLog(): Promise<
|
|
129
|
-
|
|
100
|
+
clearAttendanceLog(): Promise<boolean>;
|
|
101
|
+
/**
|
|
102
|
+
* Clears all data on the device
|
|
103
|
+
* @value 1 Attendance records
|
|
104
|
+
* @value 2 Fingerprint templates
|
|
105
|
+
* @value 3 None
|
|
106
|
+
* @value 4 Operation records
|
|
107
|
+
* @value 5 User information
|
|
108
|
+
* @default 0 Delete all
|
|
109
|
+
*/
|
|
110
|
+
clearData(value?: number): Promise<boolean>;
|
|
130
111
|
getRealTimeLogs(cb?: (realTimeLog: RealTimeLog) => void): Promise<void>;
|
|
131
112
|
/**
|
|
132
113
|
* Get all Finger objects
|
|
@@ -141,15 +122,6 @@ export declare class ZTCP {
|
|
|
141
122
|
refreshData(): Promise<boolean>;
|
|
142
123
|
sendWithBuffer(buffer: Buffer): Promise<unknown>;
|
|
143
124
|
sendChunk(commandString: Buffer): Promise<unknown>;
|
|
144
|
-
/**
|
|
145
|
-
* save user and template
|
|
146
|
-
*
|
|
147
|
-
* @param {User | number | string} user - User class object | uid | user_id
|
|
148
|
-
* @param {Finger[]} fingers - Array of finger class. `0 <= index <= 9`
|
|
149
|
-
*/
|
|
150
|
-
saveUserTemplate(user: User, fingers?: Finger[]): Promise<void>;
|
|
151
|
-
deleteFinger(uid: number, fid: number): Promise<boolean>;
|
|
152
|
-
enrollUser(uid: number, tempId: number, userId?: string): Promise<boolean>;
|
|
153
125
|
readSocket(length: number, cb?: any): Promise<any>;
|
|
154
126
|
/**
|
|
155
127
|
* Register events
|
|
@@ -158,8 +130,6 @@ export declare class ZTCP {
|
|
|
158
130
|
* @throws {ZKErrorResponse} If registration fails
|
|
159
131
|
*/
|
|
160
132
|
regEvent(flags: number): Promise<void>;
|
|
161
|
-
ackOk(): Promise<void>;
|
|
162
133
|
cancelCapture(): Promise<boolean>;
|
|
163
|
-
verifyUser(uid: number): Promise<boolean>;
|
|
164
134
|
restartDevice(): Promise<void>;
|
|
165
135
|
}
|
package/dist/zudp.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RecordData16, UserData28 } from './helper/utils';
|
|
2
|
-
import * as dgram from
|
|
2
|
+
import * as dgram from 'node:dgram';
|
|
3
3
|
interface DeviceInfo {
|
|
4
4
|
userCounts: number;
|
|
5
5
|
logCounts: number;
|
|
@@ -39,8 +39,8 @@ export declare class ZUDP {
|
|
|
39
39
|
getInfo(): Promise<DeviceInfo>;
|
|
40
40
|
getTime(): Promise<Date>;
|
|
41
41
|
setTime(tm: Date | string): Promise<boolean>;
|
|
42
|
-
clearAttendanceLog(): Promise<
|
|
43
|
-
clearData(): Promise<
|
|
42
|
+
clearAttendanceLog(): Promise<boolean>;
|
|
43
|
+
clearData(): Promise<boolean>;
|
|
44
44
|
disableDevice(): Promise<boolean>;
|
|
45
45
|
enableDevice(): Promise<boolean>;
|
|
46
46
|
disconnect(): Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,69 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "zklib-ts",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Unofficial zkteco library allows Node.js developers to easily interface with ZK BioMetric Fingerprint Attendance Devices",
|
|
5
|
-
"main": "dist/index.cjs.js",
|
|
6
|
-
"module": "dist/index.es.js",
|
|
7
|
-
"typings": "dist/index",
|
|
8
|
-
"types": "dist/index.d.ts",
|
|
9
|
-
"type": "commonjs",
|
|
10
|
-
"files": [
|
|
11
|
-
"dist/",
|
|
12
|
-
"README.md"
|
|
13
|
-
],
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
},
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "zklib-ts",
|
|
3
|
+
"version": "1.0.7",
|
|
4
|
+
"description": "Unofficial zkteco library allows Node.js developers to easily interface with ZK BioMetric Fingerprint Attendance Devices",
|
|
5
|
+
"main": "dist/index.cjs.js",
|
|
6
|
+
"module": "dist/index.es.js",
|
|
7
|
+
"typings": "dist/index",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"type": "commonjs",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist/",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
14
|
+
"repositoryUrl": "https://github.com/guspaz0/zklib-ts.git",
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/guspaz0/zklib-ts.git"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"typescript",
|
|
21
|
+
"javascript",
|
|
22
|
+
"jest",
|
|
23
|
+
"ip",
|
|
24
|
+
"libs",
|
|
25
|
+
"device",
|
|
26
|
+
"zkteco",
|
|
27
|
+
"address",
|
|
28
|
+
"realtime",
|
|
29
|
+
"real-time",
|
|
30
|
+
"biometric",
|
|
31
|
+
"attendance",
|
|
32
|
+
"biometric attendance",
|
|
33
|
+
"biometric attendance device"
|
|
34
|
+
],
|
|
35
|
+
"author": "Gustavo Paz",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"directories": {
|
|
38
|
+
"test": "tests"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
42
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
43
|
+
"@rollup/plugin-typescript": "^12.1.2",
|
|
44
|
+
"@types/jest": "^29.5.14",
|
|
45
|
+
"@types/mocha": "^10.0.10",
|
|
46
|
+
"@types/node": "^22.19.17",
|
|
47
|
+
"dotenv": "^16.4.7",
|
|
48
|
+
"jest": "30.2.0",
|
|
49
|
+
"rollup": "^4.37.0",
|
|
50
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
51
|
+
"ts-jest": "29.4.6",
|
|
52
|
+
"ts-node": "^10.9.2",
|
|
53
|
+
"tslib": "^2.8.1",
|
|
54
|
+
"typescript": "^5.8.2"
|
|
55
|
+
},
|
|
56
|
+
"config": {
|
|
57
|
+
"commitizen": {
|
|
58
|
+
"path": "./node_modules/cz-conventional-changelog"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"precommit": [
|
|
62
|
+
"build"
|
|
63
|
+
],
|
|
64
|
+
"scripts": {
|
|
65
|
+
"test": "jest",
|
|
66
|
+
"build": "rollup -c",
|
|
67
|
+
"watch": "rollup -c --watch",
|
|
68
|
+
"lint": "eslint ."
|
|
69
|
+
}
|
|
70
|
+
}
|