devices.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const express = require('express');
  2. const router = express.Router();
  3. const Device = require('../models/Device');
  4. // 获取所有设备
  5. router.get('/', async (req, res) => {
  6. try {
  7. const devices = await Device.find();
  8. res.json(devices);
  9. } catch (err) {
  10. res.status(500).json({ message: err.message });
  11. }
  12. });
  13. // 添加新设备
  14. router.post('/', async (req, res) => {
  15. const device = new Device({
  16. deviceId: req.body.deviceId,
  17. name: req.body.name
  18. });
  19. try {
  20. const newDevice = await device.save();
  21. res.status(201).json(newDevice);
  22. } catch (err) {
  23. res.status(400).json({ message: err.message });
  24. }
  25. });
  26. // 更新设备状态
  27. router.patch('/:deviceId', async (req, res) => {
  28. try {
  29. const device = await Device.findOne({ deviceId: req.params.deviceId });
  30. if (!device) {
  31. return res.status(404).json({ message: '设备不存在' });
  32. }
  33. if (req.body.status) {
  34. device.status = req.body.status;
  35. }
  36. device.lastSeen = new Date();
  37. const updatedDevice = await device.save();
  38. res.json(updatedDevice);
  39. } catch (err) {
  40. res.status(400).json({ message: err.message });
  41. }
  42. });
  43. module.exports = router;