seeder-st2110-components 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { memo, useState, useCallback, useEffect, useMemo, useRef } from 'react';
1
+ import { memo, useState, useCallback, useMemo, useEffect, useRef } from 'react';
2
2
  import { Tooltip, Space, Flex, Divider, App, Modal, Form, Input, Alert, message, Dropdown, Spin, InputNumber, ConfigProvider, Badge, Switch, Select, Typography, List, Empty, Button, Checkbox, Row, Col } from 'antd';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
  import { useWebSocket, useInterval } from 'ahooks';
@@ -108,42 +108,44 @@ const UsageItem = /*#__PURE__*/memo(_ref => {
108
108
  var UsageItem$1 = UsageItem;
109
109
 
110
110
  const useHardwareWebSocket = socketUrl => {
111
- // cpu_percent cpu使用率
112
- // cpu_freq.current cpu频率
113
- // mem.percent 内存使用率
114
- // sensors_temperatures.coretemp[0].current cpu温度
115
- // gpu_stats[0]["utilization.gpu"] gpu使用率
116
- // 若机器没有显卡,gpu_stats数组为空
117
-
118
111
  const [systemStatus, setSystemStatus] = useState();
119
-
120
- // ## 获取系统资源使用情况
121
- const {
122
- latestMessage
123
- } = useWebSocket(socketUrl);
124
112
  const handleMessage = useCallback(message => {
125
113
  try {
126
114
  if (message) {
127
- setSystemStatus(prev => _objectSpread2(_objectSpread2(_objectSpread2({}, prev), message), {}, {
128
- lastUpdated: Date.now() // 添加更新时间戳
129
- }));
115
+ setSystemStatus(prev => _objectSpread2(_objectSpread2({}, prev), message));
130
116
  }
131
117
  } catch (error) {
132
118
  console.error('Message processing error:', error);
133
119
  }
134
120
  }, []);
135
121
 
136
- // 监听消息 如果latestMessage变化,说明有新消息
137
- useEffect(() => {
138
- if (!(latestMessage !== null && latestMessage !== void 0 && latestMessage.data)) return;
139
- try {
140
- const parsedMessage = JSON.parse(latestMessage.data);
141
- handleMessage(parsedMessage);
142
- } catch (error) {
143
- console.error('Message parsing error:', error);
144
- console.debug('Raw message:', latestMessage.data);
122
+ // ## 获取系统资源使用情况
123
+ useWebSocket(socketUrl, {
124
+ onMessage: event => {
125
+ // 处理实时消息
126
+ try {
127
+ const parsedMessage = JSON.parse(event.data);
128
+ handleMessage(parsedMessage);
129
+ } catch (error) {
130
+ console.error('Message parsing error:', error);
131
+ console.debug('Raw message:', event.data);
132
+ }
145
133
  }
146
- }, [latestMessage === null || latestMessage === void 0 ? void 0 : latestMessage.data, handleMessage]);
134
+ });
135
+
136
+ // // 监听消息 latestMessage 只用于非实时需求
137
+ // useEffect(() => {
138
+ // if (!latestMessage?.data) return;
139
+
140
+ // try {
141
+ // const parsedMessage = JSON.parse(latestMessage.data);
142
+ // handleMessage(parsedMessage);
143
+ // } catch (error) {
144
+ // console.error('Message parsing error:', error);
145
+ // console.debug('Raw message:', latestMessage.data);
146
+ // }
147
+ // }, [latestMessage?.data, handleMessage]);
148
+
147
149
  return {
148
150
  ps_status: systemStatus
149
151
  };