/** * VGrove 标准化 Loader 工具 * 提供基于 React Router v6+ loader 模式的标准化认证和权限检查 * 替代原有的 RouteProtectionWrapper、RuntimeExecutor 等复杂系统 */ import { type LoaderFunction } from 'react-router'; import type { BaseUser } from './types'; /** * 认证检查函数类型 */ export type AuthCheck = () => Promise | TUser | null; /** * 角色检查函数类型 */ export type RoleCheck = (user: TUser, requiredRoles: string[]) => boolean; /** * 权限检查函数类型 */ export type PermissionCheck = (user: TUser, requiredPermissions: string[]) => boolean; /** * Loader 配置选项 */ export interface LoaderOptions { /** 认证检查函数 */ authCheck?: AuthCheck; /** 角色检查函数 */ roleCheck?: RoleCheck; /** 权限检查函数 */ permissionCheck?: PermissionCheck; /** 未认证时的重定向路径 */ loginPath?: string; /** 权限不足时的重定向路径 */ forbiddenPath?: string; /** 公共路径列表(无需认证) */ publicPaths?: string[]; } /** * 配置全局 loader 选项 */ export declare function configureLoaders(options: LoaderOptions): void; /** * 创建认证 loader * 检查用户是否已认证,未认证则重定向到登录页 */ export declare function createAuthLoader(options?: Partial>): LoaderFunction; /** * 创建角色检查 loader * 检查用户是否具有所需角色 */ export declare function createRoleLoader(requiredRoles: string[], options?: Partial>): LoaderFunction; /** * 创建权限检查 loader * 检查用户是否具有所需权限 */ export declare function createPermissionLoader(requiredPermissions: string[], options?: Partial>): LoaderFunction; /** * 创建组合 loader * 同时检查认证、角色和权限 */ export declare function createCombinedLoader(config: { roles?: string[]; permissions?: string[]; requireAll?: boolean; }, options?: Partial>): LoaderFunction; /** * 创建自定义 loader * 允许用户定义自己的检查逻辑 */ export declare function createCustomLoader(checkFunction: (user: TUser, request: Request) => Promise | boolean, options?: Partial>): LoaderFunction; /** * 组合多个 loader * 按顺序执行多个 loader,任何一个失败都会中断 */ export declare function combineLoaders(...loaders: LoaderFunction[]): LoaderFunction; //# sourceMappingURL=loaders.d.ts.map