1 /*
2  * Copyright (c) 2022-2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OS_ACCOUNT_INTERFACES_KITS_NAPI_IAM_INCLUDE_NAPI_IAM_CONSTANT_H
17 #define OS_ACCOUNT_INTERFACES_KITS_NAPI_IAM_INCLUDE_NAPI_IAM_CONSTANT_H
18 
19 #include "napi/native_api.h"
20 #include "napi/native_node_api.h"
21 
22 namespace OHOS {
23 namespace AccountJsKit {
24 
25 enum AuthSubType {
26     FACE_2D = 20000,
27     FACE_3D = 20001,
28     FINGERPRINT_CAPACITIVE = 30000,
29     FINGERPRINT_OPTICAL = 30001,
30     FINGERPRINT_ULTRASONIC = 30002,
31 };
32 
33 enum AuthMethod {
34     PIN_ONLY = 0xF,
35     FACE_ONLY = 0xF0
36 };
37 
38 enum Module {
39     FACE_AUTH = 1
40 };
41 
42 enum FaceTipsCode {
43     FACE_AUTH_TIP_TOO_BRIGHT = 1,
44     FACE_AUTH_TIP_TOO_DARK = 2,
45     FACE_AUTH_TIP_TOO_CLOSE = 3,
46     FACE_AUTH_TIP_TOO_FAR = 4,
47     FACE_AUTH_TIP_TOO_HIGH = 5,
48     FACE_AUTH_TIP_TOO_LOW = 6,
49     FACE_AUTH_TIP_TOO_RIGHT = 7,
50     FACE_AUTH_TIP_TOO_LEFT = 8,
51     FACE_AUTH_TIP_TOO_MUCH_MOTION = 9,
52     FACE_AUTH_TIP_POOR_GAZE = 10,
53     FACE_AUTH_TIP_NOT_DETECTED = 11,
54 };
55 
56 enum FingerprintTips {
57     FINGERPRINT_AUTH_TIP_GOOD = 0,
58     FINGERPRINT_AUTH_TIP_IMAGER_DIRTY = 1,
59     FINGERPRINT_AUTH_TIP_INSUFFICIENT = 2,
60     FINGERPRINT_AUTH_TIP_PARTIAL = 3,
61     FINGERPRINT_AUTH_TIP_TOO_FAST = 4,
62     FINGERPRINT_AUTH_TIP_TOO_SLOW = 5,
63     FINGERPRINT_TIP_FINGER_DOWN = 6,
64     FINGERPRINT_TIP_FINGER_UP = 7,
65 };
66 
67 enum GetPropertyType : uint32_t {
68     AUTH_SUB_TYPE = 1,
69     REMAIN_TIMES = 2,
70     FREEZING_TIME = 3,
71     ENROLLMENT_PROGRESS = 4,
72     SENSOR_INFO = 5,
73     NEXT_PHASE_FREEZING_TIME = 6,
74 };
75 
76 enum SetPropertyType : uint32_t {
77     INIT_ALGORITHM = 1,
78     FREEZE_TEMPLATE = 2,
79     THAW_TEMPLATE = 3,
80 };
81 
82 enum class AuthenticationResult {
83     NO_SUPPORT = -1,
84     SUCCESS = 0,
85     COMPARE_FAILURE = 1,
86     CANCELED = 2,
87     TIMEOUT = 3,
88     CAMERA_FAIL = 4,
89     BUSY = 5,
90     INVALID_PARAMETERS = 6,
91     LOCKED = 7,
92     NOT_ENROLLED = 8,
93     GENERAL_ERROR = 100,
94 };
95 
96 class NapiAccountIAMConstant {
97 public:
98     static napi_value Init(napi_env env, napi_value exports);
99 };
100 }  // namespace AccountJsKit
101 }  // namespace OHOS
102 #endif  // OS_ACCOUNT_INTERFACES_KITS_NAPI_IAM_INCLUDE_NAPI_IAM_CONSTANT_H