UNPKG

vite-uni-dev-tool

Version:

vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试

187 lines (171 loc) 5.07 kB
declare namespace NFC { type NfcType = | 'ISO-DEP' | 'MIFARE Classic' | 'MIFARE Ultralight' | 'NFC-A' | 'NFC-B' | 'NFC-F' | 'NFC-V' | 'Ndef' | 'Ndef Formatable' | ''; type Data = { id: ArrayBuffer; /** * ( | 'ISO-DEP' | 'MIFARE Classic' | 'MIFARE Ultralight' | 'NFC-A' | 'NFC-B' | 'NFC-F' | 'NFC-V' ) */ techs: NfcType[]; /** * ndef 数据 */ ndefMessage?: string; /** SAK */ sak?: number; /** SAK 类型 */ sakType?: string; sakHex?: string; /** 最大数据传输长度 */ maxTransceiveLength?: number; /** 卡类型 */ nfcType?: NfcType; /** 读写标准 */ readWriteStandard?: string[]; /** 其他数据 */ [key: string]: any; }; type TransformId = { /** 卡片id 10进制字符串 */ byteArray: number[]; /** 卡片id 16进制字符串 */ hexArray: string[]; /** 卡片id 16进制字符串 */ hexString: string; }; type Result = Data & TransformId; type Atqa = { atqa: ArrayBuffer; errMsg: string; }; type Sak = { /** * SAK 是 NFC 终端设备(如手机)与 NFC 标签通信时返回的一个字节数据 * * 0x00 未指定类型 * 0x08 Mifare Classic 1K * 0x09 Mifare Classic Mini * 0x10 Mifare Plus * 0x11 Mifare Classic 4K * 0x18 Mifare Ultralight / Ultralight C * 0x20 DESFire */ sak: number; errno: number; errMsg: string; }; type MaxTransceiveLength = { /** 最大传输长度 */ length: number; errno: number; errMsg: string; }; type Connected = { /** 标签是否连接 */ connected: boolean; errno: number; errMsg: string; }; type FnOption<R = any, E = any> = { success?: (result: R) => void; fail?: (error: E) => void; complete?: (res: R | E) => void; }; type NdefData = { /** uri 数组 */ uris?: any[]; /** text 数组 */ texts?: any[]; /** 二进制对象数组, 需要指明 id, type 以及 payload (均为 ArrayBuffer 类型) */ records?: any[]; }; type Instance = { /** 连接 NFC 标签 */ connect: (options?: FnOption) => void; /** 断开连接 */ close: (options?: FnOption) => void; /** 设置超时时间 */ setTimeout: (options: ?(FnOption & { timeout: number })) => void; /** 获取最大传输长度 */ getMaxTransceiveLength: (options?: FnOption<MaxTransceiveLength>) => void; /** * 写入数据 * 支持以以下类型 * ISO-DEP * MIFARE Classic * MIFARE Ultralight * NFC-A * NFC-B * NFC-F * NFC-V */ transceive?: (options: ?(FnOption & { data: ArrayBuffer })) => void; /** * 写入数据 * 支持以以下类型 * Ndef * */ writeNdefMessage?: (options: ?(FnOption & NdefData)) => void; /** 获取ATQA信息 */ getAtqa?: (options?: FnOption<Atqa>) => void; /** 获取SAK信息 */ getSak?: (options?: FnOption<Sak>) => void; /** 检测标签是否连接 */ isConnected?: (options?: FnOption<Connected>) => void; }; type Adapter = { /** 获取IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ getIsoDep: () => any; /** 获取MifareClassic实例,实例支持MIFARE Classic标签的读写 */ getMifareClassic: () => any; /** 获取MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ getMifareUltralight: () => any; /** 获取Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ getNdef: (options?: FnOption) => NfcA; /** 获取NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ getNfcA: (options?: FnOption) => any; /** 获取NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ getNfcB: (options?: FnOption) => any; /** 获取NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ getNfcF: (options?: FnOption) => any; /** 获取NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ getNfcV: (options?: FnOption) => any; /** 启用 nfc 模块 */ startDiscovery: (options?: FnOption) => void; /** 停用 nfc 模块 */ stopDiscovery: () => void; /** nfc 读取监听 */ onDiscovered: (callback: (res: NFC.Data) => void) => void; /** nfc 移除监听 */ offDiscovered: (callback: (res: NFC.Data) => void) => void; /** 安卓环境 判断适配器是否可用 */ isEnabled: () => boolean; /** 安卓环境 停用前台调度 */ disableForegroundDispatch: (main: any) => void; /** 安卓环境 启用前台调度 */ enableForegroundDispatch: ( main: any, pendingIntent: any, intentFiltersArray: any[], techListsArray: any[] | null, ) => void; }; }