id-scanner-lib 1.3.2 → 1.5.0

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.
Files changed (115) hide show
  1. package/README.md +55 -460
  2. package/dist/id-scanner-lib.esm.js +4641 -0
  3. package/dist/id-scanner-lib.esm.js.map +1 -0
  4. package/dist/id-scanner-lib.js +14755 -0
  5. package/dist/id-scanner-lib.js.map +1 -0
  6. package/dist/types/core/base-module.d.ts +44 -0
  7. package/dist/types/core/camera-manager.d.ts +258 -0
  8. package/dist/types/core/config.d.ts +88 -0
  9. package/dist/types/core/errors.d.ts +111 -0
  10. package/dist/types/core/event-emitter.d.ts +55 -0
  11. package/dist/types/core/logger.d.ts +277 -0
  12. package/dist/types/core/module-manager.d.ts +78 -0
  13. package/dist/types/core/plugin-manager.d.ts +158 -0
  14. package/dist/types/core/resource-manager.d.ts +246 -0
  15. package/dist/types/core/result.d.ts +83 -0
  16. package/dist/types/core/scanner-factory.d.ts +93 -0
  17. package/dist/types/index.bundle.d.ts +1303 -0
  18. package/dist/types/index.d.ts +86 -0
  19. package/dist/types/interfaces/external-types.d.ts +174 -0
  20. package/dist/types/interfaces/face-detection.d.ts +293 -0
  21. package/dist/types/interfaces/scanner-module.d.ts +280 -0
  22. package/dist/types/modules/face/face-detector.d.ts +170 -0
  23. package/dist/types/modules/face/index.d.ts +56 -0
  24. package/dist/types/modules/face/liveness-detector.d.ts +177 -0
  25. package/dist/types/modules/face/types.d.ts +136 -0
  26. package/dist/types/modules/id-card/anti-fake-detector.d.ts +170 -0
  27. package/dist/types/modules/id-card/id-card-detector.d.ts +131 -0
  28. package/dist/types/modules/id-card/index.d.ts +89 -0
  29. package/dist/types/modules/id-card/ocr-processor.d.ts +110 -0
  30. package/dist/types/modules/id-card/ocr-worker.d.ts +31 -0
  31. package/dist/types/modules/id-card/types.d.ts +181 -0
  32. package/dist/types/modules/qrcode/index.d.ts +51 -0
  33. package/dist/types/modules/qrcode/qr-code-scanner.d.ts +64 -0
  34. package/dist/types/modules/qrcode/types.d.ts +67 -0
  35. package/dist/types/utils/camera.d.ts +81 -0
  36. package/dist/types/utils/image-processing.d.ts +176 -0
  37. package/dist/types/utils/index.d.ts +175 -0
  38. package/dist/types/utils/performance.d.ts +81 -0
  39. package/dist/types/utils/resource-manager.d.ts +53 -0
  40. package/dist/types/utils/types.d.ts +166 -0
  41. package/dist/types/utils/worker.d.ts +52 -0
  42. package/dist/types/version.d.ts +7 -0
  43. package/package.json +76 -77
  44. package/src/core/base-module.ts +78 -0
  45. package/src/core/camera-manager.ts +798 -0
  46. package/src/core/config.ts +268 -0
  47. package/src/core/errors.ts +174 -0
  48. package/src/core/event-emitter.ts +110 -0
  49. package/src/core/logger.ts +549 -0
  50. package/src/core/module-manager.ts +165 -0
  51. package/src/core/plugin-manager.ts +429 -0
  52. package/src/core/resource-manager.ts +762 -0
  53. package/src/core/result.ts +163 -0
  54. package/src/core/scanner-factory.ts +237 -0
  55. package/src/index.ts +113 -936
  56. package/src/interfaces/external-types.ts +200 -0
  57. package/src/interfaces/face-detection.ts +309 -0
  58. package/src/interfaces/scanner-module.ts +384 -0
  59. package/src/modules/face/face-detector.ts +931 -0
  60. package/src/modules/face/index.ts +208 -0
  61. package/src/modules/face/liveness-detector.ts +908 -0
  62. package/src/modules/face/types.ts +133 -0
  63. package/src/modules/id-card/anti-fake-detector.ts +732 -0
  64. package/src/modules/id-card/id-card-detector.ts +474 -0
  65. package/src/modules/id-card/index.ts +425 -0
  66. package/src/modules/id-card/ocr-processor.ts +538 -0
  67. package/src/modules/id-card/ocr-worker.ts +259 -0
  68. package/src/modules/id-card/types.ts +178 -0
  69. package/src/modules/qrcode/index.ts +175 -0
  70. package/src/modules/qrcode/qr-code-scanner.ts +230 -0
  71. package/src/modules/qrcode/types.ts +65 -0
  72. package/src/types/browser-image-compression.d.ts +19 -0
  73. package/src/types/tesseract.d.ts +280 -0
  74. package/src/utils/image-processing.ts +432 -49
  75. package/src/utils/index.ts +426 -0
  76. package/src/utils/performance.ts +168 -131
  77. package/src/utils/resource-manager.ts +65 -146
  78. package/src/utils/types.ts +90 -2
  79. package/src/utils/worker.ts +123 -84
  80. package/src/version.ts +11 -0
  81. package/tools/scaffold.js +543 -0
  82. package/dist/id-scanner-core.esm.js +0 -11076
  83. package/dist/id-scanner-core.esm.js.map +0 -1
  84. package/dist/id-scanner-core.js +0 -11088
  85. package/dist/id-scanner-core.js.map +0 -1
  86. package/dist/id-scanner-core.min.js +0 -1
  87. package/dist/id-scanner-core.min.js.map +0 -1
  88. package/dist/id-scanner-ocr.esm.js +0 -1802
  89. package/dist/id-scanner-ocr.esm.js.map +0 -1
  90. package/dist/id-scanner-ocr.js +0 -1811
  91. package/dist/id-scanner-ocr.js.map +0 -1
  92. package/dist/id-scanner-ocr.min.js +0 -1
  93. package/dist/id-scanner-ocr.min.js.map +0 -1
  94. package/dist/id-scanner-qr.esm.js +0 -1023
  95. package/dist/id-scanner-qr.esm.js.map +0 -1
  96. package/dist/id-scanner-qr.js +0 -1032
  97. package/dist/id-scanner-qr.js.map +0 -1
  98. package/dist/id-scanner-qr.min.js +0 -1
  99. package/dist/id-scanner-qr.min.js.map +0 -1
  100. package/dist/id-scanner.js +0 -3740
  101. package/dist/id-scanner.js.map +0 -1
  102. package/dist/id-scanner.min.js +0 -1
  103. package/dist/id-scanner.min.js.map +0 -1
  104. package/src/core.ts +0 -138
  105. package/src/demo/demo.ts +0 -204
  106. package/src/id-recognition/anti-fake-detector.ts +0 -317
  107. package/src/id-recognition/data-extractor.ts +0 -262
  108. package/src/id-recognition/id-detector.ts +0 -363
  109. package/src/id-recognition/ocr-processor.ts +0 -334
  110. package/src/id-recognition/ocr-worker.ts +0 -156
  111. package/src/index-umd.ts +0 -477
  112. package/src/ocr-module.ts +0 -187
  113. package/src/qr-module.ts +0 -179
  114. package/src/scanner/barcode-scanner.ts +0 -251
  115. package/src/scanner/qr-scanner.ts +0 -167
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @file 人脸模块类型定义
3
+ * @description 人脸模块相关的类型和接口定义
4
+ * @module modules/face/types
5
+ */
6
+
7
+ /**
8
+ * 人脸检测结果
9
+ */
10
+ export interface FaceDetectionResult {
11
+ /** 人脸边界框 */
12
+ boundingBox: {
13
+ x: number;
14
+ y: number;
15
+ width: number;
16
+ height: number;
17
+ };
18
+
19
+ /** 人脸特征点 */
20
+ landmarks?: {
21
+ /** 左眼 */
22
+ leftEye: { x: number; y: number };
23
+ /** 右眼 */
24
+ rightEye: { x: number; y: number };
25
+ /** 鼻子 */
26
+ nose: { x: number; y: number };
27
+ /** 嘴巴 */
28
+ mouth: { x: number; y: number };
29
+ /** 下巴 */
30
+ chin: { x: number; y: number };
31
+ };
32
+
33
+ /** 人脸角度 */
34
+ angle?: {
35
+ /** 俯仰角 */
36
+ pitch: number;
37
+ /** 偏航角 */
38
+ yaw: number;
39
+ /** 翻滚角 */
40
+ roll: number;
41
+ };
42
+
43
+ /** 人脸属性 */
44
+ attributes?: {
45
+ /** 性别 */
46
+ gender?: {
47
+ /** 性别值 */
48
+ value: 'male' | 'female';
49
+ /** 置信度 */
50
+ confidence: number;
51
+ };
52
+ /** 年龄 */
53
+ age?: {
54
+ /** 年龄值 */
55
+ value: number;
56
+ /** 置信度 */
57
+ confidence: number;
58
+ };
59
+ /** 表情 */
60
+ emotion?: {
61
+ /** 表情值 */
62
+ value: 'neutral' | 'happiness' | 'surprise' | 'sadness' | 'anger' | 'disgust' | 'fear' | 'contempt';
63
+ /** 置信度 */
64
+ confidence: number;
65
+ };
66
+ };
67
+
68
+ /** 活体检测结果 */
69
+ liveness?: {
70
+ /** 是否通过活体检测 */
71
+ passed: boolean;
72
+ /** 活体检测分数 */
73
+ score: number;
74
+ /** 活体检测类型 */
75
+ type: 'blink' | 'mouth' | 'head' | 'passive';
76
+ };
77
+
78
+ /** 人脸图像 */
79
+ image?: ImageData;
80
+
81
+ /** 置信度 */
82
+ confidence: number;
83
+ }
84
+
85
+ /**
86
+ * 人脸比对结果
87
+ */
88
+ export interface FaceComparisonResult {
89
+ /** 是否匹配 */
90
+ isMatch: boolean;
91
+ /** 相似度分数 */
92
+ similarity: number;
93
+ /** 置信度 */
94
+ confidence: number;
95
+ }
96
+
97
+ /**
98
+ * 人脸模块配置选项
99
+ */
100
+ export interface FaceModuleOptions {
101
+ /** 是否启用模块 */
102
+ enabled?: boolean;
103
+
104
+ /** 检测器配置 */
105
+ detector?: {
106
+ /** 最小置信度 */
107
+ minConfidence?: number;
108
+ /** 是否检测特征点 */
109
+ detectLandmarks?: boolean;
110
+ /** 是否检测属性 */
111
+ detectAttributes?: boolean;
112
+ /** 是否返回人脸图像 */
113
+ returnFaceImage?: boolean;
114
+ };
115
+
116
+ /** 活体检测配置 */
117
+ liveness?: {
118
+ /** 是否启用活体检测 */
119
+ enabled?: boolean;
120
+ /** 活体检测类型 */
121
+ type?: 'blink' | 'mouth' | 'head' | 'passive';
122
+ /** 最小置信度 */
123
+ minConfidence?: number;
124
+ /** 检测超时时间(毫秒) */
125
+ timeout?: number;
126
+ };
127
+
128
+ /** 人脸比对配置 */
129
+ comparison?: {
130
+ /** 最小相似度阈值 */
131
+ minSimilarity?: number;
132
+ };
133
+ }