63
63
</el-input >
64
64
</el-form-item >
65
65
<el-form-item label =" passwd" >
66
- <el-input v-model =" mqttParams.mqttPassword" readonly type =" password" >
66
+ <el-input v-model =" mqttParams.mqttPassword" readonly : type =" passwordVisible ? 'text' : ' password' " >
67
67
<template #append >
68
+ <el-button @click =" passwordVisible = !passwordVisible" type =" primary" >
69
+ <Icon :icon =" passwordVisible ? 'ph:eye-slash' : 'ph:eye'" />
70
+ </el-button >
68
71
<el-button @click =" copyToClipboard(mqttParams.mqttPassword)" type =" primary" >
69
72
<Icon icon =" ph:copy" />
70
73
</el-button >
@@ -85,13 +88,15 @@ import { DICT_TYPE } from '@/utils/dict'
85
88
import { ProductVO } from ' @/api/iot/product/product'
86
89
import { formatDate } from ' @/utils/formatTime'
87
90
import { DeviceVO } from ' @/api/iot/device/device'
91
+ import { DeviceApi , MqttConnectionParamsVO } from ' @/api/iot/device/device/index'
88
92
89
93
const message = useMessage () // 消息提示
90
94
91
95
const { product, device } = defineProps <{ product: ProductVO ; device: DeviceVO }>() // 定义 Props
92
96
const emit = defineEmits ([' refresh' ]) // 定义 Emits
93
97
94
98
const mqttDialogVisible = ref (false ) // 定义 MQTT 弹框的可见性
99
+ const passwordVisible = ref (false ) // 定义密码可见性状态
95
100
const mqttParams = ref ({
96
101
mqttClientId: ' ' ,
97
102
mqttUsername: ' ' ,
@@ -109,13 +114,21 @@ const copyToClipboard = async (text: string) => {
109
114
}
110
115
111
116
/** 打开 MQTT 参数弹框的方法 */
112
- const openMqttParams = () => {
113
- mqttParams .value = {
114
- mqttClientId: device .mqttClientId || ' N/A' ,
115
- mqttUsername: device .mqttUsername || ' N/A' ,
116
- mqttPassword: device .mqttPassword || ' N/A'
117
+ const openMqttParams = async () => {
118
+ try {
119
+ const res = await DeviceApi .getMqttConnectionParams (device .id )
120
+
121
+ // 根据API响应结构正确获取数据
122
+ mqttParams .value = {
123
+ mqttClientId: res .mqttClientId || ' N/A' ,
124
+ mqttUsername: res .mqttUsername || ' N/A' ,
125
+ mqttPassword: res .mqttPassword || ' N/A'
126
+ }
127
+ mqttDialogVisible .value = true
128
+ } catch (error ) {
129
+ console .error (' 获取MQTT连接参数出错:' , error )
130
+ message .error (' 获取MQTT连接参数失败,请检查网络连接或联系管理员' )
117
131
}
118
- mqttDialogVisible .value = true
119
132
}
120
133
121
134
/** 关闭 MQTT 弹框的方法 */
0 commit comments