mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-07 22:49:26 +08:00
59 lines
1.1 KiB
TypeScript
59 lines
1.1 KiB
TypeScript
import { useRequest } from 'ahooks';
|
|
import { Spin } from 'antd';
|
|
import React, { useMemo } from 'react';
|
|
import {
|
|
MemoryRouter as Router,
|
|
} from 'react-router-dom';
|
|
import {
|
|
createRouteSwitch,
|
|
RouteRedirectProps,
|
|
AdminLayout,
|
|
AuthLayout,
|
|
RouteSchemaRenderer,
|
|
} from '../';
|
|
import { UseRequestProvider } from 'ahooks';
|
|
import { extend } from 'umi-request';
|
|
|
|
const request = extend({
|
|
prefix: 'http://localhost:23003/api/',
|
|
timeout: 1000,
|
|
});
|
|
|
|
const RouteSwitch = createRouteSwitch({
|
|
components: {
|
|
AdminLayout,
|
|
AuthLayout,
|
|
RouteSchemaRenderer,
|
|
},
|
|
});
|
|
|
|
const App = () => {
|
|
const { data, loading } = useRequest('routes:getAccessible', {
|
|
formatResult: (result) => result?.data,
|
|
});
|
|
|
|
if (loading) {
|
|
return <Spin/>
|
|
}
|
|
|
|
return (
|
|
<div>
|
|
<Router initialEntries={['/login']}>
|
|
<RouteSwitch routes={data} />
|
|
</Router>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default () => {
|
|
return (
|
|
<UseRequestProvider
|
|
value={{
|
|
requestMethod: (service) => request(service),
|
|
}}
|
|
>
|
|
<App />
|
|
</UseRequestProvider>
|
|
);
|
|
}
|