protocol-mode.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. const PROTOCOL_MODE = {
  2. MODBUS_RTU: 'modbus-rtu',
  3. NONE: 'none',
  4. STORAGE_ACCESS: 'storage-access'
  5. }
  6. const PROTOCOL_OPTIONS = [
  7. { key: PROTOCOL_MODE.NONE, label: '无协议' },
  8. { key: PROTOCOL_MODE.STORAGE_ACCESS, label: '存储访问' },
  9. { key: PROTOCOL_MODE.MODBUS_RTU, label: '标准Modbus' }
  10. ]
  11. const DEFAULT_PROTOCOL_MODE = PROTOCOL_MODE.STORAGE_ACCESS
  12. function normalizeProtocolMode(value, fallback = DEFAULT_PROTOCOL_MODE) {
  13. const key = String(value || '').trim()
  14. const matched = PROTOCOL_OPTIONS.find((option) => option.key === key)
  15. if (matched) return matched.key
  16. return fallback
  17. }
  18. function isModbusProtocolMode(value) {
  19. return normalizeProtocolMode(value) === PROTOCOL_MODE.MODBUS_RTU
  20. }
  21. function isStorageAccessProtocolMode(value) {
  22. return normalizeProtocolMode(value) === PROTOCOL_MODE.STORAGE_ACCESS
  23. }
  24. function isNoProtocolMode(value) {
  25. return normalizeProtocolMode(value) === PROTOCOL_MODE.NONE
  26. }
  27. module.exports = {
  28. DEFAULT_PROTOCOL_MODE,
  29. PROTOCOL_MODE,
  30. PROTOCOL_OPTIONS,
  31. isModbusProtocolMode,
  32. isNoProtocolMode,
  33. isStorageAccessProtocolMode,
  34. normalizeProtocolMode
  35. }