id-scanner-lib
Version:
Browser-based ID card, QR code, and face recognition scanner with liveness detection
90 lines (89 loc) • 2.4 kB
TypeScript
/**
* @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';