forwardStore.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { defineStore } from 'pinia'
  2. export const useForwardStore = defineStore('forward', {
  3. state: () => ({
  4. // 转发配置状态
  5. serialToMQTT: true, // 串口数据转发到MQTT
  6. mqttToSerial: true // MQTT数据转发到串口
  7. }),
  8. actions: {
  9. // 设置串口到MQTT的转发状态
  10. setSerialToMQTT(value) {
  11. this.serialToMQTT = value
  12. },
  13. // 设置MQTT到串口的转发状态
  14. setMQTTToSerial(value) {
  15. this.mqttToSerial = value
  16. },
  17. // 切换串口到MQTT的转发状态
  18. toggleSerialToMQTT() {
  19. this.serialToMQTT = !this.serialToMQTT
  20. },
  21. // 切换MQTT到串口的转发状态
  22. toggleMQTTToSerial() {
  23. this.mqttToSerial = !this.mqttToSerial
  24. },
  25. // 获取完整的转发配置
  26. getForwardConfig() {
  27. return {
  28. serial_to_mqtt: this.serialToMQTT,
  29. mqtt_to_serial: this.mqttToSerial
  30. }
  31. },
  32. // 从API返回的数据中更新状态
  33. updateFromAPIResponse(data) {
  34. if (data.serial_to_mqtt !== undefined) {
  35. this.serialToMQTT = data.serial_to_mqtt
  36. }
  37. if (data.mqtt_to_serial !== undefined) {
  38. this.mqttToSerial = data.mqtt_to_serial
  39. }
  40. }
  41. }
  42. })