25 lines
832 B
JavaScript
25 lines
832 B
JavaScript
// src/routes/constants/protectionWrappers.js
|
|
// 路由保护包装器映射表
|
|
|
|
import ProtectedRoute from '@components/ProtectedRoute';
|
|
import ProtectedRouteRedirect from '@components/ProtectedRouteRedirect';
|
|
import { PROTECTION_MODES } from '../routeConfig';
|
|
|
|
/**
|
|
* 保护模式包装器映射表
|
|
*
|
|
* 根据路由的保护模式选择对应的保护组件。
|
|
* 支持以下保护模式:
|
|
* - MODAL: 弹窗登录模式 (ProtectedRoute)
|
|
* - REDIRECT: 跳转登录模式 (ProtectedRouteRedirect)
|
|
* - PUBLIC: 公开访问,无保护 (无包装器)
|
|
*
|
|
* @example
|
|
* const WrapperComponent = PROTECTION_WRAPPER_MAP[PROTECTION_MODES.MODAL];
|
|
* // 返回 ProtectedRoute 组件
|
|
*/
|
|
export const PROTECTION_WRAPPER_MAP = {
|
|
[PROTECTION_MODES.MODAL]: ProtectedRoute,
|
|
[PROTECTION_MODES.REDIRECT]: ProtectedRouteRedirect,
|
|
};
|