Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import { Navigate, useLocation } from 'react-router-dom'; import { useAppDispatch, useAppSelector } from '@/store/storeHooks'; import { setting } from '@/config/setting'; // import { setPermission, getUserInfoHandler } from '@/store/actions/user'; import { getCurrentLocaRouter } from '@/utils/router'; const { loginInterception, title } = setting; export default function Auth({ children }: { children: any }) { const { pathname } = useLocation(); const dispatch = useAppDispatch(); const { accessToken, permissions } = useAppSelector((state: any) => state.login); const localRouter = getCurrentLocaRouter(pathname); // 窗口标题 document.title = (localRouter ? localRouter.title + '-' : '') + title; // 登录状态 if (accessToken) { // 登录状态到登录页自动呢跳转到首页 if (pathname === '/') return <Navigate to="/pad/home" replace />; // 获取权限 const hasPermissions = permissions && permissions.length; if (!hasPermissions) { // let permissionData; try { if (!loginInterception) { // settings.js loginInterception为false时,创建虚拟权限 // dispatch( // setPermission(['admin'], (data: any) => { // permissionData = data; // }) // ); } else { // dispatch( // getUserInfoHandler((data: any) => { // // eslint-disable-next-line no-unused-vars // permissionData = data; // }) // ); } } catch { console.log(22); } } return children; } if (pathname !== '/') return <Navigate to="/" replace />; return children; } |