// 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, ID:0,//新设备的ID }, //回路开 Open(e) { var that = this var moudule = that.data.moudule var ID = that.data.ID ID = parseInt(ID) var opens = e.target.dataset.open var loops = that.data.loops var status = that.data.status if (typeof (loops) == String) { loops = parseInt(loops) } if (status == '在线') { if (opens == 1) { if (moudule == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R1_RelayStatus': 13, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 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, relayId: 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, relayId: 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, relayId: 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, relayId: 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, relayId: 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, relayId: 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, relayId: 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, relayId: 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, relayId: 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, relayId: 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, relayId: 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).then(res => { if (res.data.code == 0) { var relay = res.data.data if (relay[opens - 1].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) } }, 3000) } else { wx.showModal({ title: '提示', content: '设备处于离线状态', showCancel: false }) } }, //回路关 Shut(e) { var that = this var play = that.data.play var ID = that.data.ID ID = parseInt(ID) var lamp = wx.getStorageSync('lamp') var shuts = e.target.dataset.shut var loops = that.data.loops var status = that.data.status if (typeof (loops) == String) { loops = parseInt(loops) } if (status == '在线') { if (shuts == 1) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R1_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 1, operation: 0 }) } } else if (shuts == 2 && loops >= 2) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R2_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 2, operation: 0 }) } } else if (shuts == 3 && loops >= 3) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R3_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 3, operation: 0 }) } } else if (shuts == 4 && loops >= 4) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R4_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 4, operation: 0 }) } } else if (shuts == 5 && loops >= 5) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R5_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 5, operation: 0 }) } } else if (shuts == 6 && loops >= 6) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R6_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 6, operation: 0 }) } } else if (shuts == 7 && loops >= 7) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R7_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 7, operation: 0 }) } } else if (shuts == 8 && loops >= 8) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R8_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 8, operation: 0 }) } } else if (shuts == 9 && loops >= 9) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R9_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 9, operation: 0 }) } } else if (shuts == 10 && loops >= 10) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R10_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 10, operation: 0 }) } } else if (shuts == 11 && loops >= 11) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R11_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 11, operation: 0 }) } } else if (shuts == 12 && loops >= 12) { if (play == 0) { control.Switch(that.data.deviceId, that.data.deviceKey, { 'R12_RelayStatus': 12, 'Reflash': 3 }) } else { control.newSwitch({ deviceId: ID, relayId: 12, operation: 0 }) } } setTimeout(function () { if (play == 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).then(res => { if (res.data.code == 0) { var relay = res.data.data if (relay[shuts - 1].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) } }, 3000) } else { wx.showModal({ title: '提示', content: '设备处于离线状态', showCancel: false }) } }, //回路名称调整 loopname(e) { var that = this var address = that.data.address //回路名称图标 var loop = that.data.loop //回路名称 var slice //截取数组 var loops = that.data.loops //回路数量 var group = wx.getStorageSync('group') var groupName = that.data.groupName[that.data.groupIndex] //分组名称 var deviceName = that.data.deviceName[that.data.deviceIndex] //设备名称 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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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[8] = res.content slice = loop.slice(0, loops) slice = slice.toString() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } //回路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() putDevice({ id: deviceid, groupId: groupid, circuits: slice }).then(res => { if (res.data.code == 0) { 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 }) } } } } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) } } } }) } }, //全开 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 => { 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.data.error, 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 => { 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.data.error, 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, deviceIndex: 0 }) 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 var ID = group[d].devices[g].deviceId that.setData({ play: 1, ID:ID }) } } } } } 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 => { 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 { //重置状态 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).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: [] }) 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 var ID = group[index].devices[t].deviceId that.setData({ play: 1, ID:ID }) } } } } } 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 => { 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 { //重置状态 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).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 => { 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') if (group != null && group.length != 0) { //获取分组下拉 var groups = [] for (let i = 0; i < group.length; i++) { groups.push(group[i].groupName) } that.setData({ groupName: groups }) //改变分组下标 if (wx.getStorageSync('groupName') != '') { let GroupName = that.data.groupName for (let n = 0; n < GroupName.length; n++) { if (GroupName[n] == wx.getStorageSync('groupName')) { that.setData({ groupIndex: n }) } } } else { wx.setStorageSync('groupName', that.data.groupName[that.data.groupIndex]) } //获取设备下拉 var 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) { console.log(group[d].devices[g]) //旧设备信息 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 //设备的序号 var deviceID = group[d].devices[g].deviceId//设备ID that.setData({ play: 1, ID:deviceID }) } } } } } //用于区分两种设备以及记录回路数量 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 => { setTimeout(function () { getBasic(deviceId, deviceKey).then(ever => { 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 }) } }) }) }, 2000) }) } //新设备 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(deviceID).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(deviceID).then(ret => { if (ret.data.code == 0) { var relay = ret.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: ret.data.msg, showCancel: false }) } }) setTimeout(function () { wx.setStorageSync('lamp', lamp) that.setData({ lamp: wx.getStorageSync('lamp') }) }, 2000) } } else { that.setData({ status: '离线', deviceName: [] }) } } } } else { that.setData({ deviceName: [], groupName: [] }) } }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })