@lanaqi/rsr-nprogress
Version:
React 安全路由器 NProgress 插件
56 lines (55 loc) • 1.75 kB
TypeScript
import type { AccessDecision, AccessContext, AccessManager, AccessPath, AccessResource } from '@lanaqi/rsr';
import { AbstractAddon } from '@lanaqi/rsr';
import NProgress, { type NProgressOptions } from 'nprogress';
import 'nprogress/nprogress.css';
/**
* NProgress 插件实现
*/
export declare class NProgressAddon extends AbstractAddon {
/**
* NProgress 实例
* @private
*/
private readonly progress;
/**
* 超时时间
* @private
*/
private readonly timeout;
/**
* 超时清理
* @private
*/
private clear?;
/**
* 构造函数
* @param progress NProgress 实例
* @param timeout 超时时间
*/
constructor(progress: NProgress.NProgress, timeout: number);
/**
* 守护之前
* @param context 上下文
* @param manager 管理器
* @param currentPath 当前路径
* @param currentResource 当前资源
* @override
*/
guardBefore(context: AccessContext, manager: AccessManager, currentPath: AccessPath, currentResource: AccessResource | null): void;
/**
* 守护之后
* @param context 上下文
* @param manager 管理器
* @param currentPath 当前路径
* @param currentResource 当前资源
* @param currentDecision 当前决策
* @override
*/
guardAfter(context: AccessContext, manager: AccessManager, currentPath: AccessPath, currentResource: AccessResource | null, currentDecision: AccessDecision): void;
}
/**
* NProgress 插件函数
* @param config NProgress 可选配置
* @param timeout 超时时间,默认 15 * 1000 毫秒
*/
export declare const nProgressAddon: (config?: Partial<NProgressOptions>, timeout?: number) => NProgressAddon;