| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- import request from '@/config/axios'
- // IoT 数据流转目的 VO
- export interface DataSinkVO {
- id?: number // 桥梁编号
- name?: string // 桥梁名称
- description?: string // 桥梁描述
- status?: number // 桥梁状态
- direction?: number // 桥梁方向
- type?: number // 桥梁类型
- config?:
- | HttpConfig
- | TcpConfig
- | WebSocketConfig
- | MqttConfig
- | DatabaseConfig
- | RocketMQConfig
- | KafkaMQConfig
- | RabbitMQConfig
- | RedisStreamMQConfig // 桥梁配置
- }
- interface Config {
- type: string
- }
- /** HTTP 配置 */
- export interface HttpConfig extends Config {
- url: string
- method: string
- headers: Record<string, string>
- query: Record<string, string>
- body: string
- }
- /** TCP 配置 */
- export interface TcpConfig extends Config {
- host: string
- port: number
- connectTimeoutMs: number
- readTimeoutMs: number
- ssl: boolean
- sslCertPath: string
- dataFormat: string
- heartbeatIntervalMs: number
- reconnectIntervalMs: number
- maxReconnectAttempts: number
- }
- /** WebSocket 配置 */
- export interface WebSocketConfig extends Config {
- serverUrl: string
- connectTimeoutMs: number
- sendTimeoutMs: number
- heartbeatIntervalMs: number
- heartbeatMessage: string
- subprotocols: string
- customHeaders: string
- verifySslCert: boolean
- dataFormat: string
- reconnectIntervalMs: number
- maxReconnectAttempts: number
- enableCompression: boolean
- sendRetryCount: number
- sendRetryIntervalMs: number
- }
- /** MQTT 配置 */
- export interface MqttConfig extends Config {
- url: string
- username: string
- password: string
- clientId: string
- topic: string
- }
- /** Database 配置 */
- export interface DatabaseConfig extends Config {
- jdbcUrl: string
- username: string
- password: string
- tableName: string
- }
- /** RocketMQ 配置 */
- export interface RocketMQConfig extends Config {
- nameServer: string
- accessKey: string
- secretKey: string
- group: string
- topic: string
- tags: string
- }
- /** Kafka 配置 */
- export interface KafkaMQConfig extends Config {
- bootstrapServers: string
- username: string
- password: string
- ssl: boolean
- topic: string
- }
- /** RabbitMQ 配置 */
- export interface RabbitMQConfig extends Config {
- host: string
- port: number
- virtualHost: string
- username: string
- password: string
- exchange: string
- routingKey: string
- queue: string
- }
- /** Redis Stream MQ 配置 */
- export interface RedisStreamMQConfig extends Config {
- host: string
- port: number
- password: string
- database: number
- topic: string
- }
- /** 数据流转目的类型 */
- export const IotDataSinkTypeEnum = {
- HTTP: 1,
- TCP: 2,
- WEBSOCKET: 3,
- MQTT: 10,
- DATABASE: 20,
- REDIS_STREAM: 21,
- ROCKETMQ: 30,
- RABBITMQ: 31,
- KAFKA: 32
- } as const
- // 数据流转目的 API
- export const DataSinkApi = {
- // 查询数据流转目的分页
- getDataSinkPage: async (params: any) => {
- return await request.get({ url: `/iot/data-sink/page`, params })
- },
- // 查询数据流转目的详情
- getDataSink: async (id: number) => {
- return await request.get({ url: `/iot/data-sink/get?id=` + id })
- },
- // 新增数据流转目的
- createDataSink: async (data: DataSinkVO) => {
- return await request.post({ url: `/iot/data-sink/create`, data })
- },
- // 修改数据流转目的
- updateDataSink: async (data: DataSinkVO) => {
- return await request.put({ url: `/iot/data-sink/update`, data })
- },
- // 删除数据流转目的
- deleteDataSink: async (id: number) => {
- return await request.delete({ url: `/iot/data-sink/delete?id=` + id })
- },
- // 查询数据流转目的(精简)列表
- getDataSinkSimpleList() {
- return request.get({ url: '/iot/data-sink/simple-list' })
- }
- }
|