// pages/system/system.js const { getBasic, getData, postData } = require('../../api/intell') const { getDevice } = require('../../api/device') Page({ /** * 页面的初始数据 */ data: { dates: "", //日期 times: "", //时间 Illuminance: "", //光照度 Firealarmtext: "", //消防报警文字 Firealarmcolor: "", //消防报警颜色 longitude: "", //经度 latitude: "", //纬度 Sunrisetime: "", //日出时间 Sunsettime: "", //日落时间 array: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20' ], //开关延时 index: 0, switchtime: 0, multiItems: [ [], [] ], //经度显示 multiIndex: [0, 0], multiItems2: [ [], [] ], //纬度显示 multiIndex2: [0, 0], Title: "", statu: "false", status: "离线", loops: "", //记录回路数量 Storage: [], //储存发送数据 Modecontrol: "", groupName: [], deviceName: [], groupIndex: 0, deviceIndex: 0, deviceId: '', deviceKey: '', play: 0, }, //开关延时 bindPickerChange: function(e) { this.setData({ index: e.detail.value, }) }, //分组下拉 changegroup: function(e) { wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) var that = this that.setData({ groupIndex: e.detail.value }) wx.setStorageSync('groupIndex', e.detail.value) var groupNames = that.data.groupName[that.data.groupIndex] //选择的分组名称 wx.setStorageSync('groupName', groupNames) //将修改的分组名称放入缓存 //获取设备名称下拉 var group = wx.getStorageSync('group') var deviceName = that.data.deviceName var deviceName = [] for (let i = 0; i < group.length; i++) { if (group[i].groupName == groupNames) { if (group[i].devices != null && group[i].devices.length != 0) { for (let j = 0; j < group[i].devices.length; j++) { deviceName.push(group[i].devices[j].deviceName) } that.setData({ deviceName: deviceName, deviceIndex: 0 }) var deviceNames = that.data.deviceName[that.data.deviceIndex] wx.setStorageSync('deviceName', deviceNames) for (let d = 0; d < group.length; d++) { if (groupNames == group[d].groupName) { var Group = group[d].id for (let g = 0; g < group[d].devices.length; g++) { if (deviceNames == group[d].devices[g].deviceName) { if (group[d].devices[g].module == 0) { that.setData({ play: 0 }) var moudule = group[d].devices[g].module var deviceId = group[d].devices[g].deviceId var deviceKey = group[d].devices[g].deviceKey } else { that.setData({ play: 1 }) var moudule = group[d].devices[g].module var Device = group[d].devices[g].id } } } } } if (moudule == 0) { that.setData({ deviceId: deviceId, deviceKey: deviceKey }) getBasic(deviceId, deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: "在线" }) } else { that.setData({ status: "离线" }) } } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) getData(deviceId, deviceKey).then(res => { if (res.data.errno == 0) { let { data } = res.data for (let i = 0; i < data.length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i].current_value } else if (data[i].id == "RelayCount") { var quantity = data[i].current_value that.setData({ loops: quantity }) } //日期 else if (data[i].id == "SysDate") { var dates = data[i].current_value } //光照度 else if (data[i].id == "lightLuxValue") { var Illuminance = data[i].current_value } //日出时间 else if (data[i].id == "RiseTime") { var Sunrisetime = data[i].current_value } //日落时间 else if (data[i].id == "SetTime") { var Sunsettime = data[i].current_value } //经度 else if (data[i].id == "Longitude") { var longitude = data[i].current_value } //纬度 else if (data[i].id == "Latitude") { var latitude = data[i].current_value } //消防报警 else if (data[i].id == "AlarmState") { var Firealarm = data[i].current_value } //回路数量 else if (data[i].id == "RelayCount") { var loops = data[i].current_value } //开关延时 else if (data[i].id == "DeviceID") { var device = data[i].current_value that.setData({ index: device, switchtime: device }) } } //时间 if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times.substring(1, 3) + ':' + times.substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times.substring(2, 4) + ':' + times.substring(4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates.substring(2, 4) + '-' + dates.substring(4, 6) //日出时间 var c = Sunrisetime.substring(0, 1) + ':' + Sunrisetime.substring(1, 3) //日落时间 var d = Sunsettime.substring(0, 2) + ':' + Sunsettime.substring(2, 4) //经度 var multiIndex = that.data.multiIndex if (longitude.length == 5) { var e = longitude.substring(0, 3) + "," + longitude.substring(3, 5) + "'" multiIndex[0] = parseInt(longitude.substring(0, 3)) multiIndex[1] = parseInt(longitude.substring(3, 5)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 4) { var e = longitude.substring(0, 2) + "," + longitude.substring(2, 4) + "'" multiIndex[0] = parseInt(longitude.substring(0, 2)) multiIndex[1] = parseInt(longitude.substring(2, 4)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 3) { var e = longitude.substring(0, 1) + "," + longitude.substring(1, 3) + "'" multiIndex[0] = parseInt(longitude.substring(0, 1)) multiIndex[1] = parseInt(longitude.substring(1, 3)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 2) { var e = 0 + "," + longitude.substring(0, 2) + "'" multiIndex[0] = 0 multiIndex[1] = parseInt(longitude.substring(0, 2)) that.setData({ multiIndex: multiIndex }) } else { var e = 0 + "," + longitude.substring(0, 1) + "'" multiIndex[0] = 0 multiIndex[1] = parseInt(longitude.substring(0, 1)) that.setData({ multiIndex: multiIndex }) } //纬度 var multiIndex2 = that.data.multiIndex2 if (latitude.length == 5) { var f = latitude.substring(0, 3) + "," + latitude.substring(3, 5) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 3)) multiIndex2[1] = parseInt(latitude.substring(3, 5)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 4) { var f = latitude.substring(0, 2) + "," + latitude.substring(2, 4) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 2)) multiIndex2[1] = parseInt(latitude.substring(2, 4)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 3) { var f = latitude.substring(0, 1) + "," + latitude.substring(1, 3) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 1)) multiIndex2[1] = parseInt(latitude.substring(1, 3)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 2) { var f = 0 + "," + latitude.substring(0, 2) + "'" multiIndex2[0] = 0 multiIndex2[1] = parseInt(latitude.substring(0, 2)) that.setData({ multiIndex2: multiIndex2 }) } else { var f = 0 + "," + latitude.substring(0, 1) + "'" multiIndex2[0] = 0 multiIndex2[1] = parseInt(latitude.substring(0, 1)) that.setData({ multiIndex2: multiIndex2 }) } //光照度 var g = Illuminance //消防报警 if (Firealarm == "0") { that.setData({ Firealarmtext: "正常", Firealarmcolor: "#5cfe03" }) } else { that.setData({ Firealarmtext: "异常", Firealarmcolor: "red" }) } that.setData({ times: a, dates: b, Sunrisetime: c, Sunsettime: d, longitude: e, latitude: f, Illuminance: g, loops: loops, }) } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(deviceId, deviceKey, { "Reflash": 4 }).then(res => { if (res.data.errno == 0) { setTimeout(function() { getData(that.data.deviceId, that.data.deviceKey).then( ever => { if (ever.data.errno == 0) { let { data } = ever.data for (let i = 0; i < data.length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i] .current_value } //日期 else if (data[i].id == "SysDate") { var dates = data[i] .current_value } } if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times.substring(1, 3) + ':' + times.substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times.substring(2, 4) + ':' + times.substring(4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates.substring(2, 4) + '-' + dates.substring(4, 6) that.setData({ times: a, dates: b }) } else { wx.showModal({ title: '错误', content: ever.data.error, showCancel: false }) } }) }, 2000) } else if (res.data.errno == 10) { setTimeout(function() { wx.showModal({ title: '错误', content: '获取时间数据失败,请检查设备是否在线,或者刷新页面', showCancel: false }) }, 2000) } else { setTimeout(function() { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) }, 2000) } }) } else { getDevice(Device, Group).then(res => { if (res.data.code == 0) { if (res.data.data.status == 1) { that.setData({ status: "在线" }) } else { that.setData({ status: "离线" }) } var loops = res.data.data var myDate = new Date(); //年 var year = myDate.getFullYear().toString() year = year.slice(2, 4) //月 var month = myDate.getMonth() + 1 month = month.toString() if (month.length == 1) { month = '0' + month } //日 var date = myDate.getDate() date = date.toString() if (date.length == 1) { date = '0' + date } //小时 var hour = myDate.getHours() hour = hour.toString() if (hour.length == 1) { hour = '0' + hour } //分钟 var minutes = myDate.getMinutes() minutes = minutes.toString() if (minutes.length == 1) { minutes = '0' + minutes } //秒 var seconds = myDate.getSeconds() seconds = seconds.toString() if (seconds.length == 1) { seconds = '0' + seconds } var datas = '20' + year + '-' + month + '-' + date var time = hour + ':' + minutes + ':' + seconds that.setData({ loops: loops.circuitNum, dates: datas, times: time }) } else { wx.showModal({ title: '错误', content: dve.data.msg, showCancel: false }) } }) } } else { that.setData({ status: '离线', deviceName: [] }) wx.setStorageSync('deviceName', '') //清空设备名称缓存 } } } }, //设备下拉 changedevice: function(e) { var that = this wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) that.setData({ deviceIndex: e.detail.value }) var group = wx.getStorageSync('group') var groupNames = that.data.groupName[that.data.groupIndex] var deviceNames = that.data.deviceName[that.data.deviceIndex] wx.setStorageSync('groupName', groupNames) //分组名称 wx.setStorageSync('deviceName', deviceNames) //设备名称 //根据分组名和设备名获取信息 for (let d = 0; d < group.length; d++) { if (groupNames == group[d].groupName) { var Group = group[d].id for (let g = 0; g < group[d].devices.length; g++) { if (deviceNames == group[d].devices[g].deviceName) { if (group[d].devices[g].module == 0) { that.setData({ play: 0 }) var moudule = group[d].devices[g].module var deviceId = group[d].devices[g].deviceId var deviceKey = group[d].devices[g].deviceKey } else { that.setData({ play: 1 }) var moudule = group[d].devices[g].module var Device = group[d].devices[g].id } } } } } if (moudule == 0) { that.setData({ deviceId: deviceId, deviceKey: deviceKey }) getBasic(deviceId, deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: "在线" }) } else { that.setData({ status: "离线" }) } } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) getData(deviceId, deviceKey).then(res => { if (res.data.errno == 0) { let { data } = res.data for (let i = 0; i < data.length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i].current_value } else if (data[i].id == "RelayCount") { var quantity = data[i].current_value that.setData({ loops: quantity }) } //日期 else if (data[i].id == "SysDate") { var dates = data[i].current_value } //光照度 else if (data[i].id == "lightLuxValue") { var Illuminance = data[i].current_value } //日出时间 else if (data[i].id == "RiseTime") { var Sunrisetime = data[i].current_value } //日落时间 else if (data[i].id == "SetTime") { var Sunsettime = data[i].current_value } //经度 else if (data[i].id == "Longitude") { var longitude = data[i].current_value } //纬度 else if (data[i].id == "Latitude") { var latitude = data[i].current_value } //消防报警 else if (data[i].id == "AlarmState") { var Firealarm = data[i].current_value } //回路数量 else if (data[i].id == "RelayCount") { var loops = data[i].current_value } //开关延时 else if (data[i].id == "DeviceID") { var device = data[i].current_value that.setData({ index: device, switchtime: device }) } } //时间 if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times.substring(1, 3) + ':' + times.substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times.substring(2, 4) + ':' + times .substring(4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates.substring(2, 4) + '-' + dates .substring(4, 6) //日出时间 var c = Sunrisetime.substring(0, 1) + ':' + Sunrisetime.substring(1, 3) //日落时间 var d = Sunsettime.substring(0, 2) + ':' + Sunsettime.substring(2, 4) //经度 var multiIndex = that.data.multiIndex if (longitude.length == 5) { var e = longitude.substring(0, 3) + "," + longitude.substring(3, 5) + "'" multiIndex[0] = parseInt(longitude.substring(0, 3)) multiIndex[1] = parseInt(longitude.substring(3, 5)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 4) { var e = longitude.substring(0, 2) + "," + longitude.substring(2, 4) + "'" multiIndex[0] = parseInt(longitude.substring(0, 2)) multiIndex[1] = parseInt(longitude.substring(2, 4)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 3) { var e = longitude.substring(0, 1) + "," + longitude.substring(1, 3) + "'" multiIndex[0] = parseInt(longitude.substring(0, 1)) multiIndex[1] = parseInt(longitude.substring(1, 3)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 2) { var e = 0 + "," + longitude.substring(0, 2) + "'" multiIndex[0] = 0 multiIndex[1] = parseInt(longitude.substring(0, 2)) that.setData({ multiIndex: multiIndex }) } else { var e = 0 + "," + longitude.substring(0, 1) + "'" multiIndex[0] = 0 multiIndex[1] = parseInt(longitude.substring(0, 1)) that.setData({ multiIndex: multiIndex }) } //纬度 var multiIndex2 = that.data.multiIndex2 if (latitude.length == 5) { var f = latitude.substring(0, 3) + "," + latitude.substring(3, 5) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 3)) multiIndex2[1] = parseInt(latitude.substring(3, 5)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 4) { var f = latitude.substring(0, 2) + "," + latitude.substring(2, 4) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 2)) multiIndex2[1] = parseInt(latitude.substring(2, 4)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 3) { var f = latitude.substring(0, 1) + "," + latitude.substring(1, 3) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 1)) multiIndex2[1] = parseInt(latitude.substring(1, 3)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 2) { var f = 0 + "," + latitude.substring(0, 2) + "'" multiIndex2[0] = 0 multiIndex2[1] = parseInt(latitude.substring(0, 2)) that.setData({ multiIndex2: multiIndex2 }) } else { var f = 0 + "," + latitude.substring(0, 1) + "'" multiIndex2[0] = 0 multiIndex2[1] = parseInt(latitude.substring(0, 1)) that.setData({ multiIndex2: multiIndex2 }) } //光照度 var g = Illuminance //消防报警 if (Firealarm == "0") { that.setData({ Firealarmtext: "正常", Firealarmcolor: "#5cfe03" }) } else { that.setData({ Firealarmtext: "异常", Firealarmcolor: "red" }) } that.setData({ times: a, dates: b, Sunrisetime: c, Sunsettime: d, longitude: e, latitude: f, Illuminance: g, loops: loops, }) } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(deviceId, deviceKey, { "Reflash": 4 }).then(res => { if (res.data.errno == 0) { setTimeout(function() { getData(that.data.deviceId, that.data.deviceKey).then(ever => { if (ever.data.errno == 0) { let { data } = ever.data for (let i = 0; i < data.length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i].current_value } //日期 else if (data[i].id == "SysDate") { var dates = data[i].current_value } } if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times.substring(1, 3) + ':' + times .substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times .substring(2, 4) + ':' + times.substring(4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates .substring(2, 4) + '-' + dates.substring(4, 6) that.setData({ times: a, dates: b }) } else { wx.showModal({ title: '错误', content: ever.data.error, showCancel: false }) } }) }, 2000) } else if (res.data.errno == 10) { setTimeout(function() { wx.showModal({ title: '错误', content: '获取时间数据失败,请检查设备是否在线,或者刷新页面', showCancel: false }) }, 2000) } else { setTimeout(function() { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) }, 2000) } }) } else { getDevice(Device, Group).then(res => { if (res.data.code == 0) { if (res.data.data.status == 1) { that.setData({ status: "在线" }) } else { that.setData({ status: "离线" }) } var loops = res.data.data var myDate = new Date(); //年 var year = myDate.getFullYear().toString() year = year.slice(2, 4) //月 var month = myDate.getMonth() + 1 month = month.toString() if (month.length == 1) { month = '0' + month } //日 var date = myDate.getDate() date = date.toString() if (date.length == 1) { date = '0' + date } //小时 var hour = myDate.getHours() hour = hour.toString() if (hour.length == 1) { hour = '0' + hour } //分钟 var minutes = myDate.getMinutes() minutes = minutes.toString() if (minutes.length == 1) { minutes = '0' + minutes } //秒 var seconds = myDate.getSeconds() seconds = seconds.toString() if (seconds.length == 1) { seconds = '0' + seconds } var datas = '20' + year + '-' + month + '-' + date var time = hour + ':' + minutes + ':' + seconds that.setData({ loops: loops.circuitNum, dates: datas, times: time }) } else { wx.showModal({ title: '错误', content: dve.data.msg, showCancel: false }) } }) } }, //校准时间 Calibrationtime: function() { var that = this var myDate = new Date(); //年 var year = myDate.getFullYear().toString() year = year.slice(2, 4) //月 var month = myDate.getMonth() + 1 month = month.toString() if (month.length == 1) { month = '0' + month } //日 var date = myDate.getDate() date = date.toString() if (date.length == 1) { date = '0' + date } //小时 var hour = myDate.getHours() hour = hour.toString() if (hour.length == 1) { hour = '0' + hour } //分钟 var minutes = myDate.getMinutes() minutes = minutes.toString() if (minutes.length == 1) { minutes = '0' + minutes } //秒 var seconds = myDate.getSeconds() seconds = seconds.toString() if (seconds.length == 1) { seconds = '0' + seconds } var play = that.data.play if (play == 0) { var datas = year + month + date datas = parseInt(datas) var time = hour + minutes + seconds time = parseInt(time) postData(that.data.deviceId, that.data.deviceKey, { "SysTime": time, "SysDate": datas, "Reflash": 4 }).then(res => { if (res.data.errno == 0) { wx.showToast({ title: '校准中', icon: 'loading', duration: 2000 }) setTimeout(function() { getData(that.data.deviceId, that.data.deviceKey).then(ever => { if (ever.data.errno == 0) { let { data } = ever.data for (let i = 0; i < data.length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i].current_value } //日期 else if (data[i].id == "SysDate") { var dates = data[i].current_value } } if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times.substring(1, 3) + ':' + times .substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times .substring(2, 4) + ':' + times.substring(4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates .substring(2, 4) + '-' + dates.substring(4, 6) that.setData({ times: a, dates: b }) } else { wx.showModal({ title: '错误', content: ever.data.error, showCancel: false }) } }) }, 2000) } else if (res.data.errno == 10) { wx.showModal({ title: '错误', content: '校准失败,请检查设备是否处于在线状态,或者刷新页面', showCancel: false }) } else { wx.showModal({ title: '错误', content: 'res.data.error', showCancel: false }) } }) } else if (play == 1) { var datas = '20' + year + '-' + month + '-' + date var time = hour + ':' + minutes + ':' + seconds that.setData({ dates: datas, times: time }) } }, //经度调整 handleMulti(e) { this.setData({ multiIndex: e.detail.value }) }, //纬度调整 handleMulti2(e) { this.setData({ multiIndex2: e.detail.value }) }, //刷新页面 RefreshPage: function() { wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) var that = this var group = wx.getStorageSync('group') if (group != null && group.length != 0) { //获取分组下拉 var groups = [] for (let i = 0; i < group.length; i++) { groups.push(group[i].groupName) } that.setData({ groupName: groups }) //改变分组下标 if (wx.getStorageSync('groupName') != '') { let GroupName = that.data.groupName for (let n = 0; n < GroupName.length; n++) { if (GroupName[n] == wx.getStorageSync('groupName')) { that.setData({ groupIndex: n }) } } } else { wx.setStorageSync('groupName', that.data.groupName[that.data.groupIndex]) } //获取设备下拉 var groupName = that.data.groupName var groupIndex = that.data.groupIndex var device = [] for (let j = 0; j < group.length; j++) { if (groupName[groupIndex] == group[j].groupName) { if (group[j].devices != null && group[j].devices.length != 0) { for (let p = 0; p < group[j].devices.length; p++) { device.push(group[j].devices[p].deviceName) } that.setData({ deviceName: device }) if (wx.getStorageSync('deviceName') != '') { var DeviceName = that.data.deviceName for (let m = 0; m < DeviceName.length; m++) { if (DeviceName[m] == wx.getStorageSync('deviceName')) { that.setData({ deviceIndex: m }) } } } else { wx.setStorageSync('deviceName', that.data.deviceName[that.data.deviceIndex]) } //根据分组名和设备名获取信息 var groupNames = that.data.groupName[that.data.groupIndex] var deviceNames = that.data.deviceName[that.data.deviceIndex] for (let d = 0; d < group.length; d++) { if (groupNames == group[d].groupName) { var Group = group[d].id for (let g = 0; g < group[d].devices.length; g++) { if (deviceNames == group[d].devices[g].deviceName) { if (group[d].devices[g].module == 0) { that.setData({ play: 0 }) var moudule = group[d].devices[g].module var deviceId = group[d].devices[g].deviceId var deviceKey = group[d].devices[g].deviceKey } else { that.setData({ play: 1 }) var moudule = group[d].devices[g].module var Device = group[d].devices[g].id } } } } } if (moudule == 0) { that.setData({ deviceId: deviceId, deviceKey: deviceKey }) getBasic(deviceId, deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: "在线" }) } else { that.setData({ status: "离线" }) } } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) getData(deviceId, deviceKey).then(res => { if (res.data.errno == 0) { let { data } = res.data for (let i = 0; i < data.length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i].current_value } else if (data[i].id == "RelayCount") { var quantity = data[i].current_value that.setData({ loops: quantity }) } //日期 else if (data[i].id == "SysDate") { var dates = data[i].current_value } //光照度 else if (data[i].id == "lightLuxValue") { var Illuminance = data[i].current_value } //日出时间 else if (data[i].id == "RiseTime") { var Sunrisetime = data[i].current_value } //日落时间 else if (data[i].id == "SetTime") { var Sunsettime = data[i].current_value } //经度 else if (data[i].id == "Longitude") { var longitude = data[i].current_value } //纬度 else if (data[i].id == "Latitude") { var latitude = data[i].current_value } //消防报警 else if (data[i].id == "AlarmState") { var Firealarm = data[i].current_value } //回路数量 else if (data[i].id == "RelayCount") { var loops = data[i].current_value } //开关延时 else if (data[i].id == "DeviceID") { var device = data[i].current_value that.setData({ index: device, switchtime: device }) } } //时间 if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times.substring( 1, 3) + ':' + times.substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times.substring(2, 4) + ':' + times.substring(4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates.substring(2, 4) + '-' + dates.substring(4, 6) //日出时间 var c = Sunrisetime.substring(0, 1) + ':' + Sunrisetime .substring(1, 3) //日落时间 var d = Sunsettime.substring(0, 2) + ':' + Sunsettime.substring( 2, 4) //经度 var multiIndex = that.data.multiIndex if (longitude.length == 5) { var e = longitude.substring(0, 3) + "," + longitude .substring(3, 5) + "'" multiIndex[0] = parseInt(longitude.substring(0, 3)) multiIndex[1] = parseInt(longitude.substring(3, 5)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 4) { var e = longitude.substring(0, 2) + "," + longitude .substring(2, 4) + "'" multiIndex[0] = parseInt(longitude.substring(0, 2)) multiIndex[1] = parseInt(longitude.substring(2, 4)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 3) { var e = longitude.substring(0, 1) + "," + longitude .substring(1, 3) + "'" multiIndex[0] = parseInt(longitude.substring(0, 1)) multiIndex[1] = parseInt(longitude.substring(1, 3)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 2) { var e = 0 + "," + longitude.substring(0, 2) + "'" multiIndex[0] = 0 multiIndex[1] = parseInt(longitude.substring(0, 2)) that.setData({ multiIndex: multiIndex }) } else { var e = 0 + "," + longitude.substring(0, 1) + "'" multiIndex[0] = 0 multiIndex[1] = parseInt(longitude.substring(0, 1)) that.setData({ multiIndex: multiIndex }) } //纬度 var multiIndex2 = that.data.multiIndex2 if (latitude.length == 5) { var f = latitude.substring(0, 3) + "," + latitude.substring( 3, 5) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 3)) multiIndex2[1] = parseInt(latitude.substring(3, 5)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 4) { var f = latitude.substring(0, 2) + "," + latitude.substring( 2, 4) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 2)) multiIndex2[1] = parseInt(latitude.substring(2, 4)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 3) { var f = latitude.substring(0, 1) + "," + latitude.substring( 1, 3) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 1)) multiIndex2[1] = parseInt(latitude.substring(1, 3)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 2) { var f = 0 + "," + latitude.substring(0, 2) + "'" multiIndex2[0] = 0 multiIndex2[1] = parseInt(latitude.substring(0, 2)) that.setData({ multiIndex2: multiIndex2 }) } else { var f = 0 + "," + latitude.substring(0, 1) + "'" multiIndex2[0] = 0 multiIndex2[1] = parseInt(latitude.substring(0, 1)) that.setData({ multiIndex2: multiIndex2 }) } //光照度 var g = Illuminance //消防报警 if (Firealarm == "0") { that.setData({ Firealarmtext: "正常", Firealarmcolor: "#5cfe03" }) } else { that.setData({ Firealarmtext: "异常", Firealarmcolor: "red" }) } that.setData({ times: a, dates: b, Sunrisetime: c, Sunsettime: d, longitude: e, latitude: f, Illuminance: g, loops: loops, }) } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(deviceId, deviceKey, { "Reflash": 4 }).then(res => { if (res.data.errno == 0) { setTimeout(function() { getData(that.data.deviceId, that.data.deviceKey) .then(ever => { if (ever.data.errno == 0) { let { data } = ever.data for (let i = 0; i < data .length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i] .current_value } //日期 else if (data[i].id == "SysDate") { var dates = data[i] .current_value } } if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times .substring(1, 3) + ':' + times.substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times.substring(2, 4) + ':' + times.substring( 4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates.substring(2, 4) + '-' + dates.substring(4, 6) that.setData({ times: a, dates: b }) } else { wx.showModal({ title: '错误', content: ever.data .error, showCancel: false }) } }) }, 2000) } else if (res.data.errno == 10) { setTimeout(function() { wx.showModal({ title: '错误', content: '获取时间数据失败,请检查设备是否在线', showCancel: false }) }, 2000) } else { setTimeout(function() { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) }, 2000) } }) } else { getDevice(Device, Group).then(res => { if (res.data.code == 0) { var onlines = res.data.data if (onlines[0].status == 1) { that.setData({ status: "在线" }) } else { that.setData({ status: "离线" }) } var loops = res.data.data var myDate = new Date(); //年 var year = myDate.getFullYear().toString() year = year.slice(2, 4) //月 var month = myDate.getMonth() + 1 month = month.toString() if (month.length == 1) { month = '0' + month } //日 var date = myDate.getDate() date = date.toString() if (date.length == 1) { date = '0' + date } //小时 var hour = myDate.getHours() hour = hour.toString() if (hour.length == 1) { hour = '0' + hour } //分钟 var minutes = myDate.getMinutes() minutes = minutes.toString() if (minutes.length == 1) { minutes = '0' + minutes } //秒 var seconds = myDate.getSeconds() seconds = seconds.toString() if (seconds.length == 1) { seconds = '0' + seconds } var datas = '20' + year + '-' + month + '-' + date var time = hour + ':' + minutes + ':' + seconds that.setData({ loops: loops[0].circuitNum, dates: datas, times: time }) } else { wx.showModal({ title: '错误', content: dve.data.msg, showCancel: false }) } }) } } else { that.setData({ status: '离线', deviceName: [] }) } } } } else { that.setData({ deviceName: [], groupName: [] }) } }, //存储数据 Storedata: function() { var that = this var switchtime = that.data.array[that.data.index] switchtime = parseInt(switchtime) //经度 var longitude var longitude1 = that.data.multiItems[0][that.data.multiIndex[0]] var longitude2 = that.data.multiItems[1][that.data.multiIndex[1]] if (longitude1 == 0) { longitude = longitude2 } else { longitude1 = longitude1 + '' longitude2 = longitude2 + '' if (longitude2.length == 2) { longitude = longitude1 + longitude2 longitude = parseInt(longitude) } else { longitude = longitude1 + '0' + longitude2 longitude = parseInt(longitude) } } //纬度 var latitude var latitude1 = that.data.multiItems2[0][that.data.multiIndex2[0]] var latitude2 = that.data.multiItems2[1][that.data.multiIndex2[1]] if (latitude1 == 0) { latitude = latitude2 } else { latitude1 = latitude1 + '' latitude2 = latitude2 + '' if (latitude2.length == 2) { latitude = latitude1 + latitude2 latitude = parseInt(latitude) } else { latitude = latitude1 + '0' + latitude2 latitude = parseInt(latitude) } } postData(that.data.deviceId, that.data.deviceKey, { "DeviceID": switchtime, "Longitude": longitude, "Latitude": latitude, "Reflash": 0, }).then(res => { if (res.data.errno == 0) { wx.showToast({ title: '存储数据中', icon: 'success', duration: 2000 }) that.setData({ switchtime: switchtime }) } else if (res.data.errno == 10) { wx.showModal({ title: '提示', content: '存储数据失败,请检查设备是否在线或者刷新页面', showCancel: false, }) } else { wx.showModal({ title: '提示', content: res.data.error, showCancel: false, }) } }) }, /** * 生命周期函数--监听页面加载 */ onLoad(options) {}, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { wx.showToast({ title: '刷新数据中', icon: 'loading', duration: 2000 }) var that = this //经度显示 var pt = [ [], [] ] for (let i = 0; i < 180; i++) { pt[0].push(i) } for (let j = 0; j < 59; j++) { pt[1].push(j) } that.setData({ multiItems: pt }) //纬度显示 var pt1 = [ [], [] ] for (let i = 0; i < 180; i++) { pt1[0].push(i) } for (let j = 0; j < 59; j++) { pt1[1].push(j) } that.setData({ multiItems2: pt }) var group = wx.getStorageSync('group') if (group != null && group.length != 0) { //获取分组下拉 var groups = [] for (let i = 0; i < group.length; i++) { groups.push(group[i].groupName) } that.setData({ groupName: groups }) //改变分组下标 if (wx.getStorageSync('groupName') != '') { let GroupName = that.data.groupName for (let n = 0; n < GroupName.length; n++) { if (GroupName[n] == wx.getStorageSync('groupName')) { that.setData({ groupIndex: n }) } } } else { that.setData({ groupIndex: 0 }) wx.setStorageSync('groupName', that.data.groupName[that.data.groupIndex]) } //获取设备下拉 var groupName = that.data.groupName var groupIndex = that.data.groupIndex var device = [] for (let j = 0; j < group.length; j++) { if (groupName[groupIndex] == group[j].groupName) { if (group[j].devices != null && group[j].devices.length != 0) { for (let p = 0; p < group[j].devices.length; p++) { device.push(group[j].devices[p].deviceName) } that.setData({ deviceName: device }) if (wx.getStorageSync('deviceName') != '') { var DeviceName = that.data.deviceName for (let m = 0; m < DeviceName.length; m++) { if (DeviceName[m] == wx.getStorageSync('deviceName')) { that.setData({ deviceIndex: m }) } } } else { that.setData({ deviceIndex: 0 }) wx.setStorageSync('deviceName', that.data.deviceName[that.data.deviceIndex]) } //根据分组名和设备名获取信息 var groupNames = that.data.groupName[that.data.groupIndex] var deviceNames = that.data.deviceName[that.data.deviceIndex] for (let d = 0; d < group.length; d++) { if (groupNames == group[d].groupName) { var Group = group[d].id for (let g = 0; g < group[d].devices.length; g++) { if (deviceNames == group[d].devices[g].deviceName) { if (group[d].devices[g].module == 0) { that.setData({ play: 0 }) var moudule = group[d].devices[g].module var deviceId = group[d].devices[g].deviceId var deviceKey = group[d].devices[g].deviceKey } else { that.setData({ play: 1 }) var moudule = group[d].devices[g].module var Device = group[d].devices[g].id } } } } } if (moudule == 0) { that.setData({ deviceId: deviceId, deviceKey: deviceKey }) getBasic(deviceId, deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: "在线" }) } else { that.setData({ status: "离线" }) } } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) getData(deviceId, deviceKey).then(res => { if (res.data.errno == 0) { let { data } = res.data for (let i = 0; i < data.length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i].current_value } else if (data[i].id == "RelayCount") { var quantity = data[i].current_value that.setData({ loops: quantity }) } //日期 else if (data[i].id == "SysDate") { var dates = data[i].current_value } //光照度 else if (data[i].id == "lightLuxValue") { var Illuminance = data[i].current_value } //日出时间 else if (data[i].id == "RiseTime") { var Sunrisetime = data[i].current_value } //日落时间 else if (data[i].id == "SetTime") { var Sunsettime = data[i].current_value } //经度 else if (data[i].id == "Longitude") { var longitude = data[i].current_value } //纬度 else if (data[i].id == "Latitude") { var latitude = data[i].current_value } //消防报警 else if (data[i].id == "AlarmState") { var Firealarm = data[i].current_value } //回路数量 else if (data[i].id == "RelayCount") { var loops = data[i].current_value } //开关延时 else if (data[i].id == "DeviceID") { var device = data[i].current_value that.setData({ index: device, switchtime: device }) } } //时间 if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times.substring(1, 3) + ':' + times.substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times.substring(2, 4) + ':' + times.substring(4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates.substring(2, 4) + '-' + dates.substring(4, 6) //日出时间 var c = Sunrisetime.substring(0, 1) + ':' + Sunrisetime.substring(1, 3) //日落时间 var d = Sunsettime.substring(0, 2) + ':' + Sunsettime.substring(2, 4) //经度 var multiIndex = that.data.multiIndex if (longitude.length == 5) { var e = longitude.substring(0, 3) + "," + longitude.substring(3, 5) + "'" multiIndex[0] = parseInt(longitude.substring(0, 3)) multiIndex[1] = parseInt(longitude.substring(3, 5)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 4) { var e = longitude.substring(0, 2) + "," + longitude.substring(2, 4) + "'" multiIndex[0] = parseInt(longitude.substring(0, 2)) multiIndex[1] = parseInt(longitude.substring(2, 4)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 3) { var e = longitude.substring(0, 1) + "," + longitude.substring(1, 3) + "'" multiIndex[0] = parseInt(longitude.substring(0, 1)) multiIndex[1] = parseInt(longitude.substring(1, 3)) that.setData({ multiIndex: multiIndex }) } else if (longitude.length == 2) { var e = 0 + "," + longitude.substring(0, 2) + "'" multiIndex[0] = 0 multiIndex[1] = parseInt(longitude.substring(0, 2)) that.setData({ multiIndex: multiIndex }) } else { var e = 0 + "," + longitude.substring(0, 1) + "'" multiIndex[0] = 0 multiIndex[1] = parseInt(longitude.substring(0, 1)) that.setData({ multiIndex: multiIndex }) } //纬度 var multiIndex2 = that.data.multiIndex2 if (latitude.length == 5) { var f = latitude.substring(0, 3) + "," + latitude.substring(3, 5) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 3)) multiIndex2[1] = parseInt(latitude.substring(3, 5)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 4) { var f = latitude.substring(0, 2) + "," + latitude.substring(2, 4) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 2)) multiIndex2[1] = parseInt(latitude.substring(2, 4)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 3) { var f = latitude.substring(0, 1) + "," + latitude.substring(1, 3) + "'" multiIndex2[0] = parseInt(latitude.substring(0, 1)) multiIndex2[1] = parseInt(latitude.substring(1, 3)) that.setData({ multiIndex2: multiIndex2 }) } else if (latitude.length == 2) { var f = 0 + "," + latitude.substring(0, 2) + "'" multiIndex2[0] = 0 multiIndex2[1] = parseInt(latitude.substring(0, 2)) that.setData({ multiIndex2: multiIndex2 }) } else { var f = 0 + "," + latitude.substring(0, 1) + "'" multiIndex2[0] = 0 multiIndex2[1] = parseInt(latitude.substring(0, 1)) that.setData({ multiIndex2: multiIndex2 }) } //光照度 var g = Illuminance //消防报警 if (Firealarm == "0") { that.setData({ Firealarmtext: "正常", Firealarmcolor: "#5cfe03" }) } else { that.setData({ Firealarmtext: "异常", Firealarmcolor: "red" }) } that.setData({ times: a, dates: b, Sunrisetime: c, Sunsettime: d, longitude: e, latitude: f, Illuminance: g, loops: loops, }) } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(deviceId, deviceKey, { "Reflash": 4 }).then(res => { if (res.data.errno == 0) { setTimeout(function() { getData(that.data.deviceId, that.data.deviceKey).then( ever => { if (ever.data.errno == 0) { let { data } = ever.data for (let i = 0; i < data.length; i++) { //时间 if (data[i].id == "SysTime") { var times = data[i] .current_value } //日期 else if (data[i].id == "SysDate") { var dates = data[i] .current_value } } if (times.length == 5) { var a = "0" + times.substring(0, 1) + ':' + times.substring(1, 3) + ':' + times.substring(3, 5) } else if (times.length == 6) { var a = times.substring(0, 2) + ':' + times.substring(2, 4) + ':' + times.substring(4, 6) } else { a = times } //日期 var b = '20' + dates.substring(0, 2) + '-' + dates.substring(2, 4) + '-' + dates.substring(4, 6) that.setData({ times: a, dates: b }) } else { wx.showModal({ title: '错误', content: ever.data.error, showCancel: false }) } }) }, 2000) } else if (res.data.errno == 10) { setTimeout(function() { wx.showModal({ title: '错误', content: '获取时间数据失败,请检查设备是否在线,或者刷新页面', showCancel: false }) }, 2000) } else { setTimeout(function() { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) }, 2000) } }) } else { getDevice(Device, Group).then(res => { if (res.data.code == 0) { var onlines = res.data.data if (onlines.status == 1) { that.setData({ status: "在线" }) } else { that.setData({ status: "离线" }) } var loops = res.data.data var myDate = new Date(); //年 var year = myDate.getFullYear().toString() year = year.slice(2, 4) //月 var month = myDate.getMonth() + 1 month = month.toString() if (month.length == 1) { month = '0' + month } //日 var date = myDate.getDate() date = date.toString() if (date.length == 1) { date = '0' + date } //小时 var hour = myDate.getHours() hour = hour.toString() if (hour.length == 1) { hour = '0' + hour } //分钟 var minutes = myDate.getMinutes() minutes = minutes.toString() if (minutes.length == 1) { minutes = '0' + minutes } //秒 var seconds = myDate.getSeconds() seconds = seconds.toString() if (seconds.length == 1) { seconds = '0' + seconds } var datas = '20' + year + '-' + month + '-' + date var time = hour + ':' + minutes + ':' + seconds that.setData({ loops: loops.circuitNum, dates: datas, times: time }) } else { wx.showModal({ title: '错误', content: dve.data.msg, showCancel: false }) } }) } } else { that.setData({ status: '离线', deviceName: [] }) } } } } else { that.setData({ deviceName: [], groupName: [], status: '离线' }) } }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })