@gulibs/react-autoroutes-client
Version:
Client-side utilities for React auto routes
73 lines • 2.13 kB
TypeScript
/**
* 客户端运行时执行器
* 处理守卫、中间件和认证的执行逻辑
*/
import type { AuthOptions, GuardOptions, MiddlewareOptions } from './types';
/**
* 路由运行时上下文
*/
export interface RouteRuntimeContext {
path: string;
params: Record<string, string>;
query: Record<string, string>;
user?: any;
permissions?: string[];
roles?: string[];
data: Record<string, any>;
headers?: Record<string, string>;
}
/**
* 执行结果
*/
export interface ExecutionResult {
success: boolean;
allowed: boolean;
redirectTo?: string;
errorMessage?: string;
error?: string;
}
/**
* 守卫执行结果
*/
export interface GuardResult extends ExecutionResult {
guardName: string;
}
/**
* 运行时执行器
*/
export declare class RuntimeExecutor {
/**
* 执行认证守卫
*/
static executeAuth(authConfig: AuthOptions, context: RouteRuntimeContext): Promise<ExecutionResult>;
/**
* 执行路由守卫
*/
static executeGuard(guardConfig: GuardOptions, context: RouteRuntimeContext): Promise<GuardResult>;
/**
* 执行中间件
*/
static executeMiddleware(middlewareConfig: MiddlewareOptions, context: RouteRuntimeContext, next: () => Promise<void> | void): Promise<void>;
/**
* 执行中间件链
*/
static executeMiddlewareChain(middlewares: MiddlewareOptions[], context: RouteRuntimeContext, finalHandler: () => Promise<void> | void): Promise<void>;
/**
* 执行守卫链
*/
static executeGuardChain(guards: (AuthOptions | GuardOptions)[], context: RouteRuntimeContext): Promise<ExecutionResult>;
/**
* 清理缓存
*/
static clearCache(): void;
/**
* 获取性能统计
*/
static getPerformanceStats(): Record<string, any>;
}
/**
* 创建运行时上下文
*/
export declare function createRuntimeContext(path: string, params?: Record<string, string>, query?: Record<string, string>, user?: any, additionalData?: Record<string, any>): RouteRuntimeContext;
export default RuntimeExecutor;
//# sourceMappingURL=runtime.d.ts.map