// pages/control/control.js const {postGroup,getGroup,putGroup,delGroup} = require('../../api/group') const {postDevice,getDevice,putDevice,delDevice,getloop,loopSwitchstate} = 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:'', moudule:0, id:0, play:0, }, //回路开 Open(e){ var that = this var moudule = that.data.moudule var id = that.data.id var opens = e.target.dataset.open var loops = that.data.loops if(typeof(loops) == String){ loops = parseInt(loops) } if(opens == 1){ if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R1_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"1",operation:1}) } } else if (opens == 2 && loops >= 2) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R2_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"2",operation:1}) } } else if (opens == 3 && loops >= 3) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R3_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"3",operation:1}) } } else if (opens == 4 && loops >= 4) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R4_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"4",operation:1}) } } else if (opens == 5 && loops >= "5") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R5_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"5",operation:1}) } } else if (opens == 6 && loops >= "6") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R6_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"6",operation:1}) } } else if (opens == 7 && loops >= "7") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R7_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"7",operation:1}) } } else if (opens == 8 && loops >= "8") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R8_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"8",operation:1}) } } else if (opens == 9 && loops >= "9") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R9_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"9",operation:1}) } } else if (opens == 10 && loops >= "10") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R10_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"10",operation:1}) } } else if (opens == 11 && loops >= "11") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R11_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"11",operation:1}) } } else if (opens == 12 && loops >= "12") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{ 'R12_RelayStatus':13,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"12",operation:1}) } } setTimeout(function(){ //旧设备 if(moudule == 0){ var lamp = wx.getStorageSync('lamp') 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')}) } }) } //新设备 else{ var Switchstate = wx.getStorageSync('lamp') loopSwitchstate(id,opens).then(res=>{ if(res.data.code == 0){ var relay = res.data.data if(relay[0].status == 1){ Switchstate[opens - 1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } else{ Switchstate[opens - 1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } } else{ wx.showModal({ title:'错误', content:res.data.msg, showCancel:false }) } }) setTimeout(function(){ wx.setStorageSync('lamp', Switchstate) that.setData({lamp:wx.getStorageSync('lamp')}) },500) } },2000) }, //回路关 Shut(e){ var that = this var moudule = that.data.moudule var id = that.data.id var lamp = wx.getStorageSync('lamp') var shuts = e.target.dataset.shut var loops = that.data.loops if(typeof(loops) == String){ loops = parseInt(loops) } if(shuts == 1){ if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R1_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"1",operation:0}) } } else if (shuts == 2 && loops >= 2) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R2_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"2",operation:0}) } } else if (shuts == 3 && loops >= 3) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R3_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"3",operation:0}) } } else if (shuts == 4 && loops >= 4) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R4_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"4",operation:0}) } } else if (shuts == 5 && loops >= 5) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R5_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"5",operation:0}) } } else if (shuts == 6 && loops >= 6) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R6_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"6",operation:0}) } } else if (shuts == 7 && loops >= 7) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R7_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"7",operation:0}) } } else if (shuts == 8 && loops >= 8) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R8_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"8",operation:0}) } } else if (shuts == 9 && loops >= 9) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R9_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"9",operation:0}) } } else if (shuts == 10 && loops >= 10) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R10_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"10",operation:0}) } } else if (shuts == 11 && loops >= 11) { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R11_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"11",operation:0}) } } else if (shuts == 12 && loops >= "12") { if(moudule == 0){ control.Switch(that.data.deviceId,that.data.deviceKey,{'R12_RelayStatus':12,'Reflash':3}) } else{ control.newSwitch({deviceId:id,relayIds:"12",operation:0}) } } setTimeout(function(){ if(moudule == 0){ 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')}) } }) } else{ var Switchstate = wx.getStorageSync('lamp') loopSwitchstate(id,shuts).then(res=>{ if(res.data.code == 0){ var relay = res.data.data if(relay[0].status == 1){ Switchstate[shuts - 1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } else{ Switchstate[shuts - 1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } } else{ wx.showModal({ title:'错误', content:res.data.msg, showCancel:false }) } }) setTimeout(function(){ wx.setStorageSync('lamp', Switchstate) that.setData({lamp:wx.getStorageSync('lamp')}) },500) } },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} var obj1 = {} postData(that.data.deviceId,that.data.deviceKey,obj).then(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 id = group[d].devices[g].id 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 that.setData({play:0}) } //新设备信息 else{ var circuitNum = group[d].devices[g].circuitNum var circuits = group[d].devices[g].circuits var moudule = group[d].devices[g].module var id = group[d].devices[g].id that.setData({play:1}) } } } } } that.setData({moudule:moudule,id:id,loops:circuitNum}) //灯泡图标缓存 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 combination = control.Refresh() that.setData({loop:combination[0],address:combination[1],lamp:combination[2],size:combination[3],Color:combination[4]}) //.............................. 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{ //重置状态 let combination = control.Refresh() that.setData({loop:combination[0],address:combination[1],lamp:combination[2],size:combination[3],Color:combination[4]}) //.............................. //获取设备在线状态 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++){ 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}) } } else{ wx.showModal({ title: '错误', content: res.data.msg, showCancel:false }) } }) loopSwitchstate(id,'1,2,3,4,5,6,7,8').then(res=>{ if(res.data.code == 0){ var relay = res.data.data for(let e = 0;e < relay.length;e++){ if(relay[e].status == 1){ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } else if(relay[e].status == 0){ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else{ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } } } else{ wx.showModal({ title:'错误', content:res.data.msg, showCancel:false }) } }) setTimeout(function(){ wx.setStorageSync('lamp',lamp) that.setData({lamp:wx.getStorageSync('lamp')}) },2000) } } 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}) 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){ var Groupno = group[index].id//分组id for(let t = 0;t < group[index].devices.length;t++){ if(deviceName == group[index].devices[t].deviceName){ //旧设备信息 if(group[index].devices[t].module == 0){ var id = group[index].devices[t].id var circuitNum = group[index].devices[t].circuitNum var circuits = group[index].devices[t].circuits var deviceId = group[index].devices[t].deviceId var deviceKey = group[index].devices[t].deviceKey var moudule = group[index].devices[t].module that.setData({play:0}) } //新设备信息 else{ var circuitNum = group[index].devices[t].circuitNum var circuits = group[index].devices[t].circuits var moudule = group[index].devices[t].module var id = group[index].devices[t].id that.setData({play:1}) } } } } } that.setData({moudule:moudule,id:id,loops:circuitNum}) //灯泡图标缓存 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 combination = control.Refresh() that.setData({loop:combination[0],address:combination[1],lamp:combination[2],size:combination[3],Color:combination[4]}) //.............................. 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{ //重置状态 let combination = control.Refresh() that.setData({loop:combination[0],address:combination[1],lamp:combination[2],size:combination[3],Color:combination[4]}) //.............................. //获取设备在线状态 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++){ 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}) } } else{ wx.showModal({ title: '错误', content: res.data.msg, showCancel:false }) } }) loopSwitchstate(id,'1,2,3,4,5,6,7,8').then(res=>{ if(res.data.code == 0){ var relay = res.data.data for(let e = 0;e < relay.length;e++){ if(relay[e].status == 1){ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } else if(relay[e].status == 0){ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else{ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } } } else{ wx.showModal({ title:'错误', content:res.data.msg, showCancel:false }) } }) setTimeout(function(){ wx.setStorageSync('lamp',lamp) that.setData({lamp:wx.getStorageSync('lamp')}) },2000) } }, //手动 manual:function(e){ var that = this var deviceId = that.data.deviceId var deviceKey = that.data.deviceKey postData(deviceId,deviceKey,{'ManualStatus':1,'Reflash':3}).then(res => { console.log(res.data) if(res.data.errno == 0){ that.setData({Modecontrol:'手动'}) } else{ wx.showModal({ title:'错误', content:res.data.error, showCancel:false }) } }) }, //自动 automatic:function(e){ var that = this var deviceId = that.data.deviceId var deviceKey = that.data.deviceKey postData(deviceId,deviceKey,{'ManualStatus':1,'Reflash':3}).then(res => { if(res.data.errno == 0){ that.setData({Modecontrol:'自动'}) } else{ wx.showModal({ title:'错误', content:res.data.error, 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 id = group[d].devices[g].id//设备的序号 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 that.setData({play:0}) } //新设备信息 else{ var circuitNum = group[d].devices[g].circuitNum var circuits = group[d].devices[g].circuits var moudule = group[d].devices[g].module var id = group[d].devices[g].id//设备的序号 that.setData({play:1}) } } } } } //用于区分两种设备以及记录回路数量 that.setData({moudule:moudule,id:id,loops:circuitNum}) //灯泡图标缓存 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 combination = control.Refresh() that.setData({loop:combination[0],address:combination[1],lamp:combination[2],size:combination[3],Color:combination[4]}) //.............................. 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{ //重置状态 let combination = control.Refresh() that.setData({loop:combination[0],address:combination[1],lamp:combination[2],size:combination[3],Color:combination[4]}) //.............................. //获取设备在线状态 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++){ 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}) } } else{ wx.showModal({ title: '错误', content: res.data.msg, showCancel:false }) } }) loopSwitchstate(id,'1,2,3,4,5,6,7,8').then(res=>{ if(res.data.code == 0){ var relay = res.data.data for(let e = 0;e < relay.length;e++){ if(relay[e].status == 1){ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' } else if(relay[e].status == 0){ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } else{ lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' } } } else{ wx.showModal({ title:'错误', content:res.data.msg, showCancel:false }) } }) setTimeout(function(){ wx.setStorageSync('lamp',lamp) that.setData({lamp:wx.getStorageSync('lamp')}) },2000) } } else { that.setData({status:'离线',deviceName:[]}) } } } }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })