import React, { useEffect, useState } from 'react'; import * as datav from '@jiaminghi/data-view-react'; import styles from './sliderData.less'; import { connect } from '@@/plugin-dva/exports'; // import { JSONPath } from 'jsonpath-plus'; interface propsData { data: any; MQTTMessage: any; } /** * 底部轮播 * @constructor */ const SliderData: React.FC = (props) => { // const { data, MQTTMessage } = props; const { data } = props; const [voltage, setVoltage] = useState({ ua: 0 }); const [current, setCurrent] = useState({ ia: 0 }); const [activePower, setActivePower] = useState({ active_power: 0 }); const [controlData, setControlData] = useState({ power: data.power ? data.power : 0, mode: data.mode, set_temp: data.set_temp, temperature: data.temperature, humidity: data.humidity, air_quality: data.air_quality, co2: data.co2, }); // 回头删掉 useEffect(() => { setCurrent({ ia: 0 }); setVoltage({ ua: 0 }); setActivePower({ active_power: 0 }); setControlData({ power: data.power ? data.power : 0, mode: data.mode, set_temp: data.set_temp, temperature: data.temperature, humidity: data.humidity, air_quality: data.air_quality, co2: data.co2, }); }, []); // useEffect(() => { // // 电 // if ( // MQTTMessage.message?.DeviceCode === 'DT645-4G' && // MQTTMessage.message?.SubDeviceId !== '' && // data.electric_id !== '' && // MQTTMessage.message?.SubDeviceId === data.electric_id // ) { // // 电压 // if (Object.keys(MQTTMessage.message.Data)[0] === 'voltage') { // setVoltage({ ua: JSONPath({ json: MQTTMessage.message.Data, path: '$.voltage.ua' })[0] }); // } // // 电流 // if (Object.keys(MQTTMessage.message.Data)[0] === 'current') { // setCurrent({ ia: JSONPath({ json: MQTTMessage.message.Data, path: '$.current.ia' })[0] }); // } // // 用电量 // if (Object.keys(MQTTMessage.message.Data)[0] === 'power') { // setActivePower({ // active_power: JSONPath({ // json: MQTTMessage.message.Data, // path: '$.power.active_power', // })[0], // }); // } // } // // //温湿度等 // if ( // MQTTMessage.message?.DeviceCode === data.device_id && // MQTTMessage.message?.SubDeviceId === '' // ) { // setControlData({ // power: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.power' })[0], // mode: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.mode' })[0], // set_temp: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.set_temp' })[0], // temperature: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.temperature' })[0], // humidity: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.humidity' })[0], // air_quality: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.air_quality' })[0], // co2: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.co2' })[0], // }); // } // }, [MQTTMessage.message?.DeviceCode && MQTTMessage.message?.SubDeviceId]); const handleCo2Grade = (co2: number) => { if (co2 >= 0 && co2 < 800) { return '#90c456'; } if (co2 >= 800 && co2 < 1600) { return '#eceb3b'; } if (co2 >= 1600) { return '#e4151b'; } return ''; }; const handlePm25Grade = (pm25: number) => { if (pm25 >= 0 && pm25 <= 50) { return '#90c456'; } if (pm25 > 50 && pm25 < 150) { return '#eceb3b'; } if (pm25 >= 150) { return '#e4151b'; } return ''; }; return (
{data?.home_name ? data?.home_name : '我的家'}
管理员 {data?.admin}
是否在线 {/*{data?.is_online ? '在线' : '离线'}*/} 在线
运行状态 {{ 0: '关', 1: '开' }[controlData.power]}
模式 {{ 0: '制冷', 1: '制热', 2: '除湿', 3: '送风', 4: '加湿' }[controlData?.mode]}
设定温度
{controlData?.set_temp}°C
室内温度
{controlData?.temperature}°C
湿度
{controlData?.humidity}%rh
PM25
{controlData?.air_quality}μg/m³
CO2
{controlData?.co2}
用电量
{activePower?.active_power}kwh
电压
{voltage?.ua}V
电流
{current?.ia}A
); }; export default connect(({ MQTTMessage }: any) => ({ MQTTMessage, }))(SliderData);