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.
- package/dist/AssistsX.d.ts +21 -0
- package/dist/AssistsX.js +66 -0
- package/package.json +1 -1
- package/src/AssistsX.ts +72 -0
- package/src/global.d.ts +1 -0
package/dist/AssistsX.d.ts
CHANGED
|
@@ -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
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
|
}
|