bridge.d.ts 965 B

12345678910111213141516171819202122232425262728
  1. interface ScanData {
  2. code: string;
  3. state: number;
  4. type: number;
  5. message?: string;
  6. }
  7. export interface BridgeEventMap {
  8. scan: CustomEvent<{code: number, data?: ScanData, message?: string}>;
  9. }
  10. export class Bridge extends EventTarget {
  11. public static getInstance(): Bridge;
  12. public static print(): Promise<void>;
  13. public static print(params: { url?: string }): Promise<void>;
  14. public static scan(params: { timeout?: number; signal?: AbortSignal }): Promise<ScanData>;
  15. /**
  16. * 监听扫码事件
  17. * @param type 事件类型 'scan'
  18. * @param listener 事件回调,参数为 ScanEvent
  19. * @param options
  20. */
  21. addEventListener<T extends keyof BridgeEventMap>(type: T, listener: (event: BridgeEventMap[T]) => void, options?: boolean | AddEventListenerOptions): () => void;
  22. removeEventListener<T extends keyof BridgeEventMap>(type: T, listener: (event: BridgeEventMap[T]) => void, options?: boolean | AddEventListenerOptions): () => void;
  23. }