deviceDetail.vue
2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<template>
<view class="device-detail-page">
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<u-sticky bgColor="#fff"><u-tabs :list="list" :current="currentTab" @click="handleTabClick"></u-tabs></u-sticky>
<view style="margin-top:30rpx;">
<basicInfo v-if="currentTab == 0" :deviceDetail="deviceDetail" />
<realTimeData v-if="currentTab === 1" />
<historyData v-if="currentTab === 2" :keys="keys" />
<alarmHistory v-if="currentTab === 3" />
<commondRecord v-if="currentTab === 4" />
</view>
<f-tabbar></f-tabbar>
</view>
</template>
<script>
import fTabbar from '@/components/module/f-tabbar/f-tabbar';
import basicInfo from './tabDetail/basicInfo.vue';
import realTimeData from './tabDetail/realtimeData.vue';
import alarmHistory from './tabDetail/alarmHistory.vue';
import historyData from './tabDetail/historyData.vue';
import commondRecord from './tabDetail/commondRecord.vue';
import { getDeviceKeys } from './api/index.js';
export default {
components: {
fTabbar,
basicInfo,
realTimeData,
alarmHistory,
historyData,
commondRecord
},
data() {
return {
list: [{ name: '基础信息' }, { name: '实时数据' }, { name: '历史数据' }, { name: '告警记录' }, { name: '命令记录' }],
currentTab: 0,
id: '',
deviceDetail: {},
keys:[]
};
},
async onLoad(options) {
const { id, alarmStatus, lastOnlineTime, tbDeviceId } = options;
const res = await uni.$u.http.get(`/yt/device/${id}`);
this.deviceDetail = { ...res, alarmStatus, lastOnlineTime };
// var socketTask = uni.connectSocket({
// url: 'wss://dev.thingskit.com:8080/api/ws/plugins/telemetry?token=' + uni.getStorageSync('userInfo').isToken, //仅为示例,并非真实接口地址。
// complete: ()=> {}
// });
// uni.onSocketOpen((header)=>{
// console.log('连接成功',header)
// })
// // socketTask.onMessage(function(data) {
// // console.log('收到消息了', data);
// // });
// socketTask.send({
// data: JSON.stringify({
// attrSubCmds: [],
// tsSubCmds: [
// {
// entityType: 'DEVICE',
// entityId: id,
// scope: 'LATEST_TELEMETRY',
// cmdId: 1
// }
// ],
// historyCmds: [],
// entityDataCmds: [],
// entityDataUnsubscribeCmds: [],
// alarmDataCmds: [],
// alarmDataUnsubscribeCmds: [],
// entityCountCmds: [],
// entityCountUnsubscribeCmds: []
// }),
// success() {
// console.log('发送成功了');
// }
// });
const keys = await getDeviceKeys(tbDeviceId);
// 隐藏原生的tabbar'
this.keys = [keys]
uni.hideTabBar();
},
methods: {
handleTabClick({ index }) {
this.currentTab = index;
}
}
};
</script>