奥利奥奶糖 2023-05-06 23:12 采纳率: 25%
浏览 15
已结题

微信小程序怎样下发多个数据

找了好久没有找到或者是我搜索的关键词不对,想问一下怎样将微信小程序输入的上下限数据通过云平台下发到硬件进行范围控制,有没有建议哇,非常感谢解答

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-07 08:50
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7451874
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【微信小程序】微信小程序实现未来一周时间表,时间表中显示时间段和是否可以预约或使用
    • 除此之外, 这篇博客: 微信小程序中针对微信基础库新旧不同版本获取用户手机号的方法中的 6.到此一个完整的微信小程序获取用户手机号的完整实战案例就结束了,如有错误还请各位大佬能指正。欢迎评论区留言咨询或者讨论。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      题外话:欢迎大家微信搜索#民谣嗑学家 ,关注我的个人公众号,我是一名爱代码,爱民谣,爱生活的业余吉他爱好者的Java 程序员,致力于向全栈发展的全能程序员。有想跟作者交朋友的可以关注我公众号,获取我的联系方式,我们可以一起学习,一起进步,业余时间可以一起娱乐娱乐,哈哈^_^。

    • 您还可以看一下 田德华老师的小程序·云开发实战 微信朋友圈所有功能课程中的 查看某个用户发布的所有动态小节, 巩固相关知识点
    • 以下回答来自chatgpt:

      对于实现硬件范围控制的问题,需要通过微信小程序云开发平台来实现。

      首先,在微信小程序云开发控制台中创建一个云函数,用于接收传递来的上下限数据,并将数据存储到云数据库中。可以使用以下代码:

      // 云函数入口文件
      const cloud = require('wx-server-sdk')
      cloud.init()
      
      // 数据库操作对象
      const db = cloud.database()
      
      // 云函数入口函数
      exports.main = async (event, context) => {
        try {
          // 读取传递过来的上下限数据
          const { deviceId, upperLimit, lowerLimit } = event
      
          // 将数据插入到数据库中
          await db.collection('device').add({
            data: {
              deviceId,
              upperLimit,
              lowerLimit
            }
          })
      
          return {
            success: true,
            message: '数据保存成功!'
          }
        } catch (err) {
          console.error('err', err)
      
          return {
            success: false,
            message: '数据保存失败!'
          }
        }
      }
      

      然后,在小程序客户端中编写发送请求到云函数的代码。可以使用以下代码:

      // 发送请求到云函数,保存数据到数据库中
      wx.cloud.callFunction({
        name: 'saveDeviceLimit',
        // 传递上下限数据
        data: {
          deviceId: '123456',
          upperLimit: 80,
          lowerLimit: 20
        },
        success: res => {
          console.log(res)
        },
        fail: err => {
          console.error(err)
        }
      })
      

      需要注意的是,需要在小程序开发者工具中开启云开发,并在小程序客户端中授权访问云数据库。

      最后,在小程序客户端中通过监听实际硬件数值变化,并与上下限进行比较的方式,来实现硬件的范围控制。可以使用以下代码:

      // 实现硬件范围控制
      wx.onSocketMessage(res => {
        const data = JSON.parse(res.data)
        const { value } = data
      
        // 读取数据库中的上下限数据
        wx.cloud.callFunction({
          name: 'getDeviceLimit',
          data: {
            deviceId: '123456'
          },
          success: res => {
            const { upperLimit, lowerLimit } = res.result.data
      
            // 比较实际数值与上下限
            if (value > upperLimit) {
              // 超过上限,执行控制操作
              console.log('超过上限,执行控制操作')
            } else if (value < lowerLimit) {
              // 低于下限,执行控制操作
              console.log('低于下限,执行控制操作')
            }
          },
          fail: err => {
            console.error(err)
          }
        })
      })
      

      需要注意的是,需要在云函数中编写获取数据库中上下限数据的代码,并将其返回给小程序客户端。可以使用以下代码:

      // 云函数入口文件
      const cloud = require('wx-server-sdk')
      cloud.init()
      
      // 数据库操作对象
      const db = cloud.database()
      
      // 云函数入口函数
      exports.main = async (event, context) => {
        try {
          // 读取传递过来的设备 ID
          const { deviceId } = event
      
          // 查询数据库中的上下限数据
          const { data } = await db.collection('device').where({
            deviceId
          }).get()
      
          return {
            success: true,
            data: data[0]
          }
        } catch (err) {
          console.error('err', err)
      
          return {
            success: false,
            message: '数据查询失败!'
          }
        }
      }
      

      这样就可以实现在小程序中通过云平台下发多个上下限数据以实现硬件范围控制了。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月16日
  • 已采纳回答 5月8日
  • 创建了问题 5月6日

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程