调整台账
This commit is contained in:
@@ -746,26 +746,28 @@ const mqttMessage = ref<any>({})
|
||||
const status: any = ref()
|
||||
function parseStringToObject(str: string) {
|
||||
const content = str.replace(/^{|}$/g, '')
|
||||
const pairs = content.split(',')
|
||||
const result: any = {}
|
||||
pairs.forEach(pair => {
|
||||
const [key, value] = pair.split(':')
|
||||
// 尝试将数字转换为Number类型
|
||||
result[key.trim()] = isNaN(Number(value)) ? value.trim() : Number(value)
|
||||
})
|
||||
|
||||
// 正则匹配:key:value 格式,支持 value 里带 : / 等字符
|
||||
const regex = /([^,:]+):([^,]+)(?=,|$)/g
|
||||
let match
|
||||
|
||||
while ((match = regex.exec(content)) !== null) {
|
||||
const key = match[1].trim()
|
||||
const value = match[2].trim()
|
||||
// 数字自动转 Number
|
||||
result[key] = isNaN(Number(value)) ? value : Number(value)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
mqttRef.value.on('message', (topic: any, message: any) => {
|
||||
// console.log('mqtt接收到消息', JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message)))))
|
||||
|
||||
let str = JSON.parse(JSON.stringify(JSON.parse(new TextDecoder().decode(message))))
|
||||
|
||||
let regex = /fileName:(.*?),allStep/
|
||||
let regex1 = /allStep:(.*?),nowStep/
|
||||
let regex2 = /nowStep:(.*?),userId/
|
||||
let regex3 = /userId:(.*?)}/
|
||||
|
||||
mqttMessage.value = parseStringToObject(str)
|
||||
if (adminInfo.id != mqttMessage.value.userId) return
|
||||
|
||||
// console.log("🚀 ~ str.match(regex3)[1]:", str.match(regex3)[1])
|
||||
status.value = parseInt(Number((mqttMessage.value.nowStep / mqttMessage.value.allStep) * 100))
|
||||
fileRef.value.setStatus(mqttMessage.value)
|
||||
|
||||
Reference in New Issue
Block a user