| | |
| | | import * as echarts from 'echarts'; |
| | | import { createDataReceiver } from '../utils/dataFetcher'; |
| | | |
| | | |
| | | const chartContainer = ref<HTMLElement | null>(null); |
| | | let chart: echarts.ECharts | null = null; |
| | | |
| | |
| | | chart?.resize(); |
| | | } |
| | | |
| | | // 定时获取数据 |
| | | let dataTimer: number | null = null; |
| | | |
| | | |
| | | onMounted(() => { |
| | | initChart(); |
| | | |
| | | const receiveData = createDataReceiver( (forceData) => { |
| | | createDataReceiver( (forceData) => { |
| | | console.log('forceData', forceData); |
| | | updateChart(forceData); |
| | | }); |
| | | |
| | | // 每100ms获取一次数据 |
| | | dataTimer = window.setInterval(receiveData, 100); |
| | | }); // 传递 isSerialPortConnected 函数 |
| | | |
| | | // 监听窗口大小变化,调整图表大小 |
| | | window.addEventListener('resize', handleResize); |
| | | }); |
| | | |
| | | onUnmounted(() => { |
| | | // 清理定时器和事件监听 |
| | | if (dataTimer !== null) { |
| | | clearInterval(dataTimer); |
| | | } |
| | | |
| | | window.removeEventListener('resize', handleResize); |
| | | |