assistsx-js 0.0.1332 → 0.0.1333

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -303,5 +303,26 @@ export declare class AssistsX {
303
303
  * @returns 应用窗口尺寸对象
304
304
  */
305
305
  static getAppScreenSize(): any;
306
+ /**
307
+ * 添加无障碍事件监听器
308
+ * @param listener 监听器函数
309
+ * @returns 监听器ID,用于移除监听器
310
+ */
311
+ static addAccessibilityEventListener(listener: (event: any) => void): string;
312
+ /**
313
+ * 移除无障碍事件监听器
314
+ * @param listenerId 监听器ID
315
+ * @returns 是否移除成功
316
+ */
317
+ static removeAccessibilityEventListener(listenerId: string): boolean;
318
+ /**
319
+ * 移除所有无障碍事件监听器
320
+ */
321
+ static removeAllAccessibilityEventListeners(): void;
322
+ /**
323
+ * 获取当前注册的无障碍事件监听器数量
324
+ * @returns 监听器数量
325
+ */
326
+ static getAccessibilityEventListenerCount(): number;
306
327
  }
307
328
  export {};
package/dist/AssistsX.js CHANGED
@@ -9,6 +9,8 @@ import { Bounds } from './Bounds';
9
9
  import { generateUUID } from './Utils';
10
10
  // 回调函数存储对象
11
11
  const callbacks = {};
12
+ // 无障碍事件监听器存储
13
+ const accessibilityEventListeners = [];
12
14
  // 初始化全局回调函数
13
15
  if (typeof window !== 'undefined' && !window.assistsxCallback) {
14
16
  window.assistsxCallback = (data) => {
@@ -19,6 +21,20 @@ if (typeof window !== 'undefined' && !window.assistsxCallback) {
19
21
  }
20
22
  };
21
23
  }
24
+ // 初始化全局无障碍事件函数
25
+ if (typeof window !== 'undefined' && !window.onAccessibilityEvent) {
26
+ window.onAccessibilityEvent = (event) => {
27
+ // 通知所有注册的监听器
28
+ accessibilityEventListeners.forEach(listener => {
29
+ try {
30
+ listener(event);
31
+ }
32
+ catch (error) {
33
+ console.error('Accessibility event listener error:', error);
34
+ }
35
+ });
36
+ };
37
+ }
22
38
  export class AssistsX {
23
39
  /**
24
40
  * 执行同步调用
@@ -425,4 +441,54 @@ export class AssistsX {
425
441
  const response = this.call(CallMethod.getAppScreenSize);
426
442
  return response.getDataOrDefault("{}");
427
443
  }
444
+ /**
445
+ * 添加无障碍事件监听器
446
+ * @param listener 监听器函数
447
+ * @returns 监听器ID,用于移除监听器
448
+ */
449
+ static addAccessibilityEventListener(listener) {
450
+ const listenerId = generateUUID();
451
+ const wrappedListener = (event) => {
452
+ try {
453
+ listener(event);
454
+ }
455
+ catch (error) {
456
+ console.error('Accessibility event listener error:', error);
457
+ }
458
+ };
459
+ // 将监听器包装并存储,使用ID作为键
460
+ accessibilityEventListeners[listenerId] = wrappedListener;
461
+ accessibilityEventListeners.push(wrappedListener);
462
+ return listenerId;
463
+ }
464
+ /**
465
+ * 移除无障碍事件监听器
466
+ * @param listenerId 监听器ID
467
+ * @returns 是否移除成功
468
+ */
469
+ static removeAccessibilityEventListener(listenerId) {
470
+ const listener = accessibilityEventListeners[listenerId];
471
+ if (listener) {
472
+ const index = accessibilityEventListeners.indexOf(listener);
473
+ if (index > -1) {
474
+ accessibilityEventListeners.splice(index, 1);
475
+ delete accessibilityEventListeners[listenerId];
476
+ return true;
477
+ }
478
+ }
479
+ return false;
480
+ }
481
+ /**
482
+ * 移除所有无障碍事件监听器
483
+ */
484
+ static removeAllAccessibilityEventListeners() {
485
+ accessibilityEventListeners.length = 0;
486
+ }
487
+ /**
488
+ * 获取当前注册的无障碍事件监听器数量
489
+ * @returns 监听器数量
490
+ */
491
+ static getAccessibilityEventListenerCount() {
492
+ return accessibilityEventListeners.length;
493
+ }
428
494
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "assistsx-js",
3
- "version": "0.0.1332",
3
+ "version": "0.0.1333",
4
4
  "description": "assistsx-js自动化开发SDK",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
package/src/AssistsX.ts CHANGED
@@ -34,6 +34,9 @@ interface WebFloatingWindowOptions {
34
34
  // 回调函数存储对象
35
35
  const callbacks: { [key: string]: (data: any) => void } = {};
36
36
 
37
+ // 无障碍事件监听器存储
38
+ const accessibilityEventListeners: ((event: any) => void)[] = [];
39
+
37
40
  // 初始化全局回调函数
38
41
  if (typeof window !== 'undefined' && !window.assistsxCallback) {
39
42
  window.assistsxCallback = (data: string) => {
@@ -45,6 +48,20 @@ if (typeof window !== 'undefined' && !window.assistsxCallback) {
45
48
  }
46
49
  }
47
50
 
51
+ // 初始化全局无障碍事件函数
52
+ if (typeof window !== 'undefined' && !window.onAccessibilityEvent) {
53
+ window.onAccessibilityEvent = (event: any) => {
54
+ // 通知所有注册的监听器
55
+ accessibilityEventListeners.forEach(listener => {
56
+ try {
57
+ listener(event);
58
+ } catch (error) {
59
+ console.error('Accessibility event listener error:', error);
60
+ }
61
+ });
62
+ }
63
+ }
64
+
48
65
  export class AssistsX {
49
66
  /**
50
67
  * 执行同步调用
@@ -489,4 +506,59 @@ export class AssistsX {
489
506
  const response = this.call(CallMethod.getAppScreenSize);
490
507
  return response.getDataOrDefault("{}");
491
508
  }
509
+
510
+ /**
511
+ * 添加无障碍事件监听器
512
+ * @param listener 监听器函数
513
+ * @returns 监听器ID,用于移除监听器
514
+ */
515
+ public static addAccessibilityEventListener(listener: (event: any) => void): string {
516
+ const listenerId = generateUUID();
517
+ const wrappedListener = (event: any) => {
518
+ try {
519
+ listener(event);
520
+ } catch (error) {
521
+ console.error('Accessibility event listener error:', error);
522
+ }
523
+ };
524
+
525
+ // 将监听器包装并存储,使用ID作为键
526
+ (accessibilityEventListeners as any)[listenerId] = wrappedListener;
527
+ accessibilityEventListeners.push(wrappedListener);
528
+
529
+ return listenerId;
530
+ }
531
+
532
+ /**
533
+ * 移除无障碍事件监听器
534
+ * @param listenerId 监听器ID
535
+ * @returns 是否移除成功
536
+ */
537
+ public static removeAccessibilityEventListener(listenerId: string): boolean {
538
+ const listener = (accessibilityEventListeners as any)[listenerId];
539
+ if (listener) {
540
+ const index = accessibilityEventListeners.indexOf(listener);
541
+ if (index > -1) {
542
+ accessibilityEventListeners.splice(index, 1);
543
+ delete (accessibilityEventListeners as any)[listenerId];
544
+ return true;
545
+ }
546
+ }
547
+ return false;
548
+ }
549
+
550
+ /**
551
+ * 移除所有无障碍事件监听器
552
+ */
553
+ public static removeAllAccessibilityEventListeners(): void {
554
+ accessibilityEventListeners.length = 0;
555
+ }
556
+
557
+ /**
558
+ * 获取当前注册的无障碍事件监听器数量
559
+ * @returns 监听器数量
560
+ */
561
+ public static getAccessibilityEventListenerCount(): number {
562
+ return accessibilityEventListeners.length;
563
+ }
492
564
  }
package/src/global.d.ts CHANGED
@@ -7,6 +7,7 @@ declare global {
7
7
  call(method: string): string | null;
8
8
  };
9
9
  assistsxCallback: (id: string, data: string) => void;
10
+ onAccessibilityEvent: (event: any) => void;
10
11
  }
11
12
  }
12
13