UNPKG

id-scanner-lib

Version:

Browser-based ID card, QR code, and face recognition scanner with liveness detection

90 lines (89 loc) 2.4 kB
/** * @file 身份证模块入口 * @description 提供身份证识别和验证功能的模块入口 * @module modules/id-card */ import { BaseModule } from '../../core/base-module'; import { IDCardInfo, IDCardType, IDCardModuleOptions, IDCardVerificationResult } from './types'; /** * 身份证识别模块 * 提供身份证检测、OCR识别、防伪检测等功能 */ export declare class IDCardModule extends BaseModule { /** 模块名称 */ readonly name: string; /** 模块配置 */ private options; /** 身份证检测器 */ private detector; /** OCR处理器 */ private ocrProcessor?; /** 防伪检测器 */ private antiFakeDetector?; /** 最后一次检测结果 */ private lastDetectionResult?; /** * 构造函数 * @param options 模块配置选项 */ constructor(options?: IDCardModuleOptions); /** * 初始化模块 */ initialize(): Promise<void>; /** * 识别身份证图像 * @param image 图像源 * @returns 识别结果 */ recognize(image: ImageData | HTMLImageElement | HTMLCanvasElement): Promise<IDCardInfo>; /** * 验证身份证信息 * @param idCardInfo 身份证信息 * @returns 验证结果 */ verify(idCardInfo: IDCardInfo): IDCardVerificationResult; /** * 获取最后一次识别结果 */ getLastRecognitionResult(): IDCardInfo | undefined; /** * 释放模块资源 */ dispose(): Promise<void>; /** * 验证身份证号码是否有效 * @param idNumber 身份证号码 * @returns 是否有效 */ private validateIDNumber; /** * 检查身份证是否过期 * @param validTo 有效期截止日期 * @returns 是否过期 */ private isIDCardExpired; /** * 检测身份证 * @param image 图像源 * @returns 检测结果 */ detect(image: ImageData | HTMLImageElement | HTMLCanvasElement): Promise<{ success: boolean; type?: IDCardType; confidence: number; croppedImage?: ImageData; }>; /** * 将图像转换为 ImageData * @param image 图像源 * @returns ImageData 对象 */ private convertToImageData; /** * 确保模块已初始化 * @protected */ protected ensureInitialized(): void; } export * from './types';