// pages/control/control.js const {postGroup,getGroup,putGroup,delGroup} = require('../../api/group') const {postDevice,getDevice,putDevice,delDevice,getloop} = require('../../api/device') const {getBasic,getData,postData} = require('../../api/intell') const control = require('../../utils/control') Page({ /** * 页面的初始数据 */ data: { statu:false, status:"离线", Title:"", quantity:"",//回路数量 Color:['#d5dbdf','#d5dbdf','#d5dbdf','#d5dbdf','#d5dbdf','#d5dbdf','#d5dbdf','#d5dbdf','#d5dbdf','#d5dbdf', '#d5dbdf','#d5dbdf'],//字体颜色 Size:["calc(100vw * 16/375)","calc(100vw * 16/375)","calc(100vw * 16/375)","calc(100vw * 16/375)", "calc(100vw * 16/375)","calc(100vw * 16/375)","calc(100vw * 16/375)","calc(100vw * 16/375)", "calc(100vw * 16/375)","calc(100vw * 16/375)","calc(100vw * 16/375)","calc(100vw * 16/375)"],//字体大小 lamp:['https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png', 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'],//灯泡图标 address:["","","","","","","","","","","",""],//修改回路名称图标 loop:['回路1','回路2','回路3','回路4','回路5','回路6','回路7','回路8','回路9','回路10','回路11','回路12'],//回路名称 loops:0,//用于记录回路数量 Loop:[],//用于向回路界面传递回路名称 Modecontrol:"", groupName:[], deviceName:[], groupIndex:0, deviceIndex:0, deviceId:'', deviceKey:'', }, //回路开 Open(e){ var that = this if(e.target.dataset.open == 1){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R1_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 2 && that.data.loops == "2") { control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R2_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 3 && that.data.loops == "3") { control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R3_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 4 && that.data.loops == "4") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R4_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 5 && that.data.loops == "5") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R5_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 6 && that.data.loops == "6") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R6_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 7 && that.data.loops == "7") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R7_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 8 && that.data.loops == "8") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R8_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 9 && that.data.loops == "9") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R9_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 10 && that.data.loops == "10") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R10_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 11 && that.data.loops == "11") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R11_RelayStatus':13,'Reflash':3}) } else if (e.target.dataset.open == 12 && that.data.loops == "12") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R12_RelayStatus':13,'Reflash':3}) } var lamp = wx.getStorageSync('lamp') setTimeout(function(){ getData(that.data.deviceId,that.data.deviceKey).then(bind => { let Bind = bind.data.data if(bind.data.errno == 0){ for(let r1 = 0;r1 < Bind.length;r1++){ if(Bind[r1].id == 'R1_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,0) } else if(Bind[r1].id == 'R2_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,1) } else if(Bind[r1].id == 'R3_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,2) } else if(Bind[r1].id == 'R4_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,3) } else if(Bind[r1].id == 'R5_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,4) } else if(Bind[r1].id == 'R6_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,5) } else if(Bind[r1].id == 'R7_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,6) } else if(Bind[r1].id == 'R8_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,7) } else if(Bind[r1].id == 'R9_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,8) } else if(Bind[r1].id == 'R10_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,9) } else if(Bind[r1].id == 'R11_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,10) } else if(Bind[r1].id == 'R12_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,11) } } wx.setStorageSync('lamp',switchReal) that.setData({lamp:wx.getStorageSync('lamp')}) } }) },2000) }, //回路关 Shut(e){ var that = this var lamp = wx.getStorageSync('lamp') if(e.target.dataset.shut == 1){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R1_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 2 && that.data.loops == "2") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R2_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 3 && that.data.loops == "3") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R3_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 4 && that.data.loops == "4") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R4_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 5 && that.data.loops == "5") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R5_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 6 && that.data.loops == "6") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R6_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 7 && that.data.loops == "7") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R7_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 8 && that.data.loops == "8") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R8_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 9 && that.data.loops == "9") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R9_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 10 && that.data.loops == "10") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R10_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 11 && that.data.loops == "11") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R11_RelayStatus':12,'Reflash':3}) } else if (e.target.dataset.shut == 12 && that.data.loops == "12") { control.Switch(that.data.deviceId,that.data.deviceKey,{'R12_RelayStatus':12,'Reflash':3}) } var lamp = wx.getStorageSync('lamp') setTimeout(function(){ getData(that.data.deviceId,that.data.deviceKey).then(bind => { let Bind = bind.data.data if(bind.data.errno == 0){ for(let r1 = 0;r1 < Bind.length;r1++){ if(Bind[r1].id == 'R1_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,0) } else if(Bind[r1].id == 'R2_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,1) } else if(Bind[r1].id == 'R3_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,2) } else if(Bind[r1].id == 'R4_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,3) } else if(Bind[r1].id == 'R5_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,4) } else if(Bind[r1].id == 'R6_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,5) } else if(Bind[r1].id == 'R7_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,6) } else if(Bind[r1].id == 'R8_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,7) } else if(Bind[r1].id == 'R9_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,8) } else if(Bind[r1].id == 'R10_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,9) } else if(Bind[r1].id == 'R11_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,10) } else if(Bind[r1].id == 'R12_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,11) } } wx.setStorageSync('lamp',switchReal) that.setData({lamp:wx.getStorageSync('lamp')}) } }) },2000) }, //回路名称调整 loopname(e){ var that = this var address = that.data.address//回路名称图标 var loop = that.data.loop//回路名称 var slice//截取数组 var loops = that.data.loops//回路数量 var groupName = that.data.groupName[that.data.groupIndex]//分组名称 var deviceName = that.data.deviceName[that.data.deviceIndex]//设备名称 var token = wx.getStorageSync('token') var group = wx.getStorageSync('group') for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ var deviceid = group[i].devices[j].id var groupid = group[i].devices[j].groupId } } } } //回路1 if (e.target.dataset.loopname == 1) { wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[0] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路2 else if(e.target.dataset.loopname == 2 && address[1] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[1] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路3 else if(e.target.dataset.loopname == 3 && address[2] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[2] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路4 else if(e.target.dataset.loopname == 4 && address[3] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[3] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路5 else if(e.target.dataset.loopname == 5 && address[4] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[4] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路6 else if(e.target.dataset.loopname == 6 && address[5] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[5] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路7 else if(e.target.dataset.loopname == 7 && address[6] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[6] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路8 else if(e.target.dataset.loopname == 8 && address[7] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[7] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路9 else if(e.target.dataset.loopname == 9 && address[8] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[0] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路10 else if(e.target.dataset.loopname == 10 && address[9] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[9] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路11 else if(e.target.dataset.loopname == 11 && address[10] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[10] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } //回路12 else if(e.target.dataset.loopname == 12 && address[11] != ""){ wx.showModal({ title:'修改回路名称', editable:true, placeholderText:'请输入名称', success(res){ if (res.confirm) { if(res.content == ''){ wx.showModal({ title:'提示', content:'请输入名称', showCancel:false }) } else if(res.content.length > 10){ wx.showModal({ title:'提示', content:'回路名称不能大于10个字符', showCancel:false }) } else{ loop[11] = res.content slice = loop.slice(0,loops) slice = slice.toString() wx.request({ url: 'https://cloud.long-chi.com/api/minigrogram/lightcontrol/devices', method:'PUT', header:{'Content-Type': 'application/json','Authorization': token}, data:{ id:deviceid, groupId:groupid, circuits:slice }, success: res =>{ if(res.data.code == 200){ for(let i = 0;i < group.length;i++){ if(groupName == group[i].groupName){ for(let j = 0;j < group[i].devices.length;j++){ if(deviceName == group[i].devices[j].deviceName){ group[i].devices[j].circuits = slice } } } } wx.setStorageSync('group', group) that.setData({loop:loop}) } } }) } } } }) } }, //全开 Fullopen:function(){ var that = this var obj = {'R1_RelayStatus':13,'R2_RelayStatus':13,'R3_RelayStatus':13,'R4_RelayStatus':13, 'R5_RelayStatus':13,'R6_RelayStatus':13,'R7_RelayStatus':13,'R8_RelayStatus':13,'R9_RelayStatus':13, 'R10_RelayStatus':13,'R11_RelayStatus':13,'R12_RelayStatus':13,'Reflash':3} postData(that.data.deviceId,that.data.deviceKey,obj).then(res => { console.log(res) if(res.data.errno == 0){ wx.setStorageSync('lamp', []) var lamp = wx.getStorageSync('lamp') for(let h = 0;h < 12;h++){ lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png") } setTimeout(function(){ getData(that.data.deviceId,that.data.deviceKey).then(bind => { let Bind = bind.data.data if(bind.data.errno == 0){ for(let r1 = 0;r1 < Bind.length;r1++){ if(Bind[r1].id == 'R1_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,0) } else if(Bind[r1].id == 'R2_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,1) } else if(Bind[r1].id == 'R3_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,2) } else if(Bind[r1].id == 'R4_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,3) } else if(Bind[r1].id == 'R5_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,4) } else if(Bind[r1].id == 'R6_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,5) } else if(Bind[r1].id == 'R7_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,6) } else if(Bind[r1].id == 'R8_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,7) } else if(Bind[r1].id == 'R9_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,8) } else if(Bind[r1].id == 'R10_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,9) } else if(Bind[r1].id == 'R11_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,10) } else if(Bind[r1].id == 'R12_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,11) } } wx.setStorageSync('lamp',switchReal) that.setData({lamp:wx.getStorageSync('lamp')}) } }) },2000) } else{ wx.showModal({ title:'错误', content:res.errMsg, showCancel:false }) } }) }, //全关 Allclosed:function(){ var that = this var obj = {'R1_RelayStatus':12,'R2_RelayStatus':12,'R3_RelayStatus':12,'R4_RelayStatus':12, 'R5_RelayStatus':12,'R6_RelayStatus':12,'R7_RelayStatus':12,'R8_RelayStatus':12,'R9_RelayStatus':12, 'R10_RelayStatus':12,'R11_RelayStatus':12,'R12_RelayStatus':12,'Reflash':3} postData(that.data.deviceId,that.data.deviceKey,obj).then(res => { console.log(res) if(res.data.errno == 0){ wx.setStorageSync('lamp', []) var lamp = wx.getStorageSync('lamp') for(let h = 0;h < 12;h++){ lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png") } setTimeout(function(){ getData(that.data.deviceId,that.data.deviceKey).then(bind => { let Bind = bind.data.data if(bind.data.errno == 0){ for(let r1 = 0;r1 < Bind.length;r1++){ if(Bind[r1].id == 'R1_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,0) } else if(Bind[r1].id == 'R2_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,1) } else if(Bind[r1].id == 'R3_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,2) } else if(Bind[r1].id == 'R4_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,3) } else if(Bind[r1].id == 'R5_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,4) } else if(Bind[r1].id == 'R6_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,5) } else if(Bind[r1].id == 'R7_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,6) } else if(Bind[r1].id == 'R8_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,7) } else if(Bind[r1].id == 'R9_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,8) } else if(Bind[r1].id == 'R10_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,9) } else if(Bind[r1].id == 'R11_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,10) } else if(Bind[r1].id == 'R12_RelayStatus'){ var switchReal = control.switchReal(Bind[r1].current_value,lamp,11) } } wx.setStorageSync('lamp',switchReal) that.setData({lamp:wx.getStorageSync('lamp')}) } }) },2000) } else{ wx.showModal({ title:'错误', content:res.errMsg, showCancel:false }) } }) }, //分组下拉 changegroup:function(e){ var that = this that.setData({groupIndex:e.detail.value}) var groupName = that.data.groupName[that.data.groupIndex]//选择的分组名称 wx.setStorageSync('groupName',groupName)//将修改的分组名称放入缓存 //获取设备名称下拉 var group = wx.getStorageSync('group') var deviceName = that.data.deviceName var deviceName = [] for(let i = 0;i < group.length;i++){ if(group[i].groupName == groupName){ if(group[i].devices != null && group[i].devices.length != 0){ wx.showToast({ title:'刷新中', icon:'loading', duration: 2000 }) for(let j = 0;j < group[i].devices.length;j++){ deviceName.push(group[i].devices[j].deviceName) } that.setData({deviceName:deviceName}) var groupNames = that.data.groupName[that.data.groupIndex]//当前分组 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 Groupno = group[d].id//分组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){ var circuitNum = group[d].devices[g].circuitNum var circuits = group[d].devices[g].circuits var deviceId = group[d].devices[g].deviceId var deviceKey = group[d].devices[g].deviceKey var moudule = group[d].devices[g].module } //新设备信息 else{ var circuits = group[d].devices[g].circuits var moudule = group[d].devices[g].module var id = group[d].devices[g].id } } } } } //灯泡图标缓存 wx.setStorageSync('lamp', []) var lamp = wx.getStorageSync('lamp') for(let h = 0;h < 12;h++){ lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png") } //旧设备 if(moudule == 0){ //重置状态 let loopName = []//回路名称 let loopIcon = []//回路图标 let switchState = []//开关状态 let size = []//字体大小 let fontColor = []//字体颜色 for(let p = 0;p < 12;p++){ loopName.push('回路' + (p+1)) loopIcon.push('') switchState.push('https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png') size.push('calc(100vw * 16/375)') fontColor.push('#d5dbdf') } that.setData({ loop, }) //.............................. that.setData({deviceId:deviceId,deviceKey:deviceKey}) var Circuits = circuits.split(',') let loop = that.data.loop for(let vr = 0;vr < circuitNum;vr++){ loop[vr] = Circuits[vr] } that.setData({loop:loop}) postData(deviceId,deviceKey,{"Reflash":3}).then(res=>{ if(res.data.errno == 0){ setTimeout(function(){ getBasic(deviceId,deviceKey).then(ever=>{ if(ever.data.errno == 0){ if (ever.data.data.online == true) { that.setData({status:"在线"}) } else{ that.setData({status:"离线"}) } getData(deviceId,deviceKey).then(ver =>{ if(ver.data.errno == 0){ let data = ver.data.data for(let i = 0;i < data.length;i++){ if (data[i].id == "RelayCount") { var quantity = data[i].current_value that.setData({loops:quantity}) } else if(data[i].id == "ManualStatus"){ if(data[i].current_value == 0){ that.setData({Modecontrol:"自动"}) } else{ that.setData({Modecontrol:"手动"}) } } //回路1 else if(data[i].id == 'R1_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,0) } else if(data[i].id == 'R2_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,1) } else if(data[i].id == 'R3_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,2) } else if(data[i].id == 'R4_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,3) } else if(data[i].id == 'R5_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,4) } else if(data[i].id == 'R6_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,5) } else if(data[i].id == 'R7_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,6) } else if(data[i].id == 'R8_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,7) } else if(data[i].id == 'R9_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,8) } else if(data[i].id == 'R10_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,9) } else if(data[i].id == 'R11_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,10) } else if(data[i].id == 'R12_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,11) } wx.setStorageSync('lamp', lamps) that.setData({lamp:wx.getStorageSync('lamp')}) } for (let i = 0;i < quantity; i++) { var Loop = that.data.Loop var color = that.data.Color var size = that.data.Size var Address = that.data.address Loop[i] = that.data.loop[i] color[i] = "black" size[i] = "calc(100vw * 16/375)", Address[i] = "/image/modify.png" that.setData({ Color:color, Size:size, address:Address, Loop:Loop }) } } else{ wx.showModal({ title:'错误', content:ever.data.error, showCancel:false }) } }) } else{ wx.showModal({ title:'错误', content:ever.data.error, showCancel:false }) } }) },2000) } else{ wx.showModal({ title:'错误', content:res.data.error, showCancel:false }) } }) } //新设备 else{ //获取设备在线状态 getDevice(id,Groupno).then(dve =>{ if(dve.data.code == 0){ var state = dve.data.data switch(state[0].status){ case 0: that.setData({status:'离线'}) break; case 1: that.setData({status:'在线'}) break; } } else{ wx.showModal({ title: '错误', content: dve.data.msg, showCancel:false }) } }) var Circuits = circuits.split(',') let loop = that.data.loop for(let vr = 0;vr < circuitNum;vr++){ loop[vr] = Circuits[vr] } that.setData({loop:loop}) getloop(id).then(res =>{ if(res.data.code == 0){ let loopState = res.data.data //loopState.length可以视为回路数量 for(let n = 0;n < loopState.length;n++){ if(loopState[n].status == 1){ lamp[n] = "https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png" } else{ lamp[n] = "https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png" } var Loop = that.data.Loop var color = that.data.Color var size = that.data.Size var Address = that.data.address Loop[n] = that.data.Loop[n] color[n] = "black" size[n] = "calc(100vw * 16/375)", Address[n] = "/image/modify.png" that.setData({Color:color,Size:size,address:Address,Loop:Loop}) } wx.setStorageSync('lamp', lamp) that.setData({lamp:lamp}) } else{ wx.showModal({ title: '错误', content: res.data.msg, showCancel:false }) } }) } } else{ console.log('主页分组下拉到没有设备的工程') wx.showModal({ title:'提示', content:'工程中不存在设备', showCancel:false }) that.setData({status:'离线'}) wx.setStorageSync('deviceName','')//清空设备名称缓存 } } } }, //设备下拉 changedevice:function(e){ wx.showToast({ title:'刷新中', icon:'loading', duration: 2000 }) var that = this that.setData({ deviceIndex:e.detail.value }) wx.setStorageSync('lamp',[]) var lamp = wx.getStorageSync('lamp') for(let h = 0;h < 12;h++){ lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png") } var group = wx.getStorageSync('group') var groupName = that.data.groupName[that.data.groupIndex] var deviceName = that.data.deviceName[that.data.deviceIndex] wx.setStorageSync('groupName', groupName)//分组名称 wx.setStorageSync('deviceName', deviceName)//设备名称 for (let index = 0; index < group.length; index++) { if(groupName == group[index].groupName){ for(let t = 0;t < group[index].devices.length;t++){ if(deviceName == group[index].devices[t].deviceName){ var deviceId = group[index].devices[t].deviceId var deviceKey = group[index].devices[t].deviceKey var circuitNum = group[index].devices[t].circuitNum var circuits = group[index].devices[t].circuits } } } } var Circuits = circuits.split(',') let loop = that.data.loop for(let vr = 0;vr < circuitNum;vr++){ loop[vr] = Circuits[vr] } that.setData({ deviceId:deviceId, deviceKey:deviceKey, loop:loop }) wx.request({ url: 'https://api.heclouds.com/devices/' + deviceId, method:'GET', header:{"api-key": deviceKey}, success:(res) =>{ if (res.data.data.online == true) { that.setData({ status:"在线" }) } else{ that.setData({ status:"离线" }) } } }) wx.request({ url: 'https://api.heclouds.com/devices/' + deviceId + '/datastreams', header:{"api-key": deviceKey}, method:'GET', success:(res) => { let {data} = res.data for(let i = 0;i < data.length;i++){ if (data[i].id == "RelayCount") { var quantity = data[i].current_value } else if(data[i].id == "ManualStatus"){ if(data[i].current_value == 0){ that.setData({ Modecontrol:"自动" }) } else{ that.setData({ Modecontrol:"手动" }) } } //回路1 else if(data[i].id == 'R1_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[0] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[0] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路2 else if(data[i].id == 'R2_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路3 else if(data[i].id == 'R3_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[2] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[2] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路4 else if(data[i].id == 'R4_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[3] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[3] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路5 else if(data[i].id == 'R5_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[4] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[4] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路6 else if(data[i].id == 'R6_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[5] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[5] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路7 else if(data[i].id == 'R7_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[6] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[6] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路8 else if(data[i].id == 'R8_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[7] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[7] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路9 else if(data[i].id == 'R9_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[8] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[8] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路10 else if(data[i].id == 'R10_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[9] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[9] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路11 else if(data[i].id == 'R11_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[10] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[10] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } //回路12 else if(data[i].id == 'R12_RelayStatus'){ var police = data[i].current_value switch(police.length){ case 1: police = '000' + police break; case 2: police = '00' + police break; case 3: police = '0' + police break; default: police = police break; } if(police.substring(2,3) == '0' && police.substring(3,4) == '0'){ lamp[11] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else if(police.substring(2,3) == '0' && police.substring(3,4) == '1'){ lamp[11] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } } } wx.setStorageSync('lamp',lamp) that.setData({ lamp:wx.getStorageSync('lamp') }) for (let i = 0;i < quantity; i++) { var Loop = that.data.Loop var color = that.data.Color var size = that.data.Size var Address = that.data.address Loop[i] = that.data.loop[i] color[i] = "black" size[i] = "calc(100vw * 16/375)", Address[i] = "/image/modify.png" that.setData({ Color:color, Size:size, address:Address, loops:quantity, Loop:Loop }) } } }) }, //手动 manual:function(e){ var that = this var deviceId = that.data.deviceId var deviceKey = that.data.deviceKey wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + deviceId, method:'POST', header:{"api-key": deviceKey}, data:{ 'ManualStatus':1, 'Reflash':3 }, success:res =>{ if(res.statusCode == 200){ that.setData({ Modecontrol:'手动' }) } else{ wx.showModal({ title:'错误', content:res.errMsg, showCancel:false }) } } }) }, //自动 automatic:function(e){ var that = this var deviceId = that.data.deviceId var deviceKey = that.data.deviceKey wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + deviceId, method:'POST', header:{"api-key": deviceKey}, data:{ 'ManualStatus':0, 'Reflash':3 }, success:res =>{ if(res.statusCode == 200){ that.setData({ Modecontrol:'自动' }) } else{ wx.showModal({ title:'错误', content:res.errMsg, showCancel:false }) } } }) }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { wx.showToast({ title:'加载中', icon:'loading', duration: 1500 }) var that = this var group = wx.getStorageSync('group') //获取分组下拉 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{ console.log('添加分组下标') wx.setStorageSync('groupName',that.data.groupName[that.data.groupIndex]) } //获取设备下拉 var device = [] var groupName = that.data.groupName var groupIndex = that.data.groupIndex 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 Groupno = group[d].id//分组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){ var circuitNum = group[d].devices[g].circuitNum var circuits = group[d].devices[g].circuits var deviceId = group[d].devices[g].deviceId var deviceKey = group[d].devices[g].deviceKey var moudule = group[d].devices[g].module } //新设备信息 else{ var circuits = group[d].devices[g].circuits var moudule = group[d].devices[g].module var id = group[d].devices[g].id } } } } } //灯泡图标缓存 wx.setStorageSync('lamp', []) var lamp = wx.getStorageSync('lamp') for(let h = 0;h < 12;h++){ lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png") } //旧设备 if(moudule == 0){ that.setData({deviceId:deviceId,deviceKey:deviceKey}) var Circuits = circuits.split(',') let loop = that.data.loop for(let vr = 0;vr < circuitNum;vr++){ loop[vr] = Circuits[vr] } that.setData({loop:loop}) postData(deviceId,deviceKey,{"Reflash":3}).then(res=>{ if(res.data.errno == 0){ setTimeout(function(){ getBasic(deviceId,deviceKey).then(ever=>{ if(ever.data.errno == 0){ if (ever.data.data.online == true) { that.setData({status:"在线"}) } else{ that.setData({status:"离线"}) } getData(deviceId,deviceKey).then(ver =>{ if(ver.data.errno == 0){ let data = ver.data.data for(let i = 0;i < data.length;i++){ if (data[i].id == "RelayCount") { var quantity = data[i].current_value that.setData({loops:quantity}) } else if(data[i].id == "ManualStatus"){ if(data[i].current_value == 0){ that.setData({Modecontrol:"自动"}) } else{ that.setData({Modecontrol:"手动"}) } } //回路1 else if(data[i].id == 'R1_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,0) } else if(data[i].id == 'R2_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,1) } else if(data[i].id == 'R3_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,2) } else if(data[i].id == 'R4_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,3) } else if(data[i].id == 'R5_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,4) } else if(data[i].id == 'R6_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,5) } else if(data[i].id == 'R7_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,6) } else if(data[i].id == 'R8_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,7) } else if(data[i].id == 'R9_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,8) } else if(data[i].id == 'R10_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,9) } else if(data[i].id == 'R11_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,10) } else if(data[i].id == 'R12_RelayStatus'){ let police = data[i].current_value var lamps = control.switchReal(police,lamp,11) } wx.setStorageSync('lamp', lamps) that.setData({lamp:wx.getStorageSync('lamp')}) } for (let i = 0;i < quantity; i++) { var Loop = that.data.Loop var color = that.data.Color var size = that.data.Size var Address = that.data.address Loop[i] = that.data.loop[i] color[i] = "black" size[i] = "calc(100vw * 16/375)", Address[i] = "/image/modify.png" that.setData({ Color:color, Size:size, address:Address, Loop:Loop }) } } else{ wx.showModal({ title:'错误', content:ever.data.error, showCancel:false }) } }) } else{ wx.showModal({ title:'错误', content:ever.data.error, showCancel:false }) } }) },2000) } else{ wx.showModal({ title:'错误', content:res.data.error, showCancel:false }) } }) } //新设备 else{ //获取设备在线状态 getDevice(id,Groupno).then(dve =>{ if(dve.data.code == 0){ var state = dve.data.data switch(state[0].status){ case 0: that.setData({status:'离线'}) break; case 1: that.setData({status:'在线'}) break; } } else{ wx.showModal({ title: '错误', content: dve.data.msg, showCancel:false }) } }) var Circuits = circuits.split(',') let loop = that.data.loop for(let vr = 0;vr < circuitNum;vr++){ loop[vr] = Circuits[vr] } that.setData({loop:loop}) getloop(id).then(res =>{ if(res.data.code == 0){ let loopState = res.data.data //loopState.length可以视为回路数量 for(let n = 0;n < loopState.length;n++){ if(loopState[n].status == 1){ lamp[n] = "https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png" } else{ lamp[n] = "https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png" } var Loop = that.data.Loop var color = that.data.Color var size = that.data.Size var Address = that.data.address Loop[n] = that.data.Loop[n] color[n] = "black" size[n] = "calc(100vw * 16/375)", Address[n] = "/image/modify.png" that.setData({Color:color,Size:size,address:Address,Loop:Loop}) } wx.setStorageSync('lamp', lamp) that.setData({lamp:lamp}) } else{ wx.showModal({ title: '错误', content: res.data.msg, showCancel:false }) } }) } } else { that.setData({status:'离线',deviceName:[]}) } } } }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })