index.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. import request from '@/config/axios'
  2. // IoT 数据桥梁 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. // IoT 数据桥梁 API
  74. export const DataBridgeApi = {
  75. // 查询IoT 数据桥梁分页
  76. getDataBridgePage: async (params: any) => {
  77. return await request.get({ url: `/iot/data-bridge/page`, params })
  78. },
  79. // 查询IoT 数据桥梁详情
  80. getDataBridge: async (id: number) => {
  81. return await request.get({ url: `/iot/data-bridge/get?id=` + id })
  82. },
  83. // 新增IoT 数据桥梁
  84. createDataBridge: async (data: DataBridgeVO) => {
  85. return await request.post({ url: `/iot/data-bridge/create`, data })
  86. },
  87. // 修改IoT 数据桥梁
  88. updateDataBridge: async (data: DataBridgeVO) => {
  89. return await request.put({ url: `/iot/data-bridge/update`, data })
  90. },
  91. // 删除IoT 数据桥梁
  92. deleteDataBridge: async (id: number) => {
  93. return await request.delete({ url: `/iot/data-bridge/delete?id=` + id })
  94. },
  95. // 导出IoT 数据桥梁 Excel
  96. exportDataBridge: async (params) => {
  97. return await request.download({ url: `/iot/data-bridge/export-excel`, params })
  98. }
  99. }