智能扫码授权接口
类定义
export class QBarAuth
属性
licenseInfo: string - 获取授权信息字符串。
静态方法
auth(secretID: string, secretKey: string): Promise<QBarAuth>
在线授权验证流程:
1. 尝试从本地缓存读取 license 并验证。
2. 如果本地验证失败,则从服务器获取最新 license。
3. 保存获取到的 license 到本地缓存。
4. 返回授权对象。
参数:
secretID: 应用密钥 IDsecretKey: 应用密钥返回:Promise<QBarAuth> - 授权对象
可能抛出:
QBarError: 网络错误或授权验证失败
authOffline(license: string): Promise<QBarAuth>
离线授权验证流程:
1. 解密传入的 license 字符串。
2. 验证 license 的有效性。
参数:
license: 离线授权字符串返回:Promise<QBarAuth> - 授权对象
可能抛出:
QBarError: 解密失败或授权验证失败
智能扫码控制器接口
枚举定义
export enum QBarMode {MODE_VIDEO_ONCE = 0, // 视频单次识别模式MODE_VIDEO_CONTINUE = 1, // 视频连续识别模式MODE_FILE = 2 // 文件识别模式}
接口定义
QBarListener
export interface QBarListener {onZoom?: (factor: number) => void // 缩放回调onInfo?: (info: QBarInfo[]) => void // 识别结果回调}
QBarConfig
export interface QBarConfig {mode: number // 运行模式,使用QBarMode枚举值listener: QBarListener // 事件监听器maxCodeNumber?: number // 最大识别码数量(默认3)}
QBarInfo
export interface QBarInfo {result_info: QBarResult // 识别结果信息detect_info: QBarDetectInfo // 检测位置信息}
QBarResult
export interface QBarResult {data: string // 二维码内容数据typeName: string // 二维码类型名称charset: string // 字符编码格式}
QBarDetectInfo
export interface QBarDetectInfo {points: QBarPoint[] // 二维码四个角点坐标数组}
QBarPoint
export interface QBarPoint {x: number // X坐标y: number // Y坐标}
类定义
export class QBarController
静态方法
create(config: QBarConfig): QBarController
功能描述:创建二维码识别控制器实例。
参数说明:
config:配置参数返回:QBarController 实例
可能抛出:
QBarError:初始化失败错误
实例方法
scan(img: ArrayBuffer, w: number, h: number): void
功能描述:扫描图像进行二维码识别,仅支持 NV21 格式的数据。
MODE_VIDEO_CONTINUE 和 MODE_VIDEO_ONCE 模式下需要多次调用此接口将数据从相机传入 SDK。
MODE_FILE 模式调用一次传入图像数据即可。
参数说明:
img: 图像数据缓冲区w: 图像宽度h: 图像高度
done(err?: QBarError): void
功能描述:手动结束识别过程,调用此接口会使内部流程结束,不传 err 正常结束;传入 err 后 promise 会将此 err 抛出到业务层。
当传入错误时错误码请使用 CUSTOM 以防止和内部已有的错误产生冲突。
参数说明:
err: 可选错误对象
属性
promise: Promise<QBarInfo[]>
功能描述:获取识别结果的 Promise 对象。
智能扫码默认界面接口
接口定义
QBarViewConfig
export interface QBarViewConfig {zoomFactor?: number // 缩放因子,值越大越灵敏,设置为0则无法通过双指放缩屏幕onBack?: () => void // 返回按钮回调,页面上点击返回按钮后调用onDone?: (info: QBarInfo) => void // 识别完成回调onError?: (err: QBarError) => void // 错误回调}
函数
@Builder export function QBarView(config: QBarViewConfig)
功能描述:创建默认识别界面。
智能扫码错误接口
枚举定义
export enum QBarErrorCode {UNKNOWN = -1, // 未知错误USER_CANCEL = -2, // 用户取消LICENSE_CHECK_FAILED = -3, // 许可证检查失败NETWORK_NOT_CONNECT = -4, // 网络错误SERVER_RESPONSE_ERROR = -5, // 服务器错误PACKAGENAME_MISMATCH = -6, // 包名不匹配PACKAGESIGN_MISMATCH = -7, // 包签名不匹配LICENSE_EXPIRE = -8, // 许可证过期LICENSE_NOT_APPROVED = -9, // 许可证未批准NOT_AUTH = -10, // 未授权NO_CAMERA_PERMISSION = -11, // 没有相机权限OPEN_CAMERA_FAILED = -12, // 打开相机失败OFFLIE_LICENSE_DECRYPT_FAILED = -13, // 离线证书解密失败PLATFORM_MISMATCH = -9, // 证书平台不匹配CUSTOM = -100 // 自定义错误}
类定义
export class QBarError implements BusinessError<void> {name: string = '' // 错误名称code: number = 0; // 错误码,使用QBarErrorCode枚举值message: string = ''; // 错误信息inner_error?: Error; // 内部错误对象(可选)constructor(c: number, m: string, i?: Error) {this.code = cthis.message = mthis.inner_error = i}}