index.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import request from '@/config/axios'
  2. //数据桥梁 VO
  3. export interface DataBridgeVO {
  4. id?: number // 桥梁编号
  5. name?: string // 桥梁名称
  6. description?: string // 桥梁描述
  7. status?: number // 桥梁状态
  8. direction?: number // 桥梁方向
  9. type?: number // 桥梁类型
  10. config?:
  11. | HttpConfig
  12. | MqttConfig
  13. | RocketMQConfig
  14. | KafkaMQConfig
  15. | RabbitMQConfig
  16. | RedisStreamMQConfig // 桥梁配置
  17. }
  18. interface Config {
  19. type: string
  20. }
  21. /** HTTP 配置 */
  22. export interface HttpConfig extends Config {
  23. url: string
  24. method: string
  25. headers: Record<string, string>
  26. query: Record<string, string>
  27. body: string
  28. }
  29. /** MQTT 配置 */
  30. export interface MqttConfig extends Config {
  31. url: string
  32. username: string
  33. password: string
  34. clientId: string
  35. topic: string
  36. }
  37. /** RocketMQ 配置 */
  38. export interface RocketMQConfig extends Config {
  39. nameServer: string
  40. accessKey: string
  41. secretKey: string
  42. group: string
  43. topic: string
  44. tags: string
  45. }
  46. /** Kafka 配置 */
  47. export interface KafkaMQConfig extends Config {
  48. bootstrapServers: string
  49. username: string
  50. password: string
  51. ssl: boolean
  52. topic: string
  53. }
  54. /** RabbitMQ 配置 */
  55. export interface RabbitMQConfig extends Config {
  56. host: string
  57. port: number
  58. virtualHost: string
  59. username: string
  60. password: string
  61. exchange: string
  62. routingKey: string
  63. queue: string
  64. }
  65. /** Redis Stream MQ 配置 */
  66. export interface RedisStreamMQConfig extends Config {
  67. host: string
  68. port: number
  69. password: string
  70. database: number
  71. topic: string
  72. }
  73. /** 数据桥梁类型 */
  74. export const IoTDataBridgeConfigType = {
  75. HTTP: '1',
  76. TCP: '2',
  77. WEBSOCKET: '3',
  78. MQTT: '10',
  79. DATABASE: '20',
  80. REDIS_STREAM: '21',
  81. ROCKETMQ: '30',
  82. RABBITMQ: '31',
  83. KAFKA: '32'
  84. } as const
  85. // 数据桥梁 API
  86. export const DataBridgeApi = {
  87. // 查询数据桥梁分页
  88. getDataBridgePage: async (params: any) => {
  89. return await request.get({ url: `/iot/data-bridge/page`, params })
  90. },
  91. // 查询数据桥梁详情
  92. getDataBridge: async (id: number) => {
  93. return await request.get({ url: `/iot/data-bridge/get?id=` + id })
  94. },
  95. // 新增数据桥梁
  96. createDataBridge: async (data: DataBridgeVO) => {
  97. return await request.post({ url: `/iot/data-bridge/create`, data })
  98. },
  99. // 修改数据桥梁
  100. updateDataBridge: async (data: DataBridgeVO) => {
  101. return await request.put({ url: `/iot/data-bridge/update`, data })
  102. },
  103. // 删除数据桥梁
  104. deleteDataBridge: async (id: number) => {
  105. return await request.delete({ url: `/iot/data-bridge/delete?id=` + id })
  106. },
  107. // 导出数据桥梁 Excel
  108. exportDataBridge: async (params) => {
  109. return await request.download({ url: `/iot/data-bridge/export-excel`, params })
  110. }
  111. }