|
@ -26,7 +26,7 @@ let scrollbar |
|
|
const LayoutContainer = props => { |
|
|
const LayoutContainer = props => { |
|
|
const { |
|
|
const { |
|
|
dispatch, msg, user, copyright, children, sections, clientWidth, clientHeight, |
|
|
dispatch, msg, user, copyright, children, sections, clientWidth, clientHeight, |
|
|
location, match, routes, history |
|
|
location, match, routes, history, authCrossLoading |
|
|
} = props |
|
|
} = props |
|
|
const [collapsed, setCollapsed] = useState(false) |
|
|
const [collapsed, setCollapsed] = useState(false) |
|
|
|
|
|
|
|
@ -40,8 +40,6 @@ const LayoutContainer = props => { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
useEffect(() => { |
|
|
scrollbar = new PerfectScrollbar('#page-content', { suppressScrollX: true }); |
|
|
|
|
|
|
|
|
|
|
|
window.addEventListener('resize', resize_); |
|
|
window.addEventListener('resize', resize_); |
|
|
return () => { |
|
|
return () => { |
|
|
window.removeEventListener('resize', resize_); |
|
|
window.removeEventListener('resize', resize_); |
|
@ -50,7 +48,7 @@ const LayoutContainer = props => { |
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
useEffect(() => { |
|
|
NProgress.done(); |
|
|
NProgress.done(); |
|
|
if (!user || !user.authorized) { |
|
|
if ((!user || !user.authorized) && !authCrossLoading) { |
|
|
history.push('/signin'); |
|
|
history.push('/signin'); |
|
|
} |
|
|
} |
|
|
if (msg) { |
|
|
if (msg) { |
|
@ -71,13 +69,27 @@ const LayoutContainer = props => { |
|
|
} |
|
|
} |
|
|
const dom = document.getElementById('page-content'); |
|
|
const dom = document.getElementById('page-content'); |
|
|
if (dom) { |
|
|
if (dom) { |
|
|
|
|
|
if (!scrollbar) { |
|
|
|
|
|
scrollbar = new PerfectScrollbar('#page-content', { suppressScrollX: true }); |
|
|
|
|
|
} else { |
|
|
scrollbar.update(); |
|
|
scrollbar.update(); |
|
|
dom.scrollTop = 0; |
|
|
dom.scrollTop = 0; |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
return ( |
|
|
return ( |
|
|
<Layout id="layout"> |
|
|
<Layout id="layout"> |
|
|
|
|
|
{ |
|
|
|
|
|
authCrossLoading ? |
|
|
|
|
|
<div style={{ |
|
|
|
|
|
position: 'absolute', height: '100%', width: '100%', |
|
|
|
|
|
display: 'flex', alignItems: 'center', placeContent: 'center', |
|
|
|
|
|
}}> |
|
|
|
|
|
载入中... |
|
|
|
|
|
</div> |
|
|
|
|
|
: |
|
|
|
|
|
<> |
|
|
<Layout.Header> |
|
|
<Layout.Header> |
|
|
<Header |
|
|
<Header |
|
|
user={user} |
|
|
user={user} |
|
@ -123,6 +135,8 @@ const LayoutContainer = props => { |
|
|
</div> |
|
|
</div> |
|
|
</Layout.Content> |
|
|
</Layout.Content> |
|
|
</Layout> |
|
|
</Layout> |
|
|
|
|
|
</> |
|
|
|
|
|
} |
|
|
</Layout > |
|
|
</Layout > |
|
|
) |
|
|
) |
|
|
} |
|
|
} |
|
|