随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 80424

开发物模型1.0插件

weex开发接入步骤说明

  1. 配置设备物模型1.0的能力定义(这是前提条件)
  2. weex插件内控制设备,发起物模型1.0设备的操作

注意

以下都是示范URL,具体URL应该要根据操作而定。 接口格式为:/v1/appliance/operation/物模型1.0{actionName}/{applianceCode},actionName为操作的标识,applianceCode为设备code

下面示例中展示了如何进行POST调用来发起设备控制,以操作testpost为例:

    //老框架调用方式
    nativeService.sendCentralCloundRequest('/v1/appliance/operation/testpost/3298544979388', {
        method: 'POST',
        data: {
            workSwitch: true,
            controlSrc: 2,
            menuId: 9
        }
    }).then(res => {
        res = typeof res === 'string' ? JSON.parse(res) : res
        if(res.code == 0){
            nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
        }else{
            nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
        }
    })

    //新框架调用方式
    this.$bridge
        .sendCentralCloundRequest('/v1/appliance/operation/testpost/3298544979388', {
            method: 'POST',
            data: {
                workSwitch: true,
                controlSrc: 2,
                menuId: 9
            }
        }).then(res => {
            res = typeof res === 'string' ? JSON.parse(res) : res
            if(res.code == 0){
                nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
            }else{
                nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
            }
        })

下面示例中展示了如何进行GET调用来发起设备查询,以操作voltageQuery为例:

    //老框架调用方式
    nativeService.sendCentralCloundRequest('/v1/appliance/operation/voltageQuery/3298544979388', {
        method: 'GET',
    }).then(res => {
        res = typeof res === 'string' ? JSON.parse(res) : res
        if(res.code == 0){
            nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
        }else{
            nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
        }
    })

    //新框架调用方式
    this.$bridge
        .sendCentralCloundRequest('/v1/appliance/operation/voltageQuery/3298544979388', {
            method: 'GET',
        }).then(res => {
            res = typeof res === 'string' ? JSON.parse(res) : res
            if(res.code == 0){
                nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
            }else{
                nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
            }
        })

下面示例中展示了如何进行PUT调用来发起设备控制,以操作lowSugarRice为例:

    //老框架调用方式
    nativeService.sendCentralCloundRequest('/v1/appliance/operation/lowSugarRice/3298544979388', {
        method: 'PUT',
        data: {
            workSwitch: true,
            controlSrc: 2,
            menuId: 71
        }
    }).then(res => {
        res = typeof res === 'string' ? JSON.parse(res) : res
        if(res.code == 0){
            nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
        }else{
            nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
        }
    })

    //新框架调用方式
    this.$bridge
        .sendCentralCloundRequest('/v1/appliance/operation/lowSugarRice/3298544979388', {
            method: 'PUT',
            data: {
                workSwitch: true,
                controlSrc: 2,
                menuId: 71
            }
        }).then(res => {
            res = typeof res === 'string' ? JSON.parse(res) : res
            if(res.code == 0){
                nativeService.alert(`指令执行成功,返回结果${JSON.stringify(res)}`)
            }else{
                nativeService.alert(`指令执行失败,返回结果${JSON.stringify(res)}`)
            }
        })
  1. weex插件内监听事件,接受物模型1.0的消息通知
    //老框架监听方式
    const globalEvent = weex.requireModule('globalEvent')
    globalEvent.addEventListener('receiveMessageFromApp', data => {
        //物模型1.0使用此messageType,详细数据在data.messageBody中
        if(data.messageType === 'pushNotificationForwarding'){
            nativeService.alert(`操作数据${JSON.stringify(data.messageBody)}`)
        }
    })

    //新框架监听方式
    this.$bridge.addEventListener('receiveMessageFromApp', data => {
        //物模型1.0使用此messageType,详细数据在data.messageBody中
        if(data.messageType === 'pushNotificationForwarding'){
            nativeService.alert(`操作数据${JSON.stringify(data.messageBody)}`)
        }
    })

注意

物模型1.0事件消息的messageType为pushNotificationForwarding。

#相关文档说明

  1. weex使用发送接口
posted on   AtlasLapetos  阅读(4)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示