AttendanceSystem.jsx 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import React, { useState, useEffect } from 'react';
  2. import { deviceApi } from '../api/deviceApi';
  3. const AttendanceSystem = () => {
  4. const [deviceInfo, setDeviceInfo] = useState(null);
  5. const [attendanceRecords, setAttendanceRecords] = useState([]);
  6. useEffect(() => {
  7. fetchDeviceInfo();
  8. fetchAttendanceRecords();
  9. }, []);
  10. const fetchDeviceInfo = async () => {
  11. try {
  12. const info = await deviceApi.getDeviceInfo();
  13. setDeviceInfo(info);
  14. } catch (error) {
  15. console.error('获取设备信息失败', error);
  16. }
  17. };
  18. const fetchAttendanceRecords = async () => {
  19. try {
  20. const endTime = new Date().toISOString();
  21. const startTime = new Date(new Date().setDate(new Date().getDate() - 7)).toISOString();
  22. const records = await deviceApi.getAttendanceRecords(startTime, endTime);
  23. setAttendanceRecords(records);
  24. } catch (error) {
  25. console.error('获取考勤记录失败', error);
  26. }
  27. };
  28. return (
  29. <div>
  30. <h2>考勤系统</h2>
  31. {deviceInfo && (
  32. <div>
  33. <h3>设备信息</h3>
  34. <p>设备ID: {deviceInfo.deviceId}</p>
  35. <p>设备名称: {deviceInfo.deviceName}</p>
  36. </div>
  37. )}
  38. <h3>考勤记录</h3>
  39. <ul>
  40. {attendanceRecords.map((record, index) => (
  41. <li key={index}>
  42. 人员ID: {record.personId}, 打卡时间: {record.timestamp}
  43. </li>
  44. ))}
  45. </ul>
  46. </div>
  47. );
  48. };
  49. export default AttendanceSystem;