11import React , { useEffect , useState } from 'react' ;
2- import { BrowserRouter , Navigate , Route , Routes , useLocation , useNavigate , Outlet } from 'react-router-dom' ;
2+ import { Navigate , Route , Routes , useLocation , useNavigate , Outlet } from 'react-router-dom' ;
33import { createWithRemoteLoader } from '@kne/remote-loader' ;
44import ensureSlash from '@kne/ensure-slash' ;
55import { Result , FloatButton } from 'antd' ;
@@ -41,73 +41,31 @@ const MainLayout = createWithRemoteLoader({
4141 } } > < Outlet /> </ Layout > </ Global > ;
4242} ) ;
4343
44- const PostCat = createWithRemoteLoader ( {
45- modules : [ "components-function:PostCat" , "components-function:PostCat@defaultApis" ]
46- } ) ( ( remoteModules , preset , projectName ) => {
47- const [ PostCat , defaultApis ] = remoteModules ;
48- useEffect ( ( ) => {
49- if ( ! preset . ajax ) {
50- return ;
51- }
52- preset . ajax . interceptors . request . use ( ( config ) => {
53- config . startTime = new Date ( ) ;
54- return config ;
55- } ) ;
56- preset . ajax . interceptors . response . use ( ( response ) => {
57- ! / ^ \/ n o d e - a p i \/ / . test ( response . config . url ) && preset . ajax ( {
58- url : '/node-api/api-manager/history/add' , method : 'POST' , data : {
59- url : response . config . url , props : {
60- request : {
61- method : response . config . method ,
62- headers : response . config . headers ,
63- data : response . config . data ,
64- params : response . config . params ,
65- baseUrl : response . config . baseURL
66- } , response : {
67- data : response . data ,
68- headers : response . headers ,
69- status : response . status ,
70- statusText : response . statusText
71- }
72- } , duration : ( new Date ( ) ) - response . config . startTime , projectTag : projectName
73- } , showError : false
74- } ) ;
75- return response ;
76- } ) ;
77- } , [ preset . ajax ] ) ;
78- return < PostCat apis = { defaultApis } tag = { projectName } /> ;
79- } ) ;
80-
81- const ExampleRoutes = ( { preset, themeToken, projectName, paths, readme, pageProps, children, ...props } ) => {
44+ const ExampleRoutes = ( {
45+ preset, themeToken, projectName, paths = [ {
46+ key : 'index' , path : '/' , title : '首页'
47+ } , {
48+ key : 'components' , path : '/components' , title : '组件'
49+ } , {
50+ key : 'postcat' , path : '/postcat' , title : '接口'
51+ } ] , readme, pageProps, children, ...props
52+ } ) => {
8253 const componentsPath = paths . find ( ( item ) => item . key === 'components' ) ;
8354 const componentsBaseUrl = ensureSlash ( get ( componentsPath , 'path' , '/' ) , true ) ;
84- const postcatPath = paths . find ( ( item ) => item . key === 'postcat' ) ;
85- const postcatUrl = get ( postcatPath , 'path' , '/postcat' ) ;
8655 return < Routes >
8756 < Route element = { < MainLayout paths = { paths } preset = { preset } themeToken = { themeToken } { ...props } /> } >
8857 { componentsPath &&
8958 < Route path = { componentsBaseUrl } element = { < ModulesIsEmpty baseUrl = { componentsBaseUrl } readme = { readme } /> } >
90- < Route path = ":id" element = { < Example baseUrl = { componentsBaseUrl } readme = { readme } pageProps = { pageProps } /> } />
91- < Route path = ":id/*" element = { < Example baseUrl = { componentsBaseUrl } readme = { readme } pageProps = { pageProps } /> } />
59+ < Route path = ":id"
60+ element = { < Example baseUrl = { componentsBaseUrl } readme = { readme } pageProps = { pageProps } /> } />
61+ < Route path = ":id/*"
62+ element = { < Example baseUrl = { componentsBaseUrl } readme = { readme } pageProps = { pageProps } /> } />
9263 </ Route > }
93- { postcatPath && < Route path = { postcatUrl }
94- element = { projectName ? < PostCat preset = { preset } projectName = { projectName } /> :
95- < Result status = '404' title = "请传入projectName以开启PostCat" /> } /> }
9664 </ Route >
9765 < Route path = '*' element = { children } />
9866 </ Routes >
9967} ;
10068
101- ExampleRoutes . defaultProps = {
102- paths : [ {
103- key : 'index' , path : '/' , title : '首页'
104- } , {
105- key : 'components' , path : '/components' , title : '组件'
106- } , {
107- key : 'postcat' , path : '/postcat' , title : '接口'
108- } ]
109- } ;
110-
11169
11270const createEntry = ( WrappedComponents ) => ( ( { remoteModules, preset, projectName, themeToken, pageProps, ...props } ) => {
11371 const [ readme , setReadme ] = useState ( { } ) ;
@@ -123,9 +81,7 @@ const createEntry = (WrappedComponents) => (({remoteModules, preset, projectName
12381 key : 'index' , path : '/' , title : '首页'
12482 } , {
12583 key : 'components' , path : '/modules-dev-components' , title : '组件'
126- } , ...( [ projectName ? {
127- key : 'postcat' , path : '/modules-dev-postcat' , title : '接口'
128- } : [ ] ] ) ] }
84+ } ] }
12985 themeToken = { themeToken } >
13086 < WrappedComponents { ...props } /> < EntryButton />
13187 </ ExampleRoutes > : < WrappedComponents { ...props } /> }
0 commit comments