// @ts-ignore import React, { useEffect, Suspense, useMemo } from 'react'; // @ts-ignore import * as ReactDOM from 'react-dom'; // @ts-ignore import { YRouter } from '@ywfe/router'; // @ts-ignore import { useGetAPI22504 } from '@generated/API22504.ts'; // @ts-ignore import RootRouter from '@cli/@ywfe/yw-router'; // @ts-ignore import { routerConfig } from '@/vite-serve/index'; // @ts-ignore import { Switch, Route, BrowserRouter } from '@cli/react-router-dom'; import Container from './container'; const env = window.localStorage.getItem('env') // 17020002 和 1000两个code都表示token失效 const isTokenLose = (code) => code === 17020002 || code === 1000; const getToken = () => { const url = new URL(window.location.href); const token = url.searchParams.get('token') || window.localStorage.getItem('token') || '' return token; }; const redirectLogin = () => { window.location.href = `https://yun-${env}.ywwl.com/login?redirectUrl=${window.location.origin}`; }; const fetchInfo = () => { fetch( `https://${env}-gateway.ywwl.com/ywwl-admin/user/current/info`, { headers: { 'X-TOKEN': getToken(), }, } ) .then((res) => res.json()) .then((res) => { if (isTokenLose(res.code)) { return redirectLogin(); } window.localStorage.setItem('token', getToken() ); window.localStorage.setItem( 'userId', res && res.data && res.data.userId ); ReactDOM.render( {/* @ts-ignore */} , document.getElementById('app'), ); }); }; if (!getToken()) { redirectLogin(); } else { fetchInfo(); } // @ts-ignore const App: React.FC = ({ pathName }) => { const [noMenu, setNoMenu] = React.useState(false); const target = useMemo(() => { return Object.keys(routerConfig)?.find(route => route === pathName); }, [pathName]); useEffect(() => { // 是否要展示菜单, 默认本地启动有侧边菜单 const noMenu = localStorage.getItem('VITE_SERVE_HAS_MENU') === 'false'; setNoMenu(noMenu); }, []); return ( Loading...}> {noMenu ? ( <> {target ? {Object.keys(routerConfig).map(key => { return ( ( )} /> ); })} :
未定义路由,访问地址请带上当前项目下的页面路由
} ) : ( <> )}
); };