name1.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import axios from "axios"
  2. import { WebSocket } from "ws"
  3. import { setTimeout } from "timers/promises"
  4. const {
  5. data: { access_token }
  6. } = await axios.post("http://8.149.128.251/api/auth/admin/login", {
  7. username: "admin",
  8. password: "r&po^a9$Nc2AP9",
  9. code: "123123",
  10. bindingCode: ""
  11. })
  12. const axiosInstance = axios.create({
  13. // baseURL: "http://47.98.225.28/api",
  14. // headers: {
  15. // Authorization: `Bearer ${access_token}`
  16. // }
  17. baseURL: "http://8.149.128.251/api",
  18. headers: {
  19. Authorization: `Bearer ${access_token}`
  20. }
  21. })
  22. const {
  23. data: { items: devices }
  24. } = await axiosInstance.post("/device", {
  25. page: { page: 1, limit: 1000 },
  26. search: { where: { online: true }, order: { name: "ASC" } }
  27. })
  28. const ws = new WebSocket("ws://121.40.132.44:6001")
  29. let xwDevices = []
  30. ws.onopen = async () => {
  31. console.log("Connected to WebSocket")
  32. await setTimeout(2000)
  33. let i = 0
  34. for (let device of devices) {
  35. ws.send(
  36. JSON.stringify({
  37. action: "updateDevices",
  38. devices: device.ip + ":5555",
  39. data: {
  40. sort: i++ + 600,
  41. name: device.name
  42. }
  43. })
  44. )
  45. await setTimeout(100)
  46. }
  47. }
  48. ws.onmessage = e => {
  49. const data = JSON.parse(e.data)
  50. if (data.code === 10000 && data.data instanceof Array) {
  51. xwDevices = data.data
  52. console.log("found " + xwDevices.length + " devices")
  53. }
  54. }