diff --git a/web-react/src/pages/system/machine/base.jsx b/web-react/src/pages/system/machine/base.jsx index 9437b73..47403fe 100644 --- a/web-react/src/pages/system/machine/base.jsx +++ b/web-react/src/pages/system/machine/base.jsx @@ -13,7 +13,7 @@ export default class base extends Component { {hostName} diff --git a/web-react/src/pages/system/machine/index.jsx b/web-react/src/pages/system/machine/index.jsx index fa6a8a9..55155a3 100644 --- a/web-react/src/pages/system/machine/index.jsx +++ b/web-react/src/pages/system/machine/index.jsx @@ -21,8 +21,10 @@ export default class index extends Component { } async componentDidMount() { - const { data: base } = await api.sysMachineBase() - this.setState({ loading: false, base }) + try { + const { data: base } = await api.sysMachineBase() + this.setState({ loading: false, base }) + } catch {} } render() { diff --git a/web-react/src/pages/system/machine/use-charts.jsx b/web-react/src/pages/system/machine/use-charts.jsx index 2693159..22f903b 100644 --- a/web-react/src/pages/system/machine/use-charts.jsx +++ b/web-react/src/pages/system/machine/use-charts.jsx @@ -14,6 +14,8 @@ export default class useCharts extends Component { timer = null timerMoment = null + actived = true + systemStart = moment() now = Date.now() @@ -27,6 +29,7 @@ export default class useCharts extends Component { shouldComponentUpdate(props) { // 当前页签未选中时停止获取状态 if (this.props.actived !== props.actived) { + this.actived = props.actived if (props.actived) { this.start() } else { @@ -53,9 +56,7 @@ export default class useCharts extends Component { } start() { - this.timer = setInterval(() => { - this.refreshData() - }, 3000) + this.actived = true this.refreshData() this.timerMoment = setInterval(() => { this.setState({ nowMoment: moment() }) @@ -63,7 +64,8 @@ export default class useCharts extends Component { } stop() { - clearInterval(this.timer) + this.actived = false + clearTimeout(this.timer) clearInterval(this.timerMoment) } @@ -91,6 +93,11 @@ export default class useCharts extends Component { }) this.setState({ use }) + + if (this.actived) + this.timer = setTimeout(() => { + this.refreshData() + }, 3000) } initCpuChart() {