腾讯物联网项目完结篇(添加微信小程序)


title: 腾讯物联网项目完结篇(添加微信小程序)
tags: TencentOS
date: 2019-10-05 21:53:00


拖更日记

这是拖更了大概一个多月的视频,主要记录一下上次参加腾讯OS内测项目的完结篇

我个人是一个具有重度拖延症的一个人,所以8月份参加了比赛,当时也取得了二等奖的成绩,但是其实最终的产品还未完成,心里一直有疑虑,这不赶着国庆节假期,终于有时间作了最后的完善—》添加微信小程序


在这里插入图片描述
在这里插入图片描述

部分代码参考网上的教程,具体通讯部分由自己编写设计
在这里插入图片描述


视频演示: https://www.bilibili.com/video/av70107007/




而且其中还遇到了一些问题,尤其是json解析的时候:

这个问题我卡了很久,JSON.parse这个api很挑剔,首先我发的json数据在腾讯云是可以正常识别的,但是发给微信小程序就识别不了了,不是为啥,最后我测试了一个多小时,最后发现,这货对于json字符串有极其严格的要求,由于我发的数据上面结尾有空格,导致了最终的解析失败,这也是我手动赋值消息却可以正常解析的原因。
最后的解决方法: 用正则表达式把数据截取出来,再用json解析出来。 OJBK


MessageProcess: function(topic, payload) {
    var that = this;

    var payload_string = payload.toString();
    console.log(topic);
    if (topic == that.data.topic.HumdTopic) {
      var msg_payload = payload_string.match(/(\S*)}/)[1];
      msg_payload +="}"
      console.log(payload_string + "数据类型为:" + typeof (payload_string) + "长度:" + payload_string.length);
      //var test_buffer = '{"temperature":26.9,"humidity":48.7,"light":2.0,"PM25":54.0,"wind_speed":0.0,"door":"close"}';
      //var jsonObj = JSON.parse(test_buffer.toString());
      //console.log(jsonObj);
      var jsonObj = JSON.parse(msg_payload);
      //var jsonObj = JSON.stringify(payload_string)
      console.log(jsonObj.door);
      that.setData({  
        'value.HumdValue': jsonObj.humidity,
        'value.TempValue': jsonObj.temperature, 
        'value.PM25_value': jsonObj.PM25,
        'value.G_value': jsonObj.light,
        'value.F_value': jsonObj.wind_speed
      })
    }
    if (topic == that.data.topic.TempTopic) {
      that.setData({
        
      })
    }

  },

最后的源码和整个工程,可以在QQ群获得:476840321
好好学习,天天向上。

猜你喜欢

转载自blog.csdn.net/switch_love_case/article/details/102175333