modifierModule.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { io } from "socket.io-client"
  2. import axios from "axios"
  3. import { setTimeout } from "timers/promises"
  4. import chalk from "chalk"
  5. const axiosInstance = axios.create({
  6. baseURL: "http://47.98.225.28/api",
  7. headers: {
  8. Authorization:
  9. "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InpvdW1hQWRtaW4iLCJzdWIiOjEsInJvbGVzIjpbImFkbWluIl0sImlhdCI6MTcyNjU4MTk1OH0.dQiHFYaDDa1qp4OpEHaH5SCZ9dafJ8uO9fAAc8HZgAo"
  10. }
  11. })
  12. const {
  13. data: { items: devices }
  14. } = await axiosInstance.post("/device", {
  15. page: { page: 1, limit: 1000 },
  16. search: { where: { online: true }, order: { name: "ASC" } }
  17. })
  18. for (let device of devices) {
  19. try {
  20. const {
  21. data: { out }
  22. } = await axiosInstance.post(
  23. `/device/${device.id}/sendMessage`,
  24. {
  25. action: "runScript",
  26. data: {
  27. script: "dumpsys package com.example.modifiermodule | grep versionName"
  28. }
  29. },
  30. {
  31. timeout: 2000
  32. }
  33. )
  34. if (!out.includes("versionName=1.0.1")) {
  35. console.log(chalk.blue(device.id, device.name, "update"))
  36. // axiosInstance
  37. // .post(
  38. // `/device/${device.id}/sendMessage`,
  39. // {
  40. // action: "installApk",
  41. // data: {
  42. // apkUrl: "https://nebuai.oss-cn-hangzhou.aliyuncs.com/application/20241016/iblg9jp0.apk"
  43. // }
  44. // },
  45. // {
  46. // timeout: 180000
  47. // }
  48. // )
  49. // .catch(e => console.log(e.message))
  50. } else {
  51. console.log(device.id, device.name, "OK")
  52. }
  53. } catch (e) {
  54. console.log(device.id, device.name, e.message)
  55. }
  56. }