消毒机设备
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.7 KiB

  1. import { useHomeStore } from 'stores/homeStore'
  2. import { useLiquidStore } from 'stores/liquidStore'
  3. import { sendCmd } from '@/apis/system'
  4. import { useDeviceStore } from './deviceStore'
  5. const homeStore = useHomeStore()
  6. const deviceStore = useDeviceStore()
  7. const liquidStore = useLiquidStore()
  8. export const initData = async () => {
  9. // 初始化消毒液桶数据
  10. await initLiquidConfig()
  11. // 轮询设备状态、消毒状态、消毒液使用状态
  12. // setInterval(() => {
  13. // }, 1000)
  14. await initBaseData()
  15. }
  16. const initLiquidConfig = async () => {
  17. const params = {
  18. className: 'AddLiquidService',
  19. fnName: 'getServiceConfig',
  20. params: {},
  21. }
  22. const liquidConfig = await sendCmd(params)
  23. liquidStore.initLiquidConfig(liquidConfig)
  24. }
  25. const initBaseData = async () => {
  26. const envParams = {
  27. fnName: 'readH2O2SensorData',
  28. className: 'FrontEndRealtimeDisplayContentMgr',
  29. params: {},
  30. }
  31. const resData = await sendCmd(envParams)
  32. if (resData.val.length) {
  33. homeStore.updateHomeData(resData.val)
  34. }
  35. // 获取消毒时状态
  36. const disinfectionParams = {
  37. className: 'DisinfectionCtrlServiceExt',
  38. fnName: 'getState',
  39. params: {},
  40. }
  41. const disinfectionData = await sendCmd(disinfectionParams)
  42. homeStore.updateHomeDisinfectionState(disinfectionData)
  43. // 消毒液使用状态
  44. const liquidParams = {
  45. fnName: 'getState',
  46. className: 'AddLiquidService',
  47. params: {},
  48. }
  49. const liquidData = await sendCmd(liquidParams)
  50. liquidStore.updateLiquidState(liquidData)
  51. const deviceParams = {
  52. className: 'AppCore',
  53. fnName: 'getState',
  54. params: {},
  55. }
  56. // 当前设备状态
  57. const deviceData = await sendCmd(deviceParams)
  58. deviceStore.setDeviceState(deviceData)
  59. }