connect_event.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // 枚举定义
  2. const EnumConnectStatus = {
  3. connecting: 'connecting',
  4. connected: 'connected',
  5. disconnected: 'disconnected',
  6. connectFail: 'connectFail'
  7. };
  8. // todo 设备实体类
  9. class DeviceBean {
  10. // 假设 DeviceBean 有以下属性
  11. constructor({ id, name, type }) {
  12. this.id = id;
  13. this.name = name;
  14. this.type = type;
  15. }
  16. toString() {
  17. return `DeviceBean{id: ${this.id}, name: ${this.name}, type: ${this.type}}`;
  18. }
  19. }
  20. // 连接事件类
  21. class ConnectEvent {
  22. constructor({ status, device }) {
  23. this.status = status;
  24. this.device = device;
  25. }
  26. static connecting() {
  27. return new ConnectEvent({ status: EnumConnectStatus.connecting });
  28. }
  29. static success() {
  30. return new ConnectEvent({ status: EnumConnectStatus.connected });
  31. }
  32. static disconnect() {
  33. return new ConnectEvent({ status: EnumConnectStatus.disconnected });
  34. }
  35. static fail() {
  36. return new ConnectEvent({ status: EnumConnectStatus.connectFail });
  37. }
  38. toString() {
  39. return `ConnectEvent{status: ${this.status}, device: ${this.device ? this.device.toString() : 'null'}}`;
  40. }
  41. }