@xnomi/router-guard
Version:
44 lines (43 loc) • 1.3 kB
TypeScript
/**
* @module router-guard 路由拦截器
*/
import { NavigationGuardNext, RouteLocationNormalized, Router } from 'vue-router';
export type BeforeMiddlewareFn = (to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) => void;
export type AfterMiddlewareFn = (to: RouteLocationNormalized, from: RouteLocationNormalized, next: (flag?: boolean) => void) => void;
type Hook = 'beforeEach' | 'beforeResolve' | 'afterEach';
declare class LifecycleHook {
private hook;
constructor(hook: Hook);
/**
* 收集前置路由守卫中间件
*/
private beforeQueue;
/**
* 收集后置路由守卫中间件
*/
private afterQueue;
private registered;
/**
* 运行前置钩子中间件
*/
private runBefore;
/**
* 运行后置钩子中间件
*/
private runAfter;
/**
* 采集中间件
*/
use(...args: BeforeMiddlewareFn[] | AfterMiddlewareFn[]): void;
/**
* 注册路由守卫
*/
register(router: Router): void;
}
/**
* 导出路由守卫处理器
*/
export declare const beforeEachHook: LifecycleHook;
export declare const beforeResolveHook: LifecycleHook;
export declare const afterEachHook: LifecycleHook;
export {};