fix: only show update to admin

This commit is contained in:
ckt1031 2023-08-09 23:28:10 +08:00
parent 067f994b5c
commit f5b1cb2c19

View File

@ -1,4 +1,4 @@
import React, { lazy, Suspense, useContext, useEffect } from 'react'; import React, { lazy, Suspense, useContext, useEffect, useState } from 'react';
import { Route, Routes } from 'react-router-dom'; import { Route, Routes } from 'react-router-dom';
import Loading from './components/Loading'; import Loading from './components/Loading';
import User from './pages/User'; import User from './pages/User';
@ -31,6 +31,7 @@ const Home = lazy(() => import('./pages/Home'));
const About = lazy(() => import('./pages/About')); const About = lazy(() => import('./pages/About'));
function App() { function App() {
const [serverStatus, setServerStatus] = useState(false);
const [userState, userDispatch] = useContext(UserContext); const [userState, userDispatch] = useContext(UserContext);
const [statusState, statusDispatch] = useContext(StatusContext); const [statusState, statusDispatch] = useContext(StatusContext);
@ -45,6 +46,7 @@ function App() {
const res = await API.get('/api/status'); const res = await API.get('/api/status');
const { success, data } = res.data; const { success, data } = res.data;
if (success) { if (success) {
setServerStatus(data);
localStorage.setItem('status', JSON.stringify(data)); localStorage.setItem('status', JSON.stringify(data));
statusDispatch({ type: 'set', payload: data }); statusDispatch({ type: 'set', payload: data });
localStorage.setItem('system_name', data.system_name); localStorage.setItem('system_name', data.system_name);
@ -57,15 +59,6 @@ function App() {
} else { } else {
localStorage.removeItem('chat_link'); localStorage.removeItem('chat_link');
} }
if (
data.version !== process.env.REACT_APP_VERSION &&
data.version !== 'v0.0.0' &&
process.env.REACT_APP_VERSION !== ''
) {
showNotice(
`新版本可用:${data.version},请使用快捷键 Shift + F5 刷新页面`
);
}
} else { } else {
showError('无法正常连接至服务器!'); showError('无法正常连接至服务器!');
} }
@ -87,6 +80,20 @@ function App() {
} }
}, []); }, []);
useEffect(() => {
if (userState.user && userState.user.role === 100) {
if (
serverStatus.version !== process.env.REACT_APP_VERSION &&
serverStatus.version !== 'v0.0.0' &&
process.env.REACT_APP_VERSION !== ''
) {
showNotice(
`新版本可用:${serverStatus.version},请使用快捷键 Shift + F5 刷新页面`
);
}
}
}, [statusState, serverStatus]);
return ( return (
<Routes> <Routes>
<Route <Route