UNPKG

para-bridge-demo

Version:

a bridge api for js-ios/andriod rest

48 lines (41 loc) 1.35 kB
import { BridgePlugin } from '../bridge'; interface IScanBankCardParam { // true直接启动扫描模式,不打开新ACTIVITY,将结果返回 scanMode: 'quick' | 'activity'; } interface IBankCardInfo { // 银行卡号信息 cardNo: string; // 银行卡图片,H5自动记录 idCardImgBase64: string; } // 针对NTV返回的报文协议定义 interface IScanBankCardResult { // 0:识别成功 1:识别失败 2:授权失败 3:取消 status: '0' | '1' | '2' | '3'; // true直接启动扫描模式,不打开新ACTIVITY,将结果返回 scanMode: 'quick' | 'activity'; // 银行卡信息 cardInfo: IBankCardInfo; } export class ScanBankCard<K> extends BridgePlugin<IScanBankCardParam, K>{ protected get ntvPluginName() { return '_ntv_util_scan_bank_card'; } protected get availableMinVersion() { return '1.0.0'; } protected bridgeExecChrome(pluginName?: string | undefined): void { // 可针对不同运行环境实现特定的调用逻辑来MOCK,弥补平台差异性. throw new Error('brigeExecChrome() 未针对当前环境实现'); } } /** * 扫描银行卡 * @returns Promise<IScanBankCardResult> */ export const scanBankCard = (param: IScanBankCardParam) => { return new ScanBankCard<IScanBankCardResult>(param).invokeOnce().then(result => { return result.cbData; }) }