.
This commit is contained in:
parent
4940286f57
commit
7384169e72
8
App.vue
8
App.vue
@ -152,10 +152,10 @@
|
|||||||
},
|
},
|
||||||
//Mqtt消息回调
|
//Mqtt消息回调
|
||||||
mqttMsgHandler(topic, data) {
|
mqttMsgHandler(topic, data) {
|
||||||
// console.error("mqttMsgHandler:", {
|
console.error("mqttMsgHandler:", {
|
||||||
// topic: topic,
|
topic: topic,
|
||||||
// data: JSON.parse(data),
|
data: JSON.parse(data),
|
||||||
// });
|
});
|
||||||
this.dc.handleMessage(topic, JSON.parse(data));
|
this.dc.handleMessage(topic, JSON.parse(data));
|
||||||
this.sendMsgEvent("mqtt", {
|
this.sendMsgEvent("mqtt", {
|
||||||
type: "msg",
|
type: "msg",
|
||||||
|
@ -26,13 +26,15 @@
|
|||||||
<uni-col :span="12">
|
<uni-col :span="12">
|
||||||
<view class="flex-text global-font-size-1">
|
<view class="flex-text global-font-size-1">
|
||||||
<view class="flex-text-one">软/硬件版本:</view>
|
<view class="flex-text-one">软/硬件版本:</view>
|
||||||
<view>{{ item.softVer}} / {{ item.deviceVersion}}</view>
|
<view>{{ dataObj[item.deviceCode]?.sv || item.softVer}} /
|
||||||
|
{{ dataObj[item.deviceCode]?.dv || item.deviceVersion}}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</uni-col>
|
</uni-col>
|
||||||
<uni-col :span="12">
|
<uni-col :span="12">
|
||||||
<view class="flex-text global-font-size-1">
|
<view class="flex-text global-font-size-1">
|
||||||
<view class="flex-text-one">频段:</view>
|
<view class="flex-text-one">频段:</view>
|
||||||
<view>{{ item.rolaFrequency}}</view>
|
<view>{{ dataObj[item.deviceCode]?.lf || item.rolaFrequency}}</view>
|
||||||
</view>
|
</view>
|
||||||
</uni-col>
|
</uni-col>
|
||||||
<uni-col :span="8">
|
<uni-col :span="8">
|
||||||
@ -90,8 +92,9 @@
|
|||||||
return {
|
return {
|
||||||
landId: null,
|
landId: null,
|
||||||
dataList: [],
|
dataList: [],
|
||||||
topics: [],
|
|
||||||
dc: getApp().dc, // 设备控制公共代码
|
dc: getApp().dc, // 设备控制公共代码
|
||||||
|
dataObj: {},
|
||||||
|
topics: [],
|
||||||
rolaFrequency: {
|
rolaFrequency: {
|
||||||
item: null,
|
item: null,
|
||||||
old: null,
|
old: null,
|
||||||
@ -117,6 +120,32 @@
|
|||||||
list.push(lfObj);
|
list.push(lfObj);
|
||||||
}
|
}
|
||||||
this.rolaFrequency.range = list;
|
this.rolaFrequency.range = list;
|
||||||
|
const that = this;
|
||||||
|
getApp().addMsgEvent("mqtt", "mqtt_devOps_station", function(e) {
|
||||||
|
if (e.type == "state") {
|
||||||
|
// that.mqttConnected = e.connected;
|
||||||
|
} else if (e.type == "msg") {
|
||||||
|
if (e.topic.includes("jsy/iot/deviceConfig/1/")) {
|
||||||
|
const arr = e.topic.split("/");
|
||||||
|
const deviceCode = arr[4];
|
||||||
|
let obj = that.dataObj[deviceCode] || {};
|
||||||
|
if (e.data.type == "gsc") {
|
||||||
|
obj = Object.assign(obj, {
|
||||||
|
dv: e.data.data.dv,
|
||||||
|
sv: e.data.data.sv,
|
||||||
|
lf: e.data.data.lf,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (e.data.type == "lf") {
|
||||||
|
obj = Object.assign(obj, {
|
||||||
|
lf: e.data.data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
that.dataObj[deviceCode] = obj;
|
||||||
|
console.error("this.dataObj:", that.dataObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
onShow() {},
|
onShow() {},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
@ -127,23 +156,15 @@
|
|||||||
queryList(pageNo, pageSize) {
|
queryList(pageNo, pageSize) {
|
||||||
DevOpsApi.getStationList(this.landId).then(res => {
|
DevOpsApi.getStationList(this.landId).then(res => {
|
||||||
console.error("res:", res);
|
console.error("res:", res);
|
||||||
|
|
||||||
// /${productKey}/${deviceName}/user/postConfig
|
|
||||||
this.$refs.paging.completeByTotal(res.rows);
|
this.$refs.paging.completeByTotal(res.rows);
|
||||||
this.mqttSubscribes(res.rows);
|
this.mqttSubscribes(res.rows);
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
mqttSubscribes(rows) {
|
mqttSubscribes(rows) {
|
||||||
if (rows && rows.length) {
|
if (rows && rows.length) {
|
||||||
const shortTopic = [
|
|
||||||
"jsy/iot/deviceConfig/", //频段修改上报
|
|
||||||
]
|
|
||||||
let topic = [];
|
let topic = [];
|
||||||
rows.forEach(item => {
|
rows.forEach(item => {
|
||||||
shortTopic.forEach(i => {
|
topic.push(`jsy/iot/deviceConfig/${item.deviceTypeId}/${item.deviceCode}`);
|
||||||
topic.push(i + `${item.deviceTypeId}/${item.deviceCode}`);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
this.topics = topic;
|
this.topics = topic;
|
||||||
getApp().mqttSubscribes(this.topics);
|
getApp().mqttSubscribes(this.topics);
|
||||||
|
@ -33,13 +33,17 @@
|
|||||||
<uni-col :span="12">
|
<uni-col :span="12">
|
||||||
<view class="flex-text global-font-size-1">
|
<view class="flex-text global-font-size-1">
|
||||||
<view class="flex-text-one">频段:</view>
|
<view class="flex-text-one">频段:</view>
|
||||||
<view>{{ item.device.deviceExtendValve.rolaFrequency }}</view>
|
<view>
|
||||||
|
{{ dataObj[item.device.deviceCode]?.lf || item.device.deviceExtendValve.rolaFrequency}}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</uni-col>
|
</uni-col>
|
||||||
<uni-col :span="12">
|
<uni-col :span="12">
|
||||||
<view class="flex-text global-font-size-1">
|
<view class="flex-text global-font-size-1">
|
||||||
<view class="flex-text-one">软/硬件版本:</view>
|
<view class="flex-text-one">软/硬件版本:</view>
|
||||||
<view>{{ item.device.softVer || '-'}} / {{ item.device.deviceVersion || '-' }}</view>
|
<view>{{ dataObj[item.device.deviceCode]?.sv || item.device.softVer}} /
|
||||||
|
{{ dataObj[item.device.deviceCode]?.dv || item.device.deviceVersion }}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</uni-col>
|
</uni-col>
|
||||||
<uni-col :span="12">
|
<uni-col :span="12">
|
||||||
@ -100,6 +104,8 @@
|
|||||||
},
|
},
|
||||||
dataList: [],
|
dataList: [],
|
||||||
dc: getApp().dc, // 设备控制公共代码
|
dc: getApp().dc, // 设备控制公共代码
|
||||||
|
dataObj: {},
|
||||||
|
topics: [],
|
||||||
rolaFrequency: {
|
rolaFrequency: {
|
||||||
item: null,
|
item: null,
|
||||||
old: null,
|
old: null,
|
||||||
@ -131,15 +137,64 @@
|
|||||||
list.push(lfObj);
|
list.push(lfObj);
|
||||||
}
|
}
|
||||||
this.rolaFrequency.range = list;
|
this.rolaFrequency.range = list;
|
||||||
|
const that = this;
|
||||||
|
getApp().addMsgEvent("mqtt", "mqtt_devOps_valve", function(e) {
|
||||||
|
if (e.type == "state") {
|
||||||
|
// that.mqttConnected = e.connected;
|
||||||
|
} else if (e.type == "msg") {
|
||||||
|
if (e.topic.includes("jsy/iot/deviceConfig/2/") || e.topic.includes(
|
||||||
|
"jsy/iot/deviceConfig/13/")) {
|
||||||
|
const arr = e.topic.split("/");
|
||||||
|
const deviceCode = arr[4];
|
||||||
|
let obj = that.dataObj[deviceCode] || {};
|
||||||
|
if (e.data.type == "gvc") {
|
||||||
|
obj = Object.assign(obj, {
|
||||||
|
dv: e.data.data.dv,
|
||||||
|
sv: e.data.data.sv,
|
||||||
|
lf: e.data.data.lf,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
that.dataObj[deviceCode] = obj;
|
||||||
|
console.error("this.dataObj:", that.dataObj);
|
||||||
|
}
|
||||||
|
if (e.topic.includes("jsy/iot/valveUpdateLoraRes/")) {
|
||||||
|
const arr = e.topic.split("/");
|
||||||
|
const deviceCode = arr[3];
|
||||||
|
let obj = that.dataObj[deviceCode] || {};
|
||||||
|
if (e.data.type == "vlf" && e.data.res == 1) {
|
||||||
|
obj = Object.assign(obj, {
|
||||||
|
lf: e.data.data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
that.dataObj[deviceCode] = obj;
|
||||||
|
console.error("this.dataObj:", that.dataObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
onShow() {},
|
onShow() {},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
|
onUnload() {
|
||||||
|
getApp().mqttUnsubscribes(this.topics);
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
queryList(pageNo, pageSize) {
|
queryList(pageNo, pageSize) {
|
||||||
DevOpsApi.getStationValvelist(this.queryParams.landId, this.queryParams.stationId).then(res => {
|
DevOpsApi.getStationValvelist(this.queryParams.landId, this.queryParams.stationId).then(res => {
|
||||||
this.$refs.paging.completeByTotal(res.rows);
|
this.$refs.paging.completeByTotal(res.rows);
|
||||||
|
this.mqttSubscribes(res.rows);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
mqttSubscribes(rows) {
|
||||||
|
if (rows && rows.length) {
|
||||||
|
let topic = [];
|
||||||
|
rows.forEach(item => {
|
||||||
|
topic.push(`jsy/iot/deviceConfig/${item.device.deviceTypeId}/${item.device.deviceCode}`);//获取配置
|
||||||
|
topic.push(`jsy/iot/valveUpdateLoraRes/${item.device.deviceCode}`);//修改频段
|
||||||
|
});
|
||||||
|
this.topics = topic;
|
||||||
|
getApp().mqttSubscribes(this.topics);
|
||||||
|
}
|
||||||
|
},
|
||||||
// 重启
|
// 重启
|
||||||
restart(item) {
|
restart(item) {
|
||||||
console.error("重启:", item);
|
console.error("重启:", item);
|
||||||
|
@ -807,6 +807,9 @@ class deviceControl {
|
|||||||
* @param {Object} data
|
* @param {Object} data
|
||||||
*/
|
*/
|
||||||
handleMessage(topic, data) {
|
handleMessage(topic, data) {
|
||||||
|
if(!topic.includes("jsy/iot/push/")){
|
||||||
|
return;
|
||||||
|
}
|
||||||
const that = this;
|
const that = this;
|
||||||
if (data.time < that.dataObj[data.deviceCode].time) {
|
if (data.time < that.dataObj[data.deviceCode].time) {
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user