微信小程序之房间管理(设备开关控制),根据房间标识,为每个房间赋值(1,开;2,关)

  1    var t, c;
  2     //定位当前家庭
  3     for (var i = 0; i < homeList.length; i++) {
  4       if (homeList[i].homeId == homeNumberr) {
  5         t = homeList[i];
  6       }
  7     }
  8   var setion=[];
  9         //去重,并把当前下标改为所对应的数值
 10         t.modelNameAll.forEach((vve, veIndex) => {
 11           if (vve.modelequimentDatalist.length > 0) {
 12             vve.modelequimentDatalist.forEach((v, vIndex) => {
 13               vve.modelequimentlist.forEach((vv, vvIndex) => {
 14                 if (v.srcAddr == vv.srcAddr && v.channel == vv.channel) {
 15                   setion.push(vv);
 16                   if (vv.length == 0) { } else {
 17                     vve.modelequimentlist.splice(vvIndex, 1);
 18                     wx.setStorageSync(‘homeList‘, homeList);
 19                   }
 20                 }
 21               })
 22             })
 23           }
 24         })
 25         t.modelNameAll.forEach((vve, veIndex) => {
 26           vve.modelequimentlist.forEach((vv, vvIndex) => {
 27             vv.modeOn.forEach((vvv, vvvIndex) => {
 28               if (vvv == 0) {
 29                 if (veIndex == vvvIndex) {
 30                   vv.modeOn[veIndex] = 2;
 31                   vv.modeOff[veIndex] = 2;
 32                   wx.setStorageSync(‘homeList‘, homeList);
 33                 }}else{
 34               }
 35
 36             })
 37           })
 38         })
 39       }
 40 //数据源(也可以自定义数据)
 41 //已经操作的数据存入modelequipmentDatalist
 42 var selectEquipment_success = [...new Set(selectEquipment)];
 43 //拆分modeOn与modeOff
 44 var result = [],
 45 result_Modeon = [];
 46 //var result_modeOff = [];
 47 let newArr, len = 0;
 48 for (var a = 0; a < selectEquipment_success.length; a++) {
 49 for (var i = 0; i < selectEquipment_success[a].modeOn.length; i++) {
 50 var temp = [];
 51 var temp_modeOff = [];
 52 for (var t = 0; t < selectEquipment_success[a].modeOn.length; t++) {
 53 temp.push(t == i ? selectEquipment_success[a].modeOn[i] : 0);
 54 temp_modeOff.push(t == i ? selectEquipment_success[a].modeOff[i] : 0);
 55 if (t == i) {
 56 var obj = {};
 57 obj.id = len++;
 58 obj.srcAddr = selectEquipment_success[a].srcAddr;
 59 obj.name = selectEquipment_success[a].name;
 60 obj.images = selectEquipment_success[a].images;
 61 obj.channel = selectEquipment_success[a].channel;
 62 obj.switchChecked = selectEquipment_success[a].switchChecked_1;
 63 obj.state = selectEquipment_success[a].state;
 64 obj.selectFalse = selectEquipment_success[a].selectFalse;
 65 obj.selectTrue = selectEquipment_success[a].selectTrue;
 66 obj.checked = selectEquipment_success[a].checked;
 67 temp.map((t) => {
 68 if (t == 0) {} else {
 69 obj.modeOn = temp;
 70 obj.modeOff = temp_modeOff;
 71 }
 72 })
 73 for (var z = 0; z < temp.length; z++) {
 74 if (temp[z] !== 0) {
 75 obj.modeOnn = temp[z];
 76 obj.modeOfff = temp_modeOff[z];
 77 }
 78 }
 79 result_Modeon.push(obj);
 80 }
 81 }
 82 //result.push(temp);
 83 //result_modeOff.push(temp_modeOff);
 84 }
 85 }
 86 //为每个房间匹配相应的数据项(modelNameAll数据格式["id":0,modelequimentDatalist:[],"selectiLall":false])
 87 var ssId = wx.getStorageSync(‘sId‘);
 88 result_Modeon.map((a, aIndex) => {
 89 if (a.modeOn == undefined) {} else {
 90 a.modeOn.map((aa, aaIndex) => {
 91 e.modelNameAll.map((h, hIndex) => {
 92 if (aa !== 0 && aaIndex == hIndex) {
 93 if (sId == ssId) {
 94 h.modelequimentDatalist.push(a);
 95 }
 96 }
 97 })
 98 })
 99 }
100 })

原文地址:https://www.cnblogs.com/yuan-xiaohai/p/12304031.html

时间: 2025-01-07 06:45:38

微信小程序之房间管理(设备开关控制),根据房间标识,为每个房间赋值(1,开;2,关)的相关文章

微信小程序公共组件的引用与控制

思路: 1.在组件wxml文件里实现布局.数据绑定.事件绑定: 2.组件js文件里定义事件,并将文件所有内容作为一个对象export出去:3.在引用的文件引入组件(方式有两种,一个是用include引入,一个是import引入,详情:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/import.html); 4.数据传递.在引用文件对应的js里定义要传递的数据,数据名称与组件wxml文件里的一致: 5.函数映射.在引用文

微信小程序-整理各种小程序源码和资料免费下载

微信小程序整理下载 [小程序源码]微信小程序-车源宝微信版 [小程序源码]小程序-微赞社区(论坛demo) [小程序源码]微信小程序-收支账单 [小程序工具]微信小程序-日历 [小程序源码]小程序-在线聊天功能 [小程序源码]微信小程序-大好商城(新增功能天气查询和2048游戏) [小程序源码]微信小程序-查询号码归属地 [小程序源码]微信小程序-备忘录2 [小程序源码]微信小程序-QQ音乐 [小程序源码]小程序-货币汇率 [小程序源码]微信小程序-大学图书馆 [小程序源码]小程序-积分商城 [

微信小程序学习指南

作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 微信小程序正式公测, 张小龙全面阐述小程序,定档1月9日上线(附90分钟演讲全文) ... 前言:新人第一坑,跳坑指南:修改后,必须保存:ctrl+S: 1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教

微信小程序开发提升效率

http://www.ifanr.com/minapp/790017 微信小程序的 API 实现需要兼顾方方面面,所以仍然使用 callback 写法. 众所周知,Callback-Hell(回调地狱)是传统 JS 语法上的历史问题.但毕竟称手的工具是开发效率的源泉,因此笔者对当前版本的微信小程序 API 做了简单的封装--weapp. 同时,微信小程序框架本身专注于交互和 UI 的实现,并未提供内置的状态管理.如果众多的异步操作都直接在 App 或 Page 中一一实现,相信开发起来会很困难,

微信小程序开发总结(附源代码)

最近公司项目不是很忙,有时间研究研究微信小程序.参考了目前市场上各类答题类的app.小程序等等,做了一款自己的微信答题小程序,包括前端和后端,后端是用node做的.现在已经上线了,名字叫[你问我猜猜猜],大家感兴趣的话可以去试玩一下. 会vue.react, 微信小程序,so easy 如果之前用过vue或者react,直接看看文档上手微信小程序完全没问题.整体开发思路很相似,包括其中的一些语法,基本上都是一样的.或者用美团的mpvue框架,那就根本不用学习小程序的语法了,写起来跟vue一样.但

微信小程序视图层WXML_小程序条件渲染

微信小程序视图层WXML_小程序条件渲染 wx:if 在微信小程序的框架中,我们用wx:if="{{condition}}"来判断微信小程序页面是否需要渲染该代码块: <view wx:if="{{condition}}"> True </view> 也可以用wx:elif和wx:else来添加一个else块: <view wx:if="{{length > 5}}"> 1 </view> &

C#开发微信门户及应用(47) - 整合Web API、微信后台管理及前端微信小程序的应用方案

在微信开发中,我一直强调需要建立一个比较统一的Web API接口体系,以便实现数据的集中化,这样我们在常规的Web业务系统,Winform业务系统.微信应用.微信小程序.APP等方面,都可以直接调用基于JSON数据格式的Web API接口,在我之前的几篇随笔中,对这方面都有一定的介绍,本篇继续这个主题,细致深入的阐述如何在接口和源码的基础上整合Web API.微信后台管理及前端微信小程序的应用方案. 1.基于Web API的微信开发框架 首先我们各个业务模块,都应该围绕着Web API进行展开,

微信小程序通过低功率蓝牙控制单片机上硬件设备

1.软件部分介绍 微信小程序是一种新的应用,用户不需要下载应用只用通过扫二维码或者打开链接就能使用,使用完后不需要卸载,直接关闭就行了.微信在2017年初推出微信小程序开发环境.任何企业,媒体,个人都可以注册开发.是一种全新的 开发模式.微信也因此受到许多程序员的一致好评,尤其是微信小程序的云开发,提供大量数据处理接口,让初学者也可以很快入手.不需要后端数据库的支持,自己一个人就可以开发前端和后台. 微信小程序为蓝牙模块提供了18个API.其中低功率蓝牙9个,传统蓝牙9个.本次设计使用了其中的9

ESA2GJK1DH1K微信小程序篇: 测试微信小程序扫描Air202上面的二维码绑定设备,并通过MQTT控制设备

前言 暂无 实现功能概要 微信小程序通过扫描GPRS上的二维码,绑定GPRS设备.然后使用小程序通过GPRS远程控制开发板上的继电器, 远程显示单片机采集的温湿度数据. 一,硬件程序 硬件程序采用基础篇 https://www.cnblogs.com/yangfengwu/p/11762609.html  的底层硬件程序 该源码已经拷贝到了当前测试目录 二,微信小程序源码 测试准备工作 一,下载单片机程序(请自行下载) 二,打开微信小程序软件,导入本节工程 三,把小程序安装到手机运行 四,调整波