开发物模型1.0插件
weex开发接入步骤说明
- 配置设备物模型1.0的能力定义(这是前提条件)
- 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)}`)
}
})
- 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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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工具