File size: 443 Bytes
76b5743
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * 各页入口注册 isBusy;心跳 tick 用 isSessionActive() = 可见 || getter()。
 */

let pageBusyGetter: (() => boolean) | undefined;

export function registerPageBusy(getter: () => boolean): void {
    pageBusyGetter = getter;
}

export function isSessionActive(): boolean {
    if (typeof document !== 'undefined' && document.visibilityState === 'visible') {
        return true;
    }
    return pageBusyGetter?.() ?? false;
}